User:Silvioprog/Brook framework

From Wikipedia, the free encyclopedia
Jump to: navigation, search


Brook framework[1] is the perfect Free Pascal[2] 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[3], support for internationalization, high compatibility with JSON[4] 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.


  • Advanced routes management - Actions are performed by means of routes. The application replies to requests that pass information through routes. Implementing this could involve a bunch of boring tests, but Brook knows how to receive a request and choose the correct URL and the correct method to reply to it. Using Brook, you have shorter and friendlier code to handle your routes.
  • Integrated data persistance - Brook can work together well with other frameworks. Brook offers a table object where data can be handled. Less instantiations, less coding, with an elegant syntax. These are advantages of Brook, but in this case, it's a special virtue of Greyhound, the partner project responsible for handling databases. Within Brook, scope, there are other database layers available for specific usages but for most cases, Greyhound is the best one.
  • JSON native support - JSON structures are largely used by JavaScript. JSON is widespred in the web for data exchange purposes. You will really appreciate Brooks' good JSON support.
  • REST architecture support - If you didn't come from the web development world, you won't understand the power of REST. REST is not a software component or a tool kit, but an idea. An idea able to simplify and standardize data requests and replies. Brook is powerful even if you don't use REST -- but you will want to use it.
  • Lazarus wizards for installation and usage - No, Brook didn't forget Lazarus users. With Lazarus, development is easier; with the Brook wizards, only a few clicks are required to start and configure your Brook projects.
  • Plugins for varied needs - In the full Brook package, everything is included: mail sending, HTTP utilities, templating, algebraic expression processing, RSS reading and writing and much more. You can see the whole list of plugins here.


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[edit]

Book requires Free Pascal 2.6.2 or newer. If you prefer the Lazarus interface, choose the 1.0.8 version or newer.

Get started[edit]

Do you need some help to start? Whether you use the Lazarus IDE or purely the Free Pascal compiler, start here.


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


If you want to see Brook in action, then take a look at demos here.


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:


And constructed with the following guidelines:

  • Breaking backward compatibility bumps the major (and resets the minor and release);
  • New additions without breaking backward compatibility bumps the minor (and resets the release);
  • Bug fixes and misc changes bumps the release;

For more information on SemVer, please visit

Support, bugs, contact[edit]

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


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



Make a donation to the project, it's extremely easy, free, fast and secure! See the name of all donors here.


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


  1. ^ "Brook framework by silvioprog". Retrieved 21 February 2014. 
  2. ^ "Free Pascal - Advanced open source Pascal compiler for Pascal and Object Pascal - Home Page". Retrieved 21 February 2014. 
  3. ^ "Lazarus Homepage". Retrieved 21 February 2014. 
  4. ^ "JSON". Retrieved 21 February 2014.