Fano Web Framework

Web application framework for modern Pascal programming language.

program app;

uses

    fano,
    myapp;

var
    appInstance : IWebApplication;

begin
    appInstance := TMyApp.create(
        TDependencyContainer.create(TDependencyList.create()),
        TCGIEnvironment.create(),
        TErrorHandler.create()
    );
    appInstance.run();
end.

Feature

Some of available features are:

Routing

Route matching that will call appropriate controller to handle request.

Middlewares

Software layer that is executed before or after actual controller execution.

Dependency Container

Dependency container that manage application dependencies.

MVC

Model View Controller paradigm for better code organization.

Minimal external dependencies

Fano requires minimal external libraries to work. By default, it requires only Free Pascal >= 3.0 compiler and its run-time libraries.

Extensible

Fano aims to be extensible. You can always replace any software components with your own implementation if required.