• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Bluesmvc solutionlinux 2012 eric german
 

Bluesmvc solutionlinux 2012 eric german

on

  • 1,175 views

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

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

Statistics

Views

Total Views
1,175
Views on SlideShare
650
Embed Views
525

Actions

Likes
0
Downloads
3
Comments
0

11 Embeds 525

http://germanlinux.blogspot.fr 450
http://germanlinux.blogspot.com 51
http://germanlinux.blogspot.be 6
http://nodeslide.herokuapp.com 5
http://germanlinux.blogspot.com.es 3
http://germanlinux.blogspot.ch 3
http://germanlinux.blogspot.ie 2
http://germanlinux.blogspot.co.uk 2
https://duckduckgo.com 1
http://germanlinux.blogspot.de 1
http://germanlinux.blogspot.ca 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Bluesmvc solutionlinux 2012 eric german Bluesmvc solutionlinux 2012 eric german Presentation Transcript

    • Node.js - backbone.js - coffeescript et les autres.. LA REVOLUTION.Eric German - german.eric@gmail.com - @germanlinux PARIS juin 2012
    • Présentation technique stratégique tio ns pp lica des a ?) nir ave iques ( web ? L at info rm
    • Eric GermanEmployeur : DGFiPProfession : Enthousiasteblog: http://germanlinux.blogspot.comCloud : http://apprendre1chosechaquejour.herokuapp.com
    • Plan de la présentation Etat de lart Les évolutions Les acteurs La révolution Les perspectives
    • Model-View-Controller (MVC)Il était une fois en .. 1979 Trygve M. H. Reenskaug Ce nest que du modèle de conception (design pattern)
    • Le règne du web: 1990
    • Le web est unformidable système dedistribution
    • BDD framework MVC WEB data, data html, js, css, img
    • Client lourd Client léger
    • BDD framework MVC data, html, js, css, img data, html, js, data css, img data, html, js, css, img
    • data, html, js, Serveur WEB css, imgBDD ajax data js, css, img ajax (data)
    • Le duel "client side vs serveur side" model Data Controleur ViewCoté client : client side Coté serveur : server side
    • 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ène , interruptibleLe volume des donnéesLes usages : géolocalisation , mode push , cloud
    • 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 + API daccès au File system etc.. Asynchrone non bloquant boucle devenement node.js
    • Jeremy ASHKENAS
    • 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
    • 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, {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
    • 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)Les langages fonctionnels (underscore.js,node.js) )Algorithmie vs scalabilité (node.js) 2 réponses
    • 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 coffeeescriptCode complexe - callbackSous contrainte (taille, performance)
    • ADN des nouvelles applications Node.js backbone.js Rails djangocoffeescript
    • BDD Data BUS N J SO data ajax/WSo JSON (json) JS ON
    • BDD Data BUS data data N JSO data data JSON ajax/WSo data (json) html JS ON data data
    • Prendre la bonnedirection
    • Organiser son code coté client ?
    • 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
    • Source : Scaling Isomorphic Javascript Codehttp://blog.nodejitsu.com MVC MVC 2 MVVM MVP
    • Les collectionsLes modeles JSON Data MVVMLes vuesLes contrôleurs (routes) Coté client : client side Coté serveur : server side
    • 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/
    • 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 !blog: http://germanlinux.blogspot.comCloud : http://apprendre1chosechaquejour.herokuapp.com