The Articles

Paris Envies and Web Frameworks I used

May 22, 2008 at 8:23 p.m. Tagged as: Blog, Frameworks, Programming, Javascript, TurboGears


As some of you may have seen, I’ve released Paris Envies, a website about bars and restaurants in Paris.

There are plans for other websites like this one, not only for other French cities but for other European countries including Italy, Portugal and England.

I’m not here today to speak about this project in particular, but about the technology I used.

I’ve used two frameworks to achieve this…

For client-side javascript: Mootools

The love I have for mootools isn’t new, and I’ve released a few versions of smooth slideshow and more recently Smooth Gallery that are well known libraries to handle slideshow and image galleries with javascript.

With Mootools 1.2, the development of the javascript part of Paris Envies has been even faster. Compared to prototype : 5x times faster, compared to mootools 1.11, 1.5x times faster. And, hey, the code is beautiful.

I won’t describe mootools a lot here because this is one of the greatest javascript frameworks out there, and everybody knows it (if you don’t, just search mootools on the web, you’ll find a thousand of articles about it)

For the server-side : TurboGears

Introduction

You’ve surely heard about those new frameworks, yeah Ruby On Rails, Django and all that (JonDesign.net is done with Django)...

I love python, that’s no news for people who know me, but I also happen to have some friends who told me about TurboGears, a python web framework built around other tools where you can switch tools as you like.

I was sceptical at first, being in love with Django at that time. TurboGears taught me a lot of things and without it I’m sure Paris Envies wouldn’t be where it is today.

Code in TurboGears is separated into Controllers, Models and Templates. The Registration system is given for free, you just have to install it and tweak it.

I’ve developed all kind of modules for TurboGears in the scope of that project: MSN Messenger and Gtalk contact import, SMS gateway integration, Flash charts integration, Lucene integration (using the excellent PyLucene), and so on…

I can code really faster with TurboGears than with any other framework, but when I say faster, I mean it.

Examples

You want an example ? Right, I’ll give you two.

1st example: Mobile version

I made the Paris Envies mobile website in two days, no more. This included tests, integration of the WURFL mobile phone database (to get screen sizes) and Google Maps Static (I was using Yahoo Static Maps first, but google ones are much better ;)).

2nd example: Multiple Hosts

Right now, with the technical architecture of Paris Envies, I can create a site for a city in no more that 7 days, including taking pictures and addresses of best places (yeah you know, the old way, going through the streets, asking young and not so young people about where they go, and take pictures with a shiny photo camera), coordinates of neighborhoods, ambiances and services of the bars and restaurants of the city… Oh, and also of course, some css styling and some domains in my registar shopping cart.

The hardest part being community building of course (which happens after those seven days, but you get the idea).

Technically, the part of adding a domain in the system only takes one hour. Why ?

Simply because TurboGears is built on top of CherryPy, meaning it’s not just some apache plugin, but a full application server:

I’ve coded in just one day and a half a custom VHosts system tailored for my turbogears instance (well, the vhosts system took just two hours to code, but I had to adapt all the Paris Envies code to it afterward, which was really easy :)).

Conclusion

Now, do you see my point? TurboGears is the best framework around for web apps. Mootools is the best one around for javascript stuff.

I’ve been able to write a social network and directory system with a full search engine system in just a few months, not even working full time on it.

A redesign? Sure, can be done in a few days thanks to the templating system !

A new feature? Sure, just add it really quickly. It’s python, with a lot of libs around.

Future plans for my turbogears instance on the “Paris Envies” (the platform, not the site, since there will be a lot of sites) project?

  • A subdomain system (for kosher restaurants or gay bars for example (cacher.parisenvies.com gay.parisenvies.com))
  • AI system (yeah, you’ve read it well :) but it’s a surprise, I’ll make an announcement when it’s ready)
  • The sky is the limit :)

Comments

blog comments powered by Disqus

Last Projects

Foresight Linux Website Project type: Web

My sites

Paris Envies Everything you need to know to go out in Paris ! SmoothGallery A javascript slideshow and gallery based on mootools !


Switch to English Passez à la version Française Flux RSS des Articles XHtml 1.1 Valide