Node.js et les nouvellestechnologies javascript    Lundi 26 septembre 2011, @Smile
Qui je suis-je ?• Khalid Jebbari• DjebbZ sur drupal.org• @Dj3bbZ (DjebbZ était pris...)• Développeur Drupal depuis 2009, e...
DISCLAIMERVous risquez d’arrêter        Drupal
Node.js ?• ≠ node Drupal• Serveur d’interprétation javascript• Utilise V8• Evènementiel• Non bloquant et asynchrone
Evènementiel, nonbloquant & asynchrone• Dans Node.js, tout s’exécute en parallèle,  sauf votre code• ???• Les E/S sont asy...
// module du coeur de Nodevar http = require(http);server = http.createServer();// event listenerserver.on(‘request’, func...
Modules Node.js• Core : fs, http, ... 25+ /lib• 2000+ avec NPM (~10/jour !)• NPM : Drush pour Node.js• Express, Socket.io,...
+   ?
Le module Drupal        “Node.js”• http://drupal.org/project/nodejs• Channels de communication (PubSub)• Signal envoyé à u...
OU     ?
Bon et moins bon    (pour un Drupalien)✤   Rapide !                               -   Javascript (≠ PHP !)✤   Contrôle tot...
Node est-il trop jeune pour la production ?• Twitter• Facebook• eBay• les threads de mySpace• Development Seed• Et bien d’...
La révolution Javascript     dans le client• Les navigateurs et les machines sont  rapides• Avec le mobile, on ne peut plu...
Frameworks Javascript     côté client• JavaScriptMVC,YUILibrary• Objective-J, Cappuccino, SproutCore• Sammy.js, AngularJS,...
• MVC (ou dérivé MV*/MVVM ...)• Très léger : 5Kb minified & gzipped• Basé sur Underscore.js• Compatible jQuery/Zepto.js
Démo Backbone ?
• Base de données No-SQL• Orienté documents• Stockage au format JSON• Interaction par HTTP  (RESTful API)
Architecture web    classique (3-tier)       Client           HTML, CSS, Javascript                        Apache, PHP, Dr...
Architecture web   CouchApp (2-tier)       Client           HTML, CSS, Javascript                        Apache, PHP, Drup...
Drupal 8        Initiative WSCCI•   WSCCI = Web Services and Context in Core Initiative•   Menée par Larry Garfield, @Crell...
Sources, biblio etc.•   http://nodejs.org•   http://www.slideshare.net/sh1mmer/a-language-for-the-internet-why-    javascr...
Crédit : hellojenuine @ Flickr, http://www.flickr.com/photos/jenosaur/5461377850/                          Questions ?
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
Prochain SlideShare
Chargement dans…5
×

Node.js et les nouvelles technologies javascript

3 419 vues

Publié le

Présentation sur Node.js et les nouvelles technologies javascript, qui a eu lieu dans les locaux de Smile, à Levallois (92).

Retour d'exploration par un développeur Drupal (moi) sur ces technologies, et comparaison avec Drupal.

0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
3 419
Sur SlideShare
0
Issues des intégrations
0
Intégrations
72
Actions
Partages
0
Téléchargements
63
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Node.js et les nouvelles technologies javascript

  1. 1. Node.js et les nouvellestechnologies javascript Lundi 26 septembre 2011, @Smile
  2. 2. Qui je suis-je ?• Khalid Jebbari• DjebbZ sur drupal.org• @Dj3bbZ (DjebbZ était pris...)• Développeur Drupal depuis 2009, en Freelance depuis 2010
  3. 3. DISCLAIMERVous risquez d’arrêter Drupal
  4. 4. Node.js ?• ≠ node Drupal• Serveur d’interprétation javascript• Utilise V8• Evènementiel• Non bloquant et asynchrone
  5. 5. Evènementiel, nonbloquant & asynchrone• Dans Node.js, tout s’exécute en parallèle, sauf votre code• ???• Les E/S sont asynchrones
  6. 6. // module du coeur de Nodevar http = require(http);server = http.createServer();// event listenerserver.on(‘request’, function (request, response) { // event callback response.writeHead(200, {Content-Type: text/plain}); response.end(Hello Worldn);});server.listen(1337, "127.0.0.1");console.log(Server running at http://127.0.0.1:1337/);
  7. 7. Modules Node.js• Core : fs, http, ... 25+ /lib• 2000+ avec NPM (~10/jour !)• NPM : Drush pour Node.js• Express, Socket.io, Jade, Stylus, ...• CoffeeScript
  8. 8. + ?
  9. 9. Le module Drupal “Node.js”• http://drupal.org/project/nodejs• Channels de communication (PubSub)• Signal envoyé à un channel• Utilisateurs (uid) inscrits au channel reçoivent message• Parfait pour un chat ! Ou autre fonctionnalité “temps réel”
  10. 10. OU ?
  11. 11. Bon et moins bon (pour un Drupalien)✤ Rapide ! - Javascript (≠ PHP !)✤ Contrôle total de son appli - Évènementiel et asynchrone (un coup à✤ Appli web dynamique, prendre) API RESTful - Moins rapide de✤ Un seul langage pour le déployer une appli Node client et le serveur (on de type “CMS” peut partager du code !)
  12. 12. Node est-il trop jeune pour la production ?• Twitter• Facebook• eBay• les threads de mySpace• Development Seed• Et bien d’autres...
  13. 13. La révolution Javascript dans le client• Les navigateurs et les machines sont rapides• Avec le mobile, on ne peut plus considérer les connexions comme fiables• JSON est un excellent et léger moyen de communication entre applications • => Déporter la logique métier dans le browser
  14. 14. Frameworks Javascript côté client• JavaScriptMVC,YUILibrary• Objective-J, Cappuccino, SproutCore• Sammy.js, AngularJS, KnockoutJS, Spine.js• Backbone.js
  15. 15. • MVC (ou dérivé MV*/MVVM ...)• Très léger : 5Kb minified & gzipped• Basé sur Underscore.js• Compatible jQuery/Zepto.js
  16. 16. Démo Backbone ?
  17. 17. • Base de données No-SQL• Orienté documents• Stockage au format JSON• Interaction par HTTP (RESTful API)
  18. 18. Architecture web classique (3-tier) Client HTML, CSS, Javascript Apache, PHP, DrupalServeur d’application Node.js MySQL Base de données MongoDB/CouchDB
  19. 19. Architecture web CouchApp (2-tier) Client HTML, CSS, Javascript Apache, PHP, DrupalServeur d’application Node.js Base de données CouchDB via HTTP
  20. 20. Drupal 8 Initiative WSCCI• WSCCI = Web Services and Context in Core Initiative• Menée par Larry Garfield, @Crell• “Transformer Drupal en Serveur REST sur lequel est bâti un CMS”• Drupal pourra servir autre chose que du HTML (notamment du JSON !)• Extrêmement important pour la survie de Drupal• Drupal 8 sort en 2013-14, et d’ici là ...
  21. 21. Sources, biblio etc.• http://nodejs.org• http://www.slideshare.net/sh1mmer/a-language-for-the-internet-why- javascript-and-nodejs-is-right-for-internet-application• http://www.web-tambouille.fr/2011/02/15/node-js-partie-1-tout-ce-que-vous- devez-savoir-sur-node-js.html• http://london2011.drupal.org/conference/sessions/nodejs-and-drupal• https://github.com/joyent/node/wiki/modules• http://blog.nodejitsu.com/• Photos : http://memegenerator.net
  22. 22. Crédit : hellojenuine @ Flickr, http://www.flickr.com/photos/jenosaur/5461377850/ Questions ?

×