A Piece of CherryPy for CGI Programmers
An anonymous reader writes "IBM developerWorks is running an article outlining the strengths and offering some helpful advice on the Python framework 'CherryPy'. CherryPy uses the same concepts as CGI to bind a web server to a web application, but it improves performance and gains persistence across requests by handling all its requests within a single process."
This is nothing special. Just another framework that doesn't really do anything unique at all...
Regular CGI, mod_perl, mod_python, the newcomer Ruby on Rails, and now CherryPy. Granted, some webhosts handle the first four (even Rails) without any problems, but how many do we really need?
I suppose the answer is "as many as it takes" — whatever's easiest for some users will be utterly impenetrable to others, and it's good to have choice. But at what point does it start to become a burden to keep up with all these — either for programmers looking to keep their CVs up to date, or hosts wanting to stay current?
If you're "running like 20 wiki and 5 custom web apps and a few WordPress installations" on your server then you shouldn't be intimidated by the 2 or 3 lines it takes to forward requests to the CherryPy server.
Get a grip.
For crying out loud, please read the article/manual. Zope and CherryPy have NOTHING in common with Rails other than they are web app frameworks using dynamic languages. They are all different frameworks addressing different needs. Zope is very complex because it addresses a very complex problem and provides a comprehensive framework. CherryPy is similar to Rails in that functions become URLs seemlessly (no messy xml, special output calls etc) but other than that it is much simpler than Rails. It is an web application server and nothing more. It does not have a templating system, no ORM, no database abstraction -- NOTHING. All it does is manage your code for the web. You choose whatever templating system you want (I chose Cheetah), whatever ORM you want (I chose SQLObject), and whatever DB access module (I chose MySQLdb). It is a simple tool that imposes no restrictions and plays well with other tools. Development in CherryPy is similar to development with mod_python although the infrastructure is completly different. Sometimes CherryPy is easier to develop with than mod_python. STOP COMPARING EVERYTHING WITH RAILS BECAUSE THAT IS ALL YOU HEAR IN THE NEWS.
How hard is it to try it? Not hard.
[GCC 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a=1;b=2
>>> a
1
>>> b
2
>>>