Size: 2686
Comment: added DatabaseAssistant, FreeTrade and FreeEnergy links
|
Size: 3819
Comment: comment on Aquarium/SQLObject combo vs the Rails framework
|
Deletions are marked like this. | Additions are marked like this. |
Line 45: | Line 45: |
As an MVC-based web framework, Aquarium bears at least a superficial resemblance to the [http://actionpack.rubyonrails.org/show/HomePage Action Pack] part of the [http://www.rubyonrails.org/show/HomePage Rails] framework. Aquarium's Screens correspond to Rails' Action Controllers and Aquarium has Cheetah templates where Rails' has Action Views. Aquarium doesn't possess the equivalent of [http://activerecord.rubyonrails.org/show/HomePage Active Record]. Interestingly though, Ian Bicking has a [http://blog.colorstudy.com/ianb/weblog/2004/09/06.html#P154 blog post showing a SQLObject implementation] of this [http://www.loudthinking.com/arc/000297.html Active Record example]. The Aquarium/SQLObject combo seems to be comparable to Rails but has had neither the same level of documentation, integration and publicity as its Ruby-based rival. Aquarium is little known in the Python web programming world, it has always had a low profile and a 2 year period of dormancy prior to development restarting earlier this year didn't help. Also it has been overshadowed by Zope and to a lesser degree, other web frameworks. |
A framework for WebProgramming.
Masthead
- URL
- version
1.6.1 (Date(2004-07-30T00:00:00))
- licence
- Aquarium is open source software available under a BSD-style license.
- platforms
- Unix and probably Windows too
- Python versions
Deployment Platforms
CGI, ModPython and custom python-based web servers are supported via Web Server Adaptor classes
Suitability
Development Interfaces
Environment Access
Session, Identification and Authentication
Classes for session management are provided
Persistence Support
Provides a [http://aquarium.sourceforge.net/api/public/aquarium.database.DatabaseAssistant.DatabaseAssistant-class.html DatabaseAssistant] class that abstracts and assists in database connectivity using DBAPI modules
Presentation Support
Uses and tightly integrates [http://www.cheetahtemplate.org Cheetah] templating engine
InTheirOwnWords
Aquarium is a Web application framework written in Python. It's features were inspired by a broad range of Web technologies (such as PHP's [http://share.whichever.com/index.php?SCREEN=freetrade FreeTrade], Java's Struts, Perl's Mason, and Python's Zope). It offers convenient libraries (such as session management), tight integration with Cheetah (including autocompilation of Cheetah templates), adaptors for various Web environments (including CGI, mod_python, and custom Web servers), and a convenient approach to Web development ([http://www.zend.com/zend/art/free-energy.php the FreeEnergy methodology]). Most of all, it's compact (just a few thousand lines of code) and extremely well documented. Aquarium is a useful tool for creating any highly-dynamic, custom Web application written in Python.
Aquarium is based around these ideas:
- Web applications can be thought of as a combination of a bunch of different types of modules. Aquarium serves as the framework for dynamically tying all of these modules together.
- The main request flow of an application involves a controller that does work and produces data. That data is passed off to a view that displays that data. See aquarium.screen.ScreenAPI for more on this.
- A view's superclass should take care of layout details automatically. In fact, a view should not need to do anything other than declare who it is subclassing (who you subclass and how many layers there are in the class hiearchy should not require you to change the name of your main method). See aquarium.layout.LayoutAPI for more on this.
Comments
As an MVC-based web framework, Aquarium bears at least a superficial resemblance to the [http://actionpack.rubyonrails.org/show/HomePage Action Pack] part of the [http://www.rubyonrails.org/show/HomePage Rails] framework. Aquarium's Screens correspond to Rails' Action Controllers and Aquarium has Cheetah templates where Rails' has Action Views.
Aquarium doesn't possess the equivalent of [http://activerecord.rubyonrails.org/show/HomePage Active Record]. Interestingly though, Ian Bicking has a [http://blog.colorstudy.com/ianb/weblog/2004/09/06.html#P154 blog post showing a SQLObject implementation] of this [http://www.loudthinking.com/arc/000297.html Active Record example].
The Aquarium/SQLObject combo seems to be comparable to Rails but has had neither the same level of documentation, integration and publicity as its Ruby-based rival. Aquarium is little known in the Python web programming world, it has always had a low profile and a 2 year period of dormancy prior to development restarting earlier this year didn't help. Also it has been overshadowed by Zope and to a lesser degree, other web frameworks.