The blog has moved to ... Many google searches point here so I am leaving it operational, but there will be no new posts.

Saturday, May 10, 2008

Python MVC web framework - web2py

Recently I did a google search for a Python MVC web framework. I have never done any coding in Python but it seems to be one of the primary languages used at Google and currently the only language supported on the Google App Engine so it seemed worth getting familiar with.

Django seems to be one of the most robust python mvc frameworks around at this time and I was going to dive in and create a small toy application with it, but then I stumbled across a comment on some blog that talked about the web2py MVC framework, still in it's infancy, development is very active on the project. It seems very easy to get up to speed with the framework and even someone who does not know Python can get a simple site up and running.

I love this graphic from one of the pdfs on the site

The feature list taken directly from the site
  • No installation, no configuration, no dependencies. All in one package. You can run it off a USB drive
  • Runs on Windows, OSX, Unix/Linux, and Windows CE phones.
  • Allows development, debugging, testing, deployment, maintenance and administration, including database administration, via the provided web interface.
  • Enforces good Software Engineer practices, like the Model-View-Controller design, validation and self-submission of forms.
  • Strong on security. Prevents the most common types of vulnerabilities: Cross Site Scripting, Injection Flaws, and Malicious File Execution.
  • Dynamically and transparently generates SQL queries for you for SQLite, MySQL, PostgreSQL and Oracle. Even creates and alters tables for you when required. Performs automatic transactions.
  • Allows you to create apps easily, byte-code compile them, and distribute them in open or closed source under any license you like.
  • Faster then the competition, designed for small as well as large projects, includes the ability to upload/download/stream large files, internationalization support, distributed transactions, ...
Web2py is worth checking out!



Gregor said...

It's more than that ... this is a step into a whole new world!

You may recall the recent release of the Google appengine, but what you may not know is: that platform will fundamentally change the way webapps are done, largely due to the Bigtable datastore and the banishment of the SQL-based relational database model to the realm of localhost, and eventually to the status of a horse-and-buggy.

What's exciting about web2py is that you live in the browser all the time, and, because it's written in python, it will integrate that much more quickly into the appengine domain.

Because the creator is a professor of Computer Science, you get all the good stuff boiled down to the essence of just what you need for webapp development.

Download it, run the tutorial, and you too will be hooked.

Anonymous said...

"Because the creator is a professor of Computer Science ..."

Oh dear god. Being a computer science professor says nothing about your ability to design or implement a framework. Some of the worst programmers I've ever met have been computer science professors.

This might be an awesome framework (I'm skeptical, but I've not tried it), but if so it's not because he's a professor.

kindablue2 said...

I'm going to take a look. And btw - I like the credentials as well. A framework written by a CS Prof is more likely to embody the abstract qualities cherished in acadamia - this in my mind is a good thing. The problems start when the abstract conflicts with the practical - *good* frameworks find the right balance.

Anonymous said...

He's found the right balance!

No, I am not affiliated with him, nor the university. I am just a user who is glad that I didn't go down the "everybody is using __framework already so let me use that too" path.