Brook for Free Pascal: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: Brook for Free Pascal
| Old | New | Line | |
|---|---|---|---|
| 1 | + | # About | |
| 2 | + | ||
| 3 | + | **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. | |
| 4 | + | ||
| 5 | + | It's complete: simple actions or configurable actions for database access, advanced routing features, wizard for [[Lazarus FAQ|Lazarus]], support for internationalization, high compatibility with [[JSON]] structures, easy and elegant [REST](http://en.wikipedia.org/wiki/Representational_state_transfer) implementation, plugins for varied needs, extensible and decoupled brokers... In fact, you have several reasons to adopt Brook as your web development framework. | |
| 6 | + | ||
| 7 | + | Author: Silvio Clecio | |
| 8 | + | ||
| 9 | + | License: GNU LGPL | |
| 10 | + | ||
| 11 | + | # Features | |
| 12 | + | ||
| 13 | + | - **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. | |
| 14 | + | - **Integrated data persistance** – Brook offers a table object where data can be handled. Less instantiations, less coding, with an elegant syntax. | |
| 15 | + | - **JSON native support** – JSON is widespread in the web for data exchange purposes. You will really appreciate Brooks' good JSON support. | |
| 16 | + | - **REST architecture support** – [REST](http://en.wikipedia.org/wiki/Representational_state_transfer) 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. | |
| 17 | + | - **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. | |
| 18 | + | ||
| 19 | + | # Plugins | |
| 20 | + | ||
| 21 | + | - **[dOPF](https://github.com/risoflora/brookfreepascal/tree/master/plugins/dopf)** – Sleek, intuitive and fast object persistence for faster and easier database development. | |
| 22 | + | - **[RUtils](https://github.com/risoflora/brookfreepascal/tree/master/plugins/rutils)** – Some general purpose routines for string conversion, parsing, encoding and more. | |
| 23 | + | - **[JTemplate](https://github.com/risoflora/brookfreepascal/tree/master/plugins/jtemplate)** – Fill variables in a template file. | |
| 24 | + | - **[QTemplate](https://github.com/leledumbo/QTemplate)** – Alternative to the FPTemplate engine. | |
| 25 | + | - **[EasyRSS](https://github.com/risoflora/brookfreepascal/tree/master/plugins/easyrss)** – Easiest way for Pascal developers to provide news updating services in their applications. | |
| 26 | + | - **[XMailer](https://github.com/risoflora/brookfreepascal/tree/master/plugins/xmailer)** – Simple way to send e-mail using Free Pascal. | |
| 27 | + | - **[AlgEx](https://github.com/risoflora/brookfreepascal/tree/master/plugins/algex)** – Process algebraic expressions passed as strings. | |
| 28 | + | - **[Captcha](https://github.com/risoflora/brookfreepascal/tree/master/plugins/captcha)** – Verification images to block *bot* access on login pages. | |
| 29 | + | - **[MGeoIP](https://github.com/risoflora/brookfreepascal/tree/master/plugins/mgeoip)** – Identify the name of the country or city where IPs reside. | |
| 30 | + | - **[ConvUtils](https://github.com/risoflora/brookfreepascal/tree/master/plugins/convutils)** – Conversion between units of measurement (centimeters, inches, liters etc.) | |
| 31 | + | - **[HtmlDoc](https://github.com/risoflora/brookfreepascal/tree/master/plugins/htmldoc)** – Write headers, body and other relevant tags using Object Pascal. | |
| 32 | + | - **[LJGridUtils](https://github.com/risoflora/brookfreepascal/tree/master/plugins/ljgridutils)** – Easy conversion from LCL to JSON and vice versa. | |
| 33 | + | - **[Brook-Telegram](https://github.com/Al-Muhandis/brook-telegram)** – Consume the Telegram Bots API in a Brook application. | |
| 34 | + | ||
| 35 | + | # Homepage | |
| 36 | + | ||
| 37 | + | - Get started, documentation, license, download and others details: [Home page](https://risoflora.github.io/brookfreepascal/). | |
| 38 | + | - [GitHub repository](https://github.com/risoflora/brookfreepascal) | |
| 39 | + | ||
| 40 | + | # Comparison with Brook Framework | |
| 41 | + | ||
| 42 | + | [[Brook Framework]] is another web application library by the same developer. The main difference between Brook for Free Pascal and Brook Framework is that Brook for Free Pascal is pure Pascal and relies on the HTTP functionality provided by fcl-web, covering CGI, FastCGI and standalone, whereas Brook Framework uses libsagui, a C library, for its underlying HTTP/S functionality. | |
| 43 | + | ||
| 44 | + | # Alternatives | |
| 45 | + | ||
| 46 | + | - [mORMot](https://github.com/synopse/mORMot) - Synopse mORMot ORM/SOA/MVC framework. | |
| 47 | + | - [FreeSpider](https://github.com/motaz/freespider) - Web development package for Free Pascal/Lazarus. | |
| 48 | + | - [FCL-Web](http://wiki.freepascal.org/fcl-web) Built-in Free Pascal web library. | |
| 49 | + | - [Fano Framework](https://fanoframework.github.io) Web application framework for modern Pascal programming language. | |
| 50 | + | ||
| 51 | + | --- | |
| 52 | + | *From the Free Pascal wiki, page "Brook for Free Pascal", as it stood on 2022-01-18 after a change by PierceNg, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).* |
