Difference between revisions of "Brook for Free Pascal"

From Free Pascal wiki
(Change the links and names due to Brook reorganization)
(fixed url)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
{{Brook_for_Free_Pascal}}
 +
 
= About =
 
= About =
'''Brook framework''' is the Pascal framework for web applications. [https://github.com/risoflora/brookfreepascal Brookfreepascal] is a FreePascal version of the framework and it is pure pascal code. The second one is [https://github.com/risoflora/brookframework brookframework] also has Delphi compatibility and external dependency (lib[https://github.com/risoflora/libsagui sagui]) but is still in development. BrookFreePascal is pure Pascal. You don't need to leave your preferred programming language.
 
Further, unless otherwise specified mean BrookFreePascal versionof the framework.
 
  
It's complete: simple actions or configurable actions for database access, advanced routing features, wizard for [[Lazarus]], support for i18n, 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.
+
'''[https://github.com/risoflora/brookfreepascal Brook for Free Pascal]''' is the perfect [https://freepascal.org Free Pascal] framework for 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 [http://en.wikipedia.org/wiki/Representational_state_transfer 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 =
 
= Features =
Line 12: Line 14:
 
* '''REST architecture support''' – [http://en.wikipedia.org/wiki/Representational_state_transfer REST] is an architecture 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.
 
* '''REST architecture support''' – [http://en.wikipedia.org/wiki/Representational_state_transfer REST] is an architecture 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''' - With [http://www.lazarus.freepascal.org Lazarus], development is easier; with the Brook wizards, only a few clicks are required to start and configure your Brook projects.
 
* '''Lazarus wizards for installation and usage''' - With [http://www.lazarus.freepascal.org Lazarus], development is easier; with the Brook wizards, only a few clicks are required to start and configure your Brook projects.
 
= Demos =
 
 
If you want to see Brook in action, then take a look a database demo [https://dl.dropboxusercontent.com/u/135304375/brookframework/demos/index.html here] and a simple chat [https://brookframework.org/cgi-bin/chat.bf here].
 
  
 
= Plugins =
 
= Plugins =
  
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/dopf dOPF]''' – This plugin provides sleek, intuitive and fast object persistence for faster and easier database development.
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/dopf dOPF]''' – Sleek, intuitive and fast object persistence for faster and easier database development.
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/rutils RUtils]''' – This plugin offers some general purpose routines for string conversion, parsing, encoding and more.
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/rutils RUtils]''' – Some general purpose routines for string conversion, parsing, encoding and more.
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/jtemplate JTemplate]''' – This plugin helps you to fill variables in a template file.
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/jtemplate JTemplate]''' – Fill variables in a template file.
* '''[https://github.com/leledumbo/QTemplate QTemplate]''' – This plugin implements an alternative to the FPTemplate engine.
+
* '''[https://github.com/leledumbo/QTemplate QTemplate]''' – Alternative to the FPTemplate engine.
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/easyrss EasyRSS]''' – This plugin is the easiest way for Pascal developers to provide news updating services in their applications.
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/easyrss EasyRSS]''' – Easiest way for Pascal developers to provide news updating services in their applications.
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/xmailer XMailer]''' – This plugin offers a really simple way to send e-mail using Free Pascal.
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/xmailer XMailer]''' – Simple way to send e-mail using Free Pascal.
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/algex AlgEx]''' – This plugin helps you to process algebraic expressions passed as strings.
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/algex AlgEx]''' – Process algebraic expressions passed as strings.
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/captcha Captcha]''' – This plugin provides the handling of verification images, usually to block ''bot'' access on login pages.
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/captcha Captcha]''' – Verification images to block ''bot'' access on login pages.
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/mgeoip MGeoIP]''' – This plugin allows you to identify the name of the country or city where IPs reside.
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/mgeoip MGeoIP]''' – Identify the name of the country or city where IPs reside.
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/convutils ConvUtils]''' – This plugin allows conversion between units of measurement (centimeters, inches, liters etc.)
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/convutils ConvUtils]''' – Conversion between units of measurement (centimeters, inches, liters etc.)
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/htmldoc HtmlDoc]''' – Whith this plugin you can write headers, body and other relevant tags using Object Pascal.
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/htmldoc HtmlDoc]''' – Write headers, body and other relevant tags using Object Pascal.
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/ljgridutils LJGridUtils]''' – This plugin offers easy conversion from LCL to JSON and vice versa.
+
* '''[https://github.com/risoflora/brookfreepascal/tree/master/plugins/ljgridutils LJGridUtils]''' – Easy conversion from LCL to JSON and vice versa.
* '''[https://github.com/Al-Muhandis/brook-telegram Brook-Telegram]''' – This plugin helps you to implement telegram interface for brook application via a bot.
+
* '''[https://github.com/Al-Muhandis/brook-telegram Brook-Telegram]''' – Consume the Telegram Bots API in a Brook application.
  
 
= Homepage =
 
= Homepage =
  
Get started, documentation, license, download and others details here [https://github.com/risoflora/brookfreepascal BrookFreePascal] and [https://github.com/risoflora/brookframework brookframework (with sagui)].
+
Get started, documentation, license, download and others details here [https://github.com/risoflora/brookfreepascal Brook for Free Pascal].
 +
 
 +
= Alternatives =
  
[[Category:Networking]]
+
* [https://github.com/risoflora/brookframework Brook framework] - Microframework which helps to develop web Pascal applications.
[[Category:FPC]]
+
* [https://github.com/synopse/mORMot mORMot] - Synopse mORMot ORM/SOA/MVC framework.
[[Category:Lazarus]]
+
* [https://github.com/motaz/freespider FreeSpider] - Web development package for Free Pascal/Lazarus.
 +
* [http://wiki.freepascal.org/fcl-web FCL-Web] Built-in Free Pascal web library.
 +
* [https://fanoframework.github.io Fano Framework] Web application framework for modern Pascal programming language.

Latest revision as of 20:39, 25 June 2020

English (en) français (fr)

About

Brook for Free Pascal is the perfect Free Pascal framework for 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

  • Advanced routes management – Actions are performed by means of routes. Brook knows how to receive a request and choose the correct URL and the correct method to reply to it.
  • Integrated data persistance – Brook offers a table object where data can be handled. Less instantiations, less coding, with an elegant syntax.
  • JSON native supportJSON is widespread in the web for data exchange purposes. You will really appreciate Brooks' good JSON support.
  • REST architecture supportREST is an architecture 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 - With Lazarus, development is easier; with the Brook wizards, only a few clicks are required to start and configure your Brook projects.

Plugins

  • dOPF – Sleek, intuitive and fast object persistence for faster and easier database development.
  • RUtils – Some general purpose routines for string conversion, parsing, encoding and more.
  • JTemplate – Fill variables in a template file.
  • QTemplate – Alternative to the FPTemplate engine.
  • EasyRSS – Easiest way for Pascal developers to provide news updating services in their applications.
  • XMailer – Simple way to send e-mail using Free Pascal.
  • AlgEx – Process algebraic expressions passed as strings.
  • Captcha – Verification images to block bot access on login pages.
  • MGeoIP – Identify the name of the country or city where IPs reside.
  • ConvUtils – Conversion between units of measurement (centimeters, inches, liters etc.)
  • HtmlDoc – Write headers, body and other relevant tags using Object Pascal.
  • LJGridUtils – Easy conversion from LCL to JSON and vice versa.
  • Brook-Telegram – Consume the Telegram Bots API in a Brook application.

Homepage

Get started, documentation, license, download and others details here Brook for Free Pascal.

Alternatives

  • Brook framework - Microframework which helps to develop web Pascal applications.
  • mORMot - Synopse mORMot ORM/SOA/MVC framework.
  • FreeSpider - Web development package for Free Pascal/Lazarus.
  • FCL-Web Built-in Free Pascal web library.
  • Fano Framework Web application framework for modern Pascal programming language.