Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

node.js et ext JS pour des applications légères et efficaces Paris, 20 mai 2015

Slide 3

Slide 3 text

Laurent WITT associé et consultant,

Slide 4

Slide 4 text

JNESIS en quelques mots •  spécialiste java et javascript •  une équipe de consultants chevronnés et agiles •  partenaire de Sencha pour la France et la Suisse depuis 2 ans MULHOUSE - PARIS - PHILADELPHIA (US)

Slide 5

Slide 5 text

JNESIS en quelques mots Consulting (audit de code, conseil en architecture,…) Développement (en forfait agile) Formation (agréé 1% formation auprès des OPCA) en intra- & -inter-entreprises, coaching technique

Slide 6

Slide 6 text

JNESIS en quelques mots

Slide 7

Slide 7 text

node.js et ext JS un couple qui a du sens??

Slide 8

Slide 8 text

Quelles solutions pour le backend?

Slide 9

Slide 9 text

L’écosystème node.js 147  952   packages  sur  npm   1,4Md   téléchargements  par  mois  sur  npm   0,1%   des  sites  web  dans  le  monde  

Slide 10

Slide 10 text

L’écosystème node.js

Slide 11

Slide 11 text

la continuité de langage du backend au frontend réel  gain  ?   ou  utopie  ?  

Slide 12

Slide 12 text

la continuité de langage du backend au frontend La mobilité du code frontend backend www.socketstream.org

Slide 13

Slide 13 text

Quand (ne pas) utiliser node.js ? les backends légers les middle-end / proxys les backends complexes

Slide 14

Slide 14 text

un exemple d’architecture REEN REDIS – EXPRESSJS – EXT JS – NODE.JS

Slide 15

Slide 15 text

L’architecture REEN en détail la persistance NoSQL une couche web très « lean » pour le front-end du javascript dans le backend

Slide 16

Slide 16 text

L’interactivité par les websockets •  Possibilité d’intégrer une information en temps réel, sans contrainte de format •  Gestion de la séquentialité, des reprises sur incidents,.. •  Support du legacy sur les anciens navigateurs (websocket / Adobe flash socket / ajax long polling ou multipart streaming / forever iframe/ jsonp polling) •  Processus initié par le client OU le serveur

Slide 17

Slide 17 text

Mise en œuvre dans Ext JS Utilisation de la classe standard « Ext.data.proxy.Rest » pour l’interfaçage REST Quelques subtilités dans la glue node.js / Ext JS : •  valeurs de retour (success:true) •  lors des modifications (PUT)

Slide 18

Slide 18 text

Mise en œuvre dans Ext JS Implémentations des websockets très simple au travers de socket.io •  Servie directement par node.js au travers de l’URL « / socket.io/socket.io.js » •  Chargé en mémoire au travers de la classe « Ext.mixin.Mashup » (synchronisation) •  Mise à disposition d’une variable globale « io » •  Système proche d’un système évènementiel ou pub/sub

Slide 19

Slide 19 text

Avantages et limites de l’architecture Vélocité de développement Performance brute / empreinte mémoire+CPU Embarqué de node.js / Qualification Automatisation des tests

Slide 20

Slide 20 text

démonstration une application retail ext JS 5 couplée à node JS, servie par un Raspberry PI

Slide 21

Slide 21 text

Considérations économiques •  temps de développement : 2 mois à 2 ETP • coût de développement : ≈ 40k€ • coût de possession backend : quelques dizaines d’€ par mois •  investissement par point d’utilisation : env. 200€ •  coût de possession point d’utilisation : ± 0€

Slide 22

Slide 22 text

Conclusion

Slide 23

Slide 23 text

Questions

Slide 24

Slide 24 text

Merci pour votre attention! [email protected] in/laurentwitt