Node.js - backbone.js - coffeescript    et les autres.. LA REVOLUTION.Eric German - german.eric@gmail.com - @germanlinux P...
Présentation technique stratégique                          tio ns                   pp lica              des a ?)        ...
Eric GermanEmployeur : DGFiPProfession : Enthousiasteblog: http://germanlinux.blogspot.comCloud : http://apprendre1chosech...
Plan de la présentation          Etat de lart          Les évolutions          Les acteurs          La révolution         ...
Model-View-Controller (MVC)Il était une fois en ..   1979                             Trygve M. H. Reenskaug              ...
Le règne du web: 1990
Le web  est unformidable système     dedistribution
BDD          framework MVC WEB                                 data,      data                       html, js,            ...
Client lourd   Client léger
BDD          framework MVC   data,                             html, js,                             css, img             ...
data,                              html, js,             Serveur WEB      css, imgBDD                           ajax      ...
Le duel                                                 "client side vs                                                 se...
Evolution des applicationsinformatiques:                              M   V   C 1990mainframe vsmainframe        2012
MVC nest pas le meilleur moyen defaire des applications web
Cest mon oncle Bob qui le dit !Architecture the Lost Years(Ruby Midwest 2011)                  Bob martin
Problème : quand le client estdistant.. .. Lobservation est difficile
Pendant ce temps                                Le monde changeLes terminaux : smartphones - tablettesLe réseau : hétérogè...
Les Révolutionnaires (Hall of fame)John RESIGRyan DAHLJeremy ASHKENAS
John Resig :Il a mis tout le monde daccord sur lalibrairie javascript pour le navigateur.
Ryan DAHL                       Moteur V8 de                         Chrome                            +                  ...
Jeremy ASHKENAS
Node.js est révolutionnaire ?Affirmation            VRAI   FAUXLe même langage cotéserveur et client ?Simplifie lesdévelop...
Le même langage de bout en bout ?Du java qui génère dujavascript ...
Simplifie les développements ? var http = require(http); http.createServer(function (req, res) {   res.writeHead(200, {Con...
Performance et scalabilité ?
Alors quelle révolution ?Le modèle en couche (node.js)Le modèle OOP (node.js / javascript)Les DSL (node.js / coffeescript)...
R1Ryan Dahl a remis encause la règle laplus importantede la galaxy :  Larchitecture       en     couche
Couches MVCCouches OOPCouchessystèmesetc ....
R2        Apres...Avant
Les développeurs javascriptsont ... bonsOOP sans classeAsynchrone                                essayez                  ...
ADN des nouvelles applications   Node.js  backbone.js                    Rails                djangocoffeescript
BDD             Data BUS                             N                         J SO      data                             ...
BDD             Data BUS                         data                                   data                            N ...
Prendre la bonnedirection
Organiser son code coté client ?
Pourquoi organiser son                                                                                         ce         ...
Source : Scaling Isomorphic   Javascript Codehttp://blog.nodejitsu.com                              MVC               MVC ...
Les collectionsLes modeles                                JSON             Data                            MVVMLes vuesLes...
Backbone.js                                                                              SproutCore 1.x                   ...
HTML5        REDIS                NoSQLCloud
Restez sur les Rails
Toujours...
Il y a plus 1 an .. : David Heinemeier Hansson créateur de Ruby on Rails                       Backbone.js , node.js etc …
QUES                                      T          IONS                                                      ?MERCI !blo...
Bluesmvc solutionlinux 2012 eric german
Bluesmvc solutionlinux 2012 eric german
Bluesmvc solutionlinux 2012 eric german
Prochain SlideShare
Chargement dans…5
×

Bluesmvc solutionlinux 2012 eric german

1 326 vues

Publié le

quel avenir pour les applications web: node.js , coffeescript etc

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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

Aucune remarque pour cette diapositive

Bluesmvc solutionlinux 2012 eric german

  1. 1. Node.js - backbone.js - coffeescript et les autres.. LA REVOLUTION.Eric German - german.eric@gmail.com - @germanlinux PARIS juin 2012
  2. 2. Présentation technique stratégique tio ns pp lica des a ?) nir ave iques ( web ? L at info rm
  3. 3. Eric GermanEmployeur : DGFiPProfession : Enthousiasteblog: http://germanlinux.blogspot.comCloud : http://apprendre1chosechaquejour.herokuapp.com
  4. 4. Plan de la présentation Etat de lart Les évolutions Les acteurs La révolution Les perspectives
  5. 5. Model-View-Controller (MVC)Il était une fois en .. 1979 Trygve M. H. Reenskaug Ce nest que du modèle de conception (design pattern)
  6. 6. Le règne du web: 1990
  7. 7. Le web est unformidable système dedistribution
  8. 8. BDD framework MVC WEB data, data html, js, css, img
  9. 9. Client lourd Client léger
  10. 10. BDD framework MVC data, html, js, css, img data, html, js, data css, img data, html, js, css, img
  11. 11. data, html, js, Serveur WEB css, imgBDD ajax data js, css, img ajax (data)
  12. 12. Le duel "client side vs serveur side" model Data Controleur ViewCoté client : client side Coté serveur : server side
  13. 13. Evolution des applicationsinformatiques: M V C 1990mainframe vsmainframe 2012
  14. 14. MVC nest pas le meilleur moyen defaire des applications web
  15. 15. Cest mon oncle Bob qui le dit !Architecture the Lost Years(Ruby Midwest 2011) Bob martin
  16. 16. Problème : quand le client estdistant.. .. Lobservation est difficile
  17. 17. Pendant ce temps Le monde changeLes terminaux : smartphones - tablettesLe réseau : hétérogène , interruptibleLe volume des donnéesLes usages : géolocalisation , mode push , cloud
  18. 18. Les Révolutionnaires (Hall of fame)John RESIGRyan DAHLJeremy ASHKENAS
  19. 19. John Resig :Il a mis tout le monde daccord sur lalibrairie javascript pour le navigateur.
  20. 20. Ryan DAHL Moteur V8 de Chrome + API daccès au File system etc.. Asynchrone non bloquant boucle devenement node.js
  21. 21. Jeremy ASHKENAS
  22. 22. Node.js est révolutionnaire ?Affirmation VRAI FAUXLe même langage cotéserveur et client ?Simplifie lesdéveloppementsEst plus performantscalable indic e: La bo nne r épon se est 4 2
  23. 23. Le même langage de bout en bout ?Du java qui génère dujavascript ...
  24. 24. Simplifie les développements ? var http = require(http); http.createServer(function (req, res) { res.writeHead(200, {Content-Type: text/plain}); res.end(Hello Worldn); }).listen(1337, 127.0.0.1); console.log(Server running at http://127.0.0.1:1337/);Node.js nest pas un serveur web
  25. 25. Performance et scalabilité ?
  26. 26. Alors quelle révolution ?Le modèle en couche (node.js)Le modèle OOP (node.js / javascript)Les DSL (node.js / coffeescript)Les langages fonctionnels (underscore.js,node.js) )Algorithmie vs scalabilité (node.js) 2 réponses
  27. 27. R1Ryan Dahl a remis encause la règle laplus importantede la galaxy : Larchitecture en couche
  28. 28. Couches MVCCouches OOPCouchessystèmesetc ....
  29. 29. R2 Apres...Avant
  30. 30. Les développeurs javascriptsont ... bonsOOP sans classeAsynchrone essayez coffeeescriptCode complexe - callbackSous contrainte (taille, performance)
  31. 31. ADN des nouvelles applications Node.js backbone.js Rails djangocoffeescript
  32. 32. BDD Data BUS N J SO data ajax/WSo JSON (json) JS ON
  33. 33. BDD Data BUS data data N JSO data data JSON ajax/WSo data (json) html JS ON data data
  34. 34. Prendre la bonnedirection
  35. 35. Organiser son code coté client ?
  36. 36. Pourquoi organiser son ce erfa lint de ent ée s tem onn por es d ------- om le c rt d code coté client ? - i fixe le xpo -------- n qu tion et -------- nctio ina ---- {// fo la pag -------- ( that ) ; our - /// ng) ----- tion ////// n.p// p -------- = func ////// { turn ; xt_o --- have //- b e ////// tion () es ) re mg/ne /// nc . ion ////// u ag n/i this aginat /////////// over( f t.maxp plicatio g); // p ///////// ge).h == tha t + /ap ; ff.pn turn /next_o // ///// s_pa page ontex s ) re g plu m _c age n/im g); $(# that.nu (src, axp plicatio ff.pn if( ttr at.m p v_o ; is).a (){ = th xt + /a g /pre +.png $(th tion ge = te n/im ge nc numpa , _con s ){ atio umpa }, fu hat. age ppli c t.n src axp + /a + tha if( t ).attr( n (){ that.m text n_ is io $(th k(funct page < _ con n/img/ ng) ; lic m ; rc, tio le.p }).c hat.nu age++ ).attr(s applica t_id t p e / { /nex if( t.num pag xt + mi); es ) /img tha oins_ conte rc, nu axpag lication m _ $(# umi = .attr(s that.m + /app n ) = t var _page age = contex n p $(# at.num (src, _ if( th ).attr ); $(th is that le( ; _tab ng) } he on.p .affic er) ; ev_ that oint n () { g/pr r, p ctio ; /im urso fun n tion ; } er( ) retur pplica ng) ss(c .hov a off.p } ). c ge) e == 1 ext + / ev_ a s_p mpag cont g/pr moin nu , _ rn ; n/im g); $(# ( that. ttr(src atio f.pn ; retu applic t_of if ).a 1) / /nex e +.pn g $( this n (){ ge == text + g ctio pa on n/im ag }, fun t.num rc, _c catio t.nump a s ppli ha if( th ).attr( on (){ 1 ){ + /a /n_ + t is $(th k(functi age > text g ); , _ con tion/im .png lic mp ; _idle }).c hat.nu page-- ttr(src applica rev if( t t.num age).a xt + / mi); /p /img tha lus_p conte rc, nu tion p _ lica $(# umi = ).attr(s 1 ){ / app n = t+ var _page age = contex n p $(# at.num (src, _ r if( th is).att t ); $(th tha g); ble( n.pn e_ta n_o } .a ffich ; / dow that er) img oint (){ cation/ g); r, p tion pli ff.pn } urso func + /ap n_o ss(c o ver( ntext /dow } ). c s).h co n/im g line src, _ atio lus_ r( plic $ (#p is).att t+ /ap $(th ntex { _co nes ){ }, n () rc, xlig ctio .attr(s (){ fun is) io n a t.ma $(th k(funct p < th lic xlp }).c hat.ma p++; ow(); t if( t.max at lp aSh tha BuildD . that
  37. 37. Source : Scaling Isomorphic Javascript Codehttp://blog.nodejitsu.com MVC MVC 2 MVVM MVP
  38. 38. Les collectionsLes modeles JSON Data MVVMLes vuesLes contrôleurs (routes) Coté client : client side Coté serveur : server side
  39. 39. Backbone.js SproutCore 1.x Sammy.js Spine.js Cappuccino Knockout.js Javascript MVC Google Web Toolkit Google Closure Ember.js Angular.js Batman.js Data- bindinghttp://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/
  40. 40. HTML5 REDIS NoSQLCloud
  41. 41. Restez sur les Rails
  42. 42. Toujours...
  43. 43. Il y a plus 1 an .. : David Heinemeier Hansson créateur de Ruby on Rails Backbone.js , node.js etc …
  44. 44. QUES T IONS ?MERCI !blog: http://germanlinux.blogspot.comCloud : http://apprendre1chosechaquejour.herokuapp.com

×