Skip to content

Framework goals

Nicolas Juneau edited this page Feb 2, 2015 · 1 revision

What does Harfang provides, what it doesn't

Harfang sits in the controller part of an MVC architecture. As such, it doesn't provide any specific model-related or view-related functionality. It provides a mean to dispatch HTTP requests to a specific controller and suggests a basic structure to build configurable and modular Web applications (Web sites, Web services...). Harfang could be seen as an alternative to Haxe's built-in Dispatch API.

A little bit of history

Harfang is heavily inspired by Django in the way URLs are defined - they are regular expressions with capture groups that are later sent to controllers. In fact, the project was started a bit because I couldn't find anything similar to Django in the Haxe programming language.

Framework scope and target audience

Harfang shouldn't do much more in the future than what it does right now - configuration and URL dispatching. It is built for the developers who want to kick-start their project with a very basic structure and then grow their application their own way without having to read a book. Harfang itself is a bunch of interfaces that the developer must implement - although there is a default implementation provided, it should be possible for the developer to re-implement the parts in which the default behavior is not satisfactory.

Although Harfang aims to be useful, it doesn't fit everybody's needs - and it shouldn't. If you are in need of a basic structure to start your Web application with or if you are looking for inspiration regarding Web development with Haxe, the framework should help you. If you look for a full-fledged MVC framework that spans all the layers of a Web application, it may not be the one you're looking for. There are a lot of libraries at your disposal - make sure to take a look at the alternatives.