Reahl: A web application framework purely in Python
Save yourself from the trouble of code switching! Reahl is a Python-only web application framework that packs quite a punch for developers looking to work in useful abstractions without switching out to another programming language.
Code switching is a common phenomenon among both developers and people who speak more than one language. Although sometimes people need multiple languages to fully express themselves, things get lost in translation. With Reahl, web developers are able to continue working in one language without needing to reach for another programming language.
Reahl is a web application framework that allows developers to work purely in Python. It’s actually pretty easy to keep track of complex abstractions, since there’s no pesky translation to other languages. Not having to worry about compatibility issues or compilation errors certainly takes a load off.
Essentially, Reahl is bringing functionality back to Python for web applications. Instead of being designed for the frontend of a customer-facing website, it’s set up for internal tools and line of business applications. While adhering to object, oriented design principles, Reahl optimizes for design clarity first and speed or memory when needed.
The Reahl framework is made up of a number of components, as seen below:
The component framework is the infrastructure that supports Reahl’s component-based development. Developers can build domain models annotated with information used by user interface code. The web framework gives developers all the tools they need to create their apps with web-based UIs.
The end-user functionality containers both the domain models and logic as well as the related web user interfaces. As for the development tools, all of the development for Reahl is done inside a Vagrant machine. This section includes the workstation used to develop, as well as a number of helpful components for development purposes.
Want to try out Reahl? It’s readily available from GitHub and the Reahl site. However, you will need version 2.7 of Python 2 or Python 3.3. Reahl is installed through pip, with a few extras. It also requires a few other bits of software on platforms other than Windows, including:
- Libxml, libxslt
- Python headers for compiling the above
- A C/C++ compiler (such as gcc)
There’s an impressive amount of documentation available here, along with a getting started guide and a programmer’s guide. There’s even a tutorial available for Reahl 4.0 that starts from the beginning and dives deep into the various features.