Bloom is a light-weight setting for making web-sites, content management systems and small to medium web applications.

Bloom (short for web-loom) is text/file-oriented as opposed to database-centric, although data can be stored and shared with a database using AJAX.

Bloom has no restrictive layout or modules; everything from HTML's angle brackets to a site-wide consistent look & feel is defined in Bloom rules. Bloom is capable to work as a smart client or in a client-server configuration using AJAX.

Bloom has a small (memory) footprint and yet deploys single-page applications (SPA); it can even generate single-page application development environments (SPADE's) which include an environment to alter their own data, meta data and logic.

Bloom is maintained at SourceForge; its home-page is here.

Finally: Bloom is available for free as open source software (under the Mozilla 1.1 license)

Bloom at a glance:

Text and file oriented
Bloom is text and file oriented (instead of database centric), so Bloom texts can be edited using any text editor and files can be located and backed-up in your prefered setting as part of a larger build enviroment. Of course, Bloom can store data in a SQL database.
No preconceptions
Bloom has no preconceptions about layout or application structure or even about HTML and CSS. No obligatory frames or banners, no unexpected limitations due to built-in modules. If HTML starts using square brackets instead of angle brackets, your new site can run in minutes.
Stand alone and client-server (AJAX)
Bloom can use a server with SQL database to store and share data, but it is equally suitable for stand-alone operation, possibly storing data in local files (desk-top). When Bloom uses a server it is through asynchronic synchronisation (AJAX).
Rule based
Bloom is rule-based, which helps to achieve a consistent look and feel, content re-use and powerful navigation systems. Also, Bloom rules offer object-oriented and aspects-oriented features.
Small footprint
With a core of less than 200 lines of JavaScript code and a library of less than 500 lines of code, Bloom can create tiny applications.
Open Source
Bloom is distributed as Open Source Software under the Mozilla Public License Version 1.1. It is free of charge and you can extend and re-distribute it in accordance with the license.
Extendable
Bloom rules are modular, making it easy to extend any Bloom application with your own modules. The Mozilla 1.1 license particularly caters for extendible systems.
Single Page Application (SPA)
Bloom typically creates single page applications (SPA's). A SPA is a smart client which avoids latency problems and simplyfies software deployment. If data is stored on a server, it is done through AJAX, again avoiding latency lags.
Comprehension oriented architecture
Bloom uses a revolutionary technique called Comprehension Oriented Architecture, as opposed to top-down architecture, where top-down, data-driven and resolution-based aspects are combined (woven) into web applications.
Domain Specific Languages
Bloom sopports domain-specific languages to allow styles, templates and patterns and other (meta) data to be expressed in an appropriate, domain specific language. For instance, Bloom rules use intuitive pattern-replacement syntax.
SPA Development Environment (SPADE)
Bloom can generate Single Page Application Development Environments: web-applications that include an environment to alter themselves (data, and possibly also logic).
Ease of use
Using Bloom is software development with tremendous expressive power, but requiring great attention to detail.
ToDo
At the moment of writing certain limitations exist:
  • Currently only Firefox is supported
  • AJAX is halfway finished
  • DSL's are not yet supported
  • Debugging facilities are limited
Built with Bloom