Harfang Web framework

What is Harfang?

Harfang is a Web development framework for Haxe (targeting PHP and Neko). The framework could be seen as an example of how to do a complete Web site using Haxe with PHP or Neko

Releases

* 0.1 (Released 2011-08-22)
* 0.2 (Released 2012-04-20 - Changelog)
* 0.3 (Released on 2012-11-25 - Changelog)
* 0.4 (Released 2013-08-07)
* 0.5 (In development)

Framework goals

What it provides

Harfang sits in the controller part of an MVC architecture - 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...)

It is important to note that there is now a Web dispatcher for Haxe. Harfang doesn't make use of it - it provides a different way of dispatching requests.

How it was built

Maintainability was the main focus of the framework - provide easy to read code and easy to extend functionality. It may not be the "fastest to execute" framework in existence - since it has not been tested on high-traffic Web sites, there is currently no comparison done with other frameworks regarding that aspect.

The way URLs are mapped to controllers is inspired from Django's URL dispatcher - it should appear familiar to those who worked with that framework.

What it doesn't provide

As mentioned above, Harfang sits in the "controller" part of MVC. It dispatches requests to your controllers. It won't define any way of working with the model and view parts of your Web application. This means that choosing SPOD for database access and the Haxe template system for view rendering is entirely up to you. It seemed unnecessary to wrap such tools inside Harfang.

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.

Getting the source

Harfang's code repository is hosted on GitHub (https://github.com/njuneau/Harfang). You can also install the latest release from haxelib (http://lib.haxe.org/p/Harfang).

Getting started

There are a couple of tutorials available - here is one to get started with the framework.
Here is the API documentation (releases 0.3 and 0.4).

version #19626, modified 2013-08-08 02:48:20 by njuneau