Le Web comme plateforme applicative-Comment programme-t-on le Web? 
François Daoust (@tidoust) W3C 
#inria_industrie
Une courte histoiredu Web applicatif
Interactions utilisateur 
<form action="post.cgi"> 
<input type="text" name="nom" /> 
<input type="submit" title="Valider"...
Interactions utilisateur 
<form action="post.cgi"> 
<input type="text" name="nom" /> 
<input type="submit" title="Valider"...
DHTML 
•Document Object Model (DOM) 
•JavaScript 
•Evénements
AJAX 
XMLHttpRequest
Propriétés du Web applicatif
Approche descendante(Top-down approach)
Sécurité 
•Primitives de bas niveaudifficilementexposables 
•Attention aux empreintes !
Plateforme globale
Ex: base de données locale 
IndexedDBAPI
Plateforme humaine
Philae vs. CSS
Plateforme complète
Communications 
API 
Usage 
HTML5 Web Messaging 
Inter-app(même navigateur) 
WebRTC 
P2P,audio/vidéo temps-réel 
Network S...
PresentationAPI 
presentation 
.startSession('http://example.org/pres.html') 
.then(function (newSession) { 
session.onsta...
Packaging 
•Exécution hors-ligneApplicationCacheService Workers 
•EmpaquetageFichier manifesteArchive (Zip) Enrobage natif...
Fragmentation
Programmer le Web
Comme toute autre plateforme ! 
Besoin 
Exempled’outils open source 
Composants, MVC, utilitaires 
Backbone.js,AngularJS, ...
Penser adaptation 
•Séparer contenu, design, code 
•Ciblez les mobiles 
•Attention aux designs au pixel près ! 
•Améliorat...
Client et/ou serveur 
•Retour du JavaScript côté serveurex: Node.js 
•Permet de partager la même base de code entre client...
Performances 
•Moteurs JS optimisés 
•Bonnes pratiques à connaître 
•ASM.js (1.5x C)
Le Web comme plateforme applicative 
Une plateforme applicative... 
Notes 
Complète 
Nombreuses APIs en coursde standardis...
Le Web comme plateforme applicative
Le Web comme plateforme applicative 
François Daoust (@tidoust) W3C 
#inria_industrie
Le Web comme plateforme applicative - comment programme-t-on le Web?
Le Web comme plateforme applicative - comment programme-t-on le Web?
Le Web comme plateforme applicative - comment programme-t-on le Web?
Prochain SlideShare
Chargement dans…5
×

Le Web comme plateforme applicative - comment programme-t-on le Web?

451 vues

Publié le

D'une plateforme documentaire, le Web s'est peu à peu transformé en plateforme applicative. Cette présentation explore les différentes facettes de la plateforme applicative web qui en font LA plateforme incontournable pour le développement d'applications.

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
451
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Le Web comme plateforme applicative - comment programme-t-on le Web?

  1. 1. Le Web comme plateforme applicative-Comment programme-t-on le Web? François Daoust (@tidoust) W3C #inria_industrie
  2. 2. Une courte histoiredu Web applicatif
  3. 3. Interactions utilisateur <form action="post.cgi"> <input type="text" name="nom" /> <input type="submit" title="Valider" /> </form>
  4. 4. Interactions utilisateur <form action="post.cgi"> <input type="text" name="nom" /> <input type="submit" title="Valider" /> </form>
  5. 5. DHTML •Document Object Model (DOM) •JavaScript •Evénements
  6. 6. AJAX XMLHttpRequest
  7. 7. Propriétés du Web applicatif
  8. 8. Approche descendante(Top-down approach)
  9. 9. Sécurité •Primitives de bas niveaudifficilementexposables •Attention aux empreintes !
  10. 10. Plateforme globale
  11. 11. Ex: base de données locale IndexedDBAPI
  12. 12. Plateforme humaine
  13. 13. Philae vs. CSS
  14. 14. Plateforme complète
  15. 15. Communications API Usage HTML5 Web Messaging Inter-app(même navigateur) WebRTC P2P,audio/vidéo temps-réel Network Service Discovery Réseaulocal PresentationAPI Ecran secondaireInter-appinter-terminaux
  16. 16. PresentationAPI presentation .startSession('http://example.org/pres.html') .then(function (newSession) { session.onstatechange= function () { switch (session.state) { case 'connected': session.postMessage(/*...*/); session.onmessage= function() { /*...*/ }; break; case 'disconnected': console.log('Disconnected.'); break; } }; }, function () { /*...*/ });
  17. 17. Packaging •Exécution hors-ligneApplicationCacheService Workers •EmpaquetageFichier manifesteArchive (Zip) Enrobage natif (ex. Cordova)
  18. 18. Fragmentation
  19. 19. Programmer le Web
  20. 20. Comme toute autre plateforme ! Besoin Exempled’outils open source Composants, MVC, utilitaires Backbone.js,AngularJS, Ember.js, Enyo, Mustache, SASS Gestion des dépendances Bower, npm, Yeoman Déboguage Outils de développement du navigateur(F12) Tests unitaires, fonctionnels Jasmine, QUnit,Sinon, TestSwarm Testsd’acceptation WebDriver, Selenium, PhantomJS,SlimerJS Contrôlede qualité esvalidate, jslint, JSCover,Istanbul «Compilation» Google ClosureCompiler, RequireJS, SASS «Transpilation» Emscripten, Google Web Toolkit, Ocamljs Automatisation de tâches Grunt, gulp.js, ant, Make Contrôle de version Git, Mercurial,CVS, SVN
  21. 21. Penser adaptation •Séparer contenu, design, code •Ciblez les mobiles •Attention aux designs au pixel près ! •Amélioration progressive
  22. 22. Client et/ou serveur •Retour du JavaScript côté serveurex: Node.js •Permet de partager la même base de code entre client et serveurex: code de validation d’une saisie
  23. 23. Performances •Moteurs JS optimisés •Bonnes pratiques à connaître •ASM.js (1.5x C)
  24. 24. Le Web comme plateforme applicative Une plateforme applicative... Notes Complète Nombreuses APIs en coursde standardisation Ubiquitaire Présentdans le monde entierSur tousles terminaux Sécurisée Protection de la vie privéeNavigationsans effet de bord Performante NavigateursoptimisésPossibilité de «transpiler» en JSoptimisé Ouverte et libre de droits Technologies non propriétairesInnovation ouverte, inclusive Humaine Construite à l’échelle mondiale D’intérêtpublic
  25. 25. Le Web comme plateforme applicative
  26. 26. Le Web comme plateforme applicative François Daoust (@tidoust) W3C #inria_industrie

×