Fano 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.

Features

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 manages application dependencies.

MVC

Model View Controller paradigm for better code organization. In addition, Fano CLI can helps developer scaffolding MVC web application faster.

Minimal external dependencies

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

Extensible

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