Brook framework

The perfect framework for your web applications!

View the Project on GitHub silvioprog/brookframework

Aww yeah, Brook 4 is coming! :-)

INTRODUCTION

Brook framework is the perfect Free Pascal framework for your web applications. It's pure Pascal. You don't need to leave your preferred programming language.

It's complete: simple actions or configurable actions for database access, advanced routing features, wizard for Lazarus, support for internationalization, high compatibility with JSON structures, easy and elegant REST implementation, plugins for varied needs, extensible and decoupled brokers... In fact, you have several reasons to adopt Brook as your web development framework.

FEATURES

GET STARTED

  If you use Free Pascal only:

Create three files:

In cgi1.lpr, type:

program cgi1;

{$mode objfpc}{$H+}

uses
  BrookApplication, Brokers, Unit1;

begin
  BrookApp.Run;
end.

In unit1.pas, type:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  BrookAction;

type
  TMyAction = class(TBrookAction)
  public
    procedure Get; override;
  end;

implementation

procedure TMyAction.Get;
begin
  Write('Hello world!');
end;

initialization
  TMyAction.Register('*');

end.

In brokers.pas, type:

unit Brokers;

{$mode objfpc}{$H+}

interface

uses
  BrookFCLCGIBroker;

implementation

end. 

Compile the project cgi1.lpr and copy the resulting file to CGI directory of your web server. Now, in your web browser, access the following URL:

http://localhost/cgi-bin/cgi1

  if you are a Lazarus user:

Open and install the file brookex.lpk. After the installation, select File | New ... and, in Brook framework, choose the Simple CGI application option as shown in the figure below:

Brook - New project

Save and compile the project. Copy the resulting file to the CGI directory of your web server and enjoy! See the final result:

Brook - Hello world

PLUGINS

LICENSE

The source code of the Brook framework is distributed under the GNU Lesser General Public License. See the project licence for copyright/license details.

SYSTEM REQUIREMENTS

Free Pascal 3.0.0 or the latest stable version. If you prefer the Lazarus interface, choose the 1.6.0 or the latest stable version.

DOCUMENTATION

The project documentation is available in two formats: HTML and PDF.

DEMOS

If you want to see Brook in action, then take a look a database demo here and a simple chat here.

VERSIONING

For transparency and insight into our release cycle, and for striving to maintain backward compatibility, Brook framework will be maintained under the Semantic Versioning guidelines as much as possible.

Releases will be numbered with the following format:

<major>.<minor>.<release>

And constructed with the following guidelines:

For more information on SemVer, please visit http://semver.org.

SUPPORT, BUGS, CONTACT

Please use the issues page. Your cooperation will be appreciated.

CONTRIBUTORS

Brook would not be possible without important and active contributors. See their names here.

DONORS

Make a donation to the project, it's extremely easy, free, fast and secure!

See the name of all donors here.

DOWNLOAD

You can download the last release here. Alternatively, you can also follow the project's GIT repository. The address is:

git://github.com/silvioprog/brookframework.git

THIRD PARTY

The Brook supports third party solutions and, for these, there is a broker file implementing your features. You can download the package containing all files here.

Welcome to world of Brook! Welcome to the Brook's world!

Creative Commons License