Ruby on Rails, ColdFusion, ASP.NET, and to a lesser degree PHP and ASP share two important traits that no Python web framework currently embraces.


First, when one writes an application for these frameworks, one spends the vast majority of time writing code for their application, writing the logic that their application specifically requires. Contrast this with J2EE or Zope. In writing a Zope 3 application, for example, one must design objects that fit the Zope interface requirements, write a couple of XML configuration files to document the object, and figure out the entire API all at once. Contrast this to PHP, where one spends time simply writing what their application needs to do, and does not need to write a single ambiguous XML configuration file. This extends to deployment. In a J2EE application, you need to deploy a WAR, while with PHP, you just need to drop a few .php files on the server and it works.


Second, these frameworks have "batteries included". Rails is a "full-stack" framework, which, according to its API documentation, "includes everything needed to create database-backed web-applications according to the Model-View-Control pattern of separation." It handles everything from form validation to database integration to sending email. No Python framework currently embodies such functionality with such good integration.


I really want to be able to say that we should all come together to improve Zope, the "king" of Python web frameworks . . . but I can't say that. Zope 2 was a mess, and Zope 3 is so overengineered that it's painful to write code. The ideal framework should allow the programmer to be organized, while still allowing a monkey to write Hello, World.

My two cents . . . what's yours?

_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com

Reply via email to