<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Pourquoi il faudrait faire du Javascript coté serveur (Logilab.org) RSS Feed</title>
    <description></description>
    <link>http://www.logilab.org/blogentry/49935</link>
<item>
<guid isPermaLink="true">http://www.logilab.org/blogentry/49935</guid>
  <title>Pourquoi il faudrait faire du Javascript coté serveur</title>
  <link>http://www.logilab.org/blogentry/49935</link>
  <description>&lt;p&gt;Description de la présentation sur le site de Paris Web 2010: &lt;a class=&quot;reference&quot; href=&quot;http://www.paris-web.fr/2010/programme/le-javascript-server-side-faire-un-point.php&quot;&gt;ici&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Quentin Adam voudrait que l&#39;on fasse plus de javascript coté
serveur. Un des principaux avantages du javascript server side est que
il n&#39;est pas nécessaire de traduire ces structures de données entre
plusieurs languages de programmation.&lt;/p&gt;
&lt;img alt=&quot;http://www.bewebmaster.com/bewebmaster/icons/JavaScript.png&quot; class=&quot;align-right&quot; src=&quot;http://www.bewebmaster.com/bewebmaster/icons/JavaScript.png&quot; /&gt;
&lt;img alt=&quot;http://a3.twimg.com/profile_images/90410047/clouds2_normal.jpg&quot; class=&quot;align-right&quot; src=&quot;http://a3.twimg.com/profile_images/90410047/clouds2_normal.jpg&quot; /&gt;
&lt;p&gt;Une des limites à cette adoption est que les moteurs de javascripts ne
font pas de DOM (ca c&#39;est le boulot du navigateur), du coup pas de
&lt;a class=&quot;reference&quot; href=&quot;http://jquery.com/&quot;&gt;jquery&lt;/a&gt;, &lt;a class=&quot;reference&quot; href=&quot;http://mootools.net/&quot;&gt;mootools&lt;/a&gt; ou &lt;a class=&quot;reference&quot; href=&quot;http://www.dojotoolkit.org/&quot;&gt;dojo&lt;/a&gt; (high level javascript)&amp;gt;. Par conséquent
les développeurs javascript vont avoir des difficultés pour coder en
server side. Certaines librairies sont en train de prendre en compte
cet environnement limité.&lt;/p&gt;
&lt;p&gt;Quand on fait du javascript coté serveur, on peut considérer les
requêtes comme des websockets, ce qui va être avantageux en terme de
performances (par exemple lorsque le serveur reçoit deux requêtes
identiques, quand la réponse est prête on renvoie deux fois la même
chose).&lt;/p&gt;
&lt;p&gt;Voici quelques outils que Quentin Adam recommande ou mentionne :&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;Ape - Ajax Push Engine - &lt;a class=&quot;reference&quot; href=&quot;http://www.ape-project.org&quot;&gt;http://www.ape-project.org&lt;/a&gt; Mettre du
javascript dans un module apache. Coté client on a du mootols pour
faire du développement.&lt;/li&gt;
&lt;li&gt;Node.js &lt;a class=&quot;reference&quot; href=&quot;http://www.nodejs.org&quot;&gt;http://www.nodejs.org&lt;/a&gt; très adopté par la communauté
ruby. Node.js es apparu au moment de l&#39;émergence de v8. Par contre
celui-ci n&#39;est pas très stable, la documentation n&#39;est pas très
complète, mais il y a beaucoup de &amp;quot;recettes&amp;quot; sur le web.&lt;/li&gt;
&lt;li&gt;CommonJS &lt;a class=&quot;reference&quot; href=&quot;http://www.commonjs.org/&quot;&gt;http://www.commonjs.org/&lt;/a&gt; est une librairie qui a l&#39;avantage
d&#39;être en cours de standardisation.&lt;/li&gt;
&lt;li&gt;Jaxer &lt;a class=&quot;reference&quot; href=&quot;http://jaxer.org/&quot;&gt;http://jaxer.org/&lt;/a&gt; est une sorte de firefox embarqué dans un
module apache, ce qui est un peu trop lourd mais son existence
mérite d&#39;être mentionnée.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;À Logilab, pour le développement de &lt;a class=&quot;reference&quot; href=&quot;http://www.cubicweb.org&quot;&gt;CubicWeb&lt;/a&gt;, nous penchons plutôt pour les développements des mécanismes
asyncrones dans &lt;a class=&quot;reference&quot; href=&quot;http://twistedmatrix.com/trac/&quot;&gt;Twisted&lt;/a&gt;, mais cette présentation a le mérite de
mettre en avant que d&#39;utiliser javascript ne concerne pas uniquement
les tweaks dans le navigateur.&lt;/p&gt;
&lt;img alt=&quot;http://twistedmatrix.com/trac/chrome/common/trac_banner.png&quot; class=&quot;align-center&quot; src=&quot;http://twistedmatrix.com/trac/chrome/common/trac_banner.png&quot; /&gt;
</description>
  <dc:date>2010-11-03T19:01-01:00</dc:date>
  <dc:creator>Arthur Lutz</dc:creator>
</item>
  </channel>
</rss>