Préface de Hubert Sablonnière - Développeur et conférencier spécialiste du Web
Postface de Wassim Chegham - Sr. JavaScript Developer Advocate Engineer chez Microsoft
Les années 2010 ont bouleversé à jamais le développement web. HTML5, ECMAScript 6, les Web Components et de nombreuses nouvelles capacités permettent enfin de créer nativement des applications ambitieuses et performantes. Pourtant, l'ensemble du...
Préface de Hubert Sablonnière - Développeur et conférencier spécialiste du Web
Postface de Wassim Chegham - Sr. JavaScript Developer Advocate Engineer chez Microsoft
Les années 2010 ont bouleversé à jamais le développement web. HTML5, ECMAScript 6, les Web Components et de nombreuses nouvelles capacités permettent enfin de créer nativement des applications ambitieuses et performantes. Pourtant, l'ensemble du secteur donne aujourd'hui l'impression de se résumer à un trio Angular-React-Vue.
Un courant de développement web moderne questionne l'importance de ces frameworks et bibliothèques en s’appuyant sur les innovations les plus récentes. Pourquoi avoir ajouté tant de complexité ? Devrions-nous persévérer dans cette direction ? Les capacités natives de la plateforme ne pourraient-elles pas suffire ?
S'inscrivant dans la continuité de ce mouvement, ce livre permet à chacun, du développeur web débutant (disposant d'une première expérience de JavaScript et HTML), à l'architecte le plus confirmé, d'adopter une plus large perspective du développement applicatif web, en trois étapes. En décomposant les bases communes à toute application web moderne, ce livre expose une approche originale permettant d'appréhender le développement web moderne dans son ensemble.
Dans les deux premiers chapitres, l'auteur revient tout d'abord sur l'histoire et l'organisation du Web (et ses standards) ainsi que sur les navigateurs, permettant ainsi au lecteur de mieux comprendre la situation actuelle et d'anticiper les évolutions futures.
Les quatre chapitres qui suivent, constituant le cœur de l'ouvrage, présentent pas-à-pas et à l'aide d'exemples actuels et concrets, les éléments les plus fondamentaux du développement applicatif : la programmation orientée composant, les Web Components, le routage des applications monopages et enfin le rendering.
Pour finir, un ultime chapitre répertorie et met en perspective les approches architecturales concrètes applicables au quotidien, illustrées par une présentation complète de nombreuses micro-bibliothèques.
Le code source des exemples du livre est disponible en téléchargement sur le site www.editions-eni.fr et des compléments sont disponibles sur le site de l’auteur fullweb.dev.
1. Déterminer l’approche optimale enfonction du contexte
2. Trouver le bon équilibre entre abstractionet dette technique
Vanilla Web et les microbibliothèques
1. De Vanilla JS au modern Web
2. Complexité et poids d’un code JavaScript
3. Évolution d’une bibliothèquedans le temps
4. Quand et pourquoi utiliser des microbibliothèques
5. Aides à la manipulation du DOM
6. Réalité du "Vanilla"
7. RE:DOM
Bibliothèques de rendering
1. Principe des étiquettes de gabarits
2. Bibliothèques de rendering utilisant les étiquettesde gabarits
3. Naissance et évolution de lit-html
4. Fonctionnement de lit-html
5. Exemple d’application
6. Les directives lit-html
7. JSX face aux littéraux de gabarits
8. React est-il vraiment une bibliothèque derendering ?
Modularité et programmation orientée composant
1. Principes de lit-element
2. Démarrer un projet avec lit-element
3. web component par compilation avec Stencil
Programmation réactive
1. Notions fondamentales
2. RxJS
3. Observables et opérateurs
4. Combiner des observables
5. hot et cold observables
6. Alternatives à RxJS
7. Forces et faiblesses de la programmation réactive
Gestion d’état
1. Créer un conteneur d’étatavec Redux
2. Permettre à des composants de partager un état
3. Rendre les composants indépendants de l’étatglobal
Routeurs
1. Page.js
2. Universal-router
Framework
1. Définition
2. Microframeworks
3. React, Vue et Angular : frameworks ou écosystèmes?
4. Metaframeworks
Synthèse
1. Vanilla JS et Vanilla Web : comment développersans assistance ?
2. Le modern Web face aux compilateurs et aux frameworks
Références
Conclusion
Conclusion
Postface
Annexes
Les bibliothèques, les frameworks et les outils
1. Le rendering
a. Les manipulations du DOM
b. Les tagged template literals
c. JSX et React
2. La programmation orientée composant
3. Le routage et la navigation
4. La programmation réactive et les gestionnairesd’état
5. Les frameworks
6. Les outils de développement
7. Les polyfills et les shims
Groupes de travail du W3C
1. Note à propos des abréviations
2. Fondamentaux front-end
3. Accessibilité (WAI)
4. Web API
5. Sémantique et données
6. Divers
7. Références
Glossaire
Principes fondamentaux de Chrome
1. Multiprocessing
2. V8, l’interpréteur JavaScript
3. Expérience utilisateur
4. Sécurité
5. Gears, standards et open source
Noël MACE
Noël Macé nourrit depuis toujours une passion sans faille pour la pédagogie et l'innovation, qu'il transmet depuis onze ans lors des formations et conférences qu’il dispense. En 2014 il décide de faire du développement d'applications web sa spécialité, l'exerçant dans des contextes variés en tant que développeur, architecte logiciel, directeur technique et Developer Advocate. Depuis, il recherche ainsi systématiquement à identifier et transmettre les approches optimales pour les équipes de développements et les utilisateurs, recherche dont il expose dans ce livre les premières conclusions.