Anybody use web2py?

mdipierro massimodipierro71 at gmail.com
Sat Dec 19 19:07:50 EST 2009


Errata 2. Before people jump on me. I said "copyright" but I meant
"trademark". Of course web2py is GPL2 so everybody can copy and modify
it.

The license has an exception that basically treats the compiled web2py
as freeware.

The license does not extend to apps that require web2py. They can be
distributed under any license you like, included closed source and
bundled with the web2py binary.

On Dec 19, 5:32 pm, mdipierro <massimodipierr... at gmail.com> wrote:
> On Dec 19, 12:42 am, AppRe Godeck <a... at godeck.com> wrote:
>
> > Just curious if anybody prefers web2py over django, and visa versa. I
> > know it's been discussed on a flame war level a lot. I am looking for a
> > more intellectual reasoning behind using one or the other.
>
> Of course I am the most biased person in the world on this topic but
> perhaps you want to hear my bias.
>
> A little bit of history... I thought a Django course at DePaul
> University and built a CMS for the United Nations in Django. I loved
> it. Then I also learned RoR. I found RoR more intuitive and better for
> rapid prototyping. I found Django much faster and more solid. I
> decided to build a proof of concept system that was somewhat in
> between Django and Rails with focus on 3 features: 1) easy to start
> with (no installation, no configuration, web based IDE, web based
> testing, debugging, and database interface); 2) enforce good practice
> (MVC, postbacks); 3) secure (escape all output, talk to database via
> DAL to present injections, server-side cookies with uuid session keys,
> role based access control with pluggable login methods, regex
> validation for all input including URLs).
>
> Originally it was a proof of concept, mostly suitable for teaching.
> Then lots of people helped to make it better and turn it into a
> production system. Now he had more than 50 contributors and a more
> than 20 companies that provide support.
>
> There are some distinctive features of web2py vs Django. Some love
> them, some hate hate them (mostly people who did not try them):
>
> - We promise backward compatibility. I do not accept patches that
> break it. It has been backward compatible for three years and I will
> enforce the copyright, if necessary, in order to ensure it for the
> future.
>
> - In web2py models and controllers are not modules. They are not
> imported. They are executed. This means you do not need to import
> basic web2py symbols. They are already defined in the environment that
> executes the models and controllers (like in Rails). This also means
> you do not need to restart the web server when you edit your app. You
> can import additional modules and you can define modules if you like.
>
> - You have a web based IDE with editor, some conflict resolution,
> Mercurial integration, ticketing system, web-based testing and
> debugging.
>
> - The Database Abstraction Layer (DAL) is closed to SQL than Dango ORM
> is. This means it does less for you (in particular about many 2 many)
> but it is more flaxible when it comes to complex joins, aggregates and
> nested selects.
>
> - The DAL supports out of the box SQLite, MySQL, PostgreSQL, MSSQL,
> Oracle, FireBird, FireBase, DB2, Informix, Ingres, and the Google App
> Engine (except for joins and multi-entity transactions). We plan
> support for Sybase and MongoDB within one month.
>
> - The DAL supports transactions. It means it will create and/or ALTER
> tables for you as your model changes. This can be disabled.
>
> - The DAL has partial support for some legacy databases that do not
> have an 'id' auto increment primary key.
>
> - It has a plugin and a component systems (here is an old video:http://www.vimeo.com/7182692the video says "experimental" but this is
> now stable in trunk, although not very well documented).
>
> - both systems have a web based database interface (Django calls it
> "admin", web2py calls it "appadmin, not to be confused with web2py
> "admin", the IDE). The Django one is more polished, customizable and
> designed to be exposed to users. The web2py one is raw and designed
> for the administrator. It is not customizable. Because it is designed
> for the administrator and requires administrator login it allows
> arbitrary DAL code to be executed. It can be disabled.
>
> Here is the last app I built with it:http://www.vimeo.com/7182692
> running on GAE here:http://www.vimeo.com/7182692
>
> Herehttp://www.vimeo.com/6507384you can see a video in which I
> rewrite the Django polls tutorial in web2py. You will get an idea of
> some of the differences.
>
> Anyway, I think both system are great. Spend 15 minutes (no more) with
> each to make up your mind, and stick with it.
>
> Massimo




More information about the Python-list mailing list