<?xml version="1.0" encoding="UTF-8" ?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
			<title>JMSI Articles : News, open-source, tutorials, and more...</title>
			<link>http://www.jmsinfor.com/rss</link>
			<description></description>
			<language>en</language>
			<copyright>JMSI, Conseil et Service pour les systèmes d'information 2006</copyright>
			<ttl>120</ttl> <item>
<title>Paris Envies and Web Frameworks</title>
<link>http://www.jmsinfor.com/blog/paris-envies-and-web-frameworks</link>
<description><![CDATA[ <p>As some of you may have seen, we&rsquo;ve released <a href="http://www.parisenvies.com/">Paris Envies</a>, a website about bars and restaurants in Paris.</p>
<p>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.</p>
<p>I&rsquo;m not here today to speak about this project in particular, but about the technology we used.</p>
<p>We've used two frameworks to achieve this&hellip;</p>
<h4>For client-side javascript: <a href="http://www.mootools.net/">Mootools</a></h4>
<p>The love I have for mootools isn&rsquo;t new, and I&rsquo;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.</p>
<p>With Mootools 1.2, the development of the javascript part of Paris Envies has been even faster. Compared to prototype : <em>5x</em> times faster, compared to mootools 1.11, <em>1.5x</em> times faster. And, hey, the code is beautiful.</p>
<p>I won&rsquo;t describe mootools a lot here because this is one of the
greatest javascript frameworks out there, and everybody knows it (if
you don&rsquo;t, just search mootools on the web, you&rsquo;ll find a thousand of
articles about it)</p>
<h4>For the server-side : <a href="http://www.turbogears.org/">TurboGears</a></h4>
<h5>Introduction</h5>
<p>You&rsquo;ve surely heard about those new frameworks, yeah Ruby On Rails, Django and all that (<a href="http://english.jondesign.net/">JonDesign.net</a> is done with Django)...</p>
<p>I love python, that&rsquo;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.</p>
<p>I was sceptical at first, being in love with Django at that time.
TurboGears taught me a lot of things and without it I&rsquo;m sure Paris
Envies wouldn&rsquo;t be where it is today.</p>
<p>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.</p>
<p>I&rsquo;ve developed all kind of modules for TurboGears in the scope of that project: <span class="caps">MSN</span> Messenger and Gtalk contact import, <span class="caps">SMS</span> gateway integration, Flash charts integration, Lucene integration (using the excellent PyLucene), and so on&hellip;</p>
<p>I can code really faster with TurboGears than with any other framework, but when I say faster, I mean it.</p>
<h5>Examples</h5>
<p>You want an example ? Right, I&rsquo;ll give you two.</p>
<p><strong>1st example:</strong> Mobile version</p>
<p>I made the Paris Envies mobile website in two days, no more. This included tests, integration of the <span class="caps">WURFL</span>
mobile phone database (to get screen sizes) and Google Maps Static (I
was using Yahoo Static Maps first, but google ones are much better ;)).</p>
<p><strong>2nd example:</strong> Multiple Hosts</p>
<p>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&hellip; Oh, and also of course, some css styling and
some domains in my registar shopping cart.</p>
<p>The hardest part being community building of course (which happens after those seven days, but you get the idea).</p>
<p>Technically, the part of adding a domain in the system only takes one hour. <strong>Why ?</strong></p>
<p>Simply because TurboGears is built on top of CherryPy, meaning it&rsquo;s not just some apache plugin, but a full application server:</p>
<p>I&rsquo;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 :)).</p>
<h4>Conclusion</h4>
<p>Now, do you see my point? TurboGears is the best framework around
for web apps. Mootools is the best one around for javascript stuff.</p>
<p>I&rsquo;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.</p>
<p>A redesign? Sure, can be done in a few days thanks to the templating system !</p>
<p>A new feature?  Sure, just add it really quickly. It&rsquo;s python, with a lot of libs around.</p>
<p>Future plans for my turbogears instance on the &ldquo;Paris Envies&rdquo; (the
platform, not the site, since there will be a lot of sites) project?</p>
<ul>
<li>A subdomain system (for kosher restaurants or gay bars for example (cacher.parisenvies.com gay.parisenvies.com))</li>
<li>AI system (yeah, you&rsquo;ve read it well :) but it&rsquo;s a surprise, I&rsquo;ll make an announcement when it&rsquo;s ready)</li>
<li>The sky is the limit :)</li>
</ul> ]]></description>
<pubDate>Fri, 26 Dec 2008 14:07:28 +0100</pubDate>
<guid isPermaLink="false">http://www.jmsinfor.com/blog/paris-envies-and-web-frameworks</guid>
<dc:creator>JMSI, Conseil et Service pour les systèmes d'information</dc:creator>   </item> 	</channel>
</rss>