Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Développement et architecture des Applications Web Modernes
  3. Introduction
Extrait - Développement et architecture des Applications Web Modernes Retrouver les fondamentaux
Extraits du livre
Développement et architecture des Applications Web Modernes Retrouver les fondamentaux Revenir à la page d'achat du livre

Introduction

Pourquoi ce livre ?

1. État des lieux

En 30 ans d’existence, le Web a connu de nombreuses évolutions. La plateforme que nous utilisons tous quotidiennement aujourd’hui n’a plus grand-chose à voir avec celle née à la fin des années 1980.

Ces dix dernières années en particulier, de nombreuses nouvelles perspectives se sont ouvertes à nous. L’arrivée d’Angular, de React et de Vue (pour ne citer que les bibliothèques et frameworks les plus connus) a profondément simplifié la création de sites web avancés. À tel point que s’en passer semble à présent inenvisageable pour de nombreuses personnes.

En parallèle, la plateforme web elle-même a connu plusieurs révolutions. L’innovation s’est constamment accélérée depuis 2007 et l’arrivée de HTML5. De nouveaux standards et bibliothèques susceptibles de remettre profondément en cause nos habitudes voient le jour à un rythme effréné.

Nous nous situons à présent à une période charnière. La plateforme web seule répondant de mieux en mieux à nos problématiques quotidiennes, le besoin d’outils et d’abstractions complexes est en baisse constante. L’idée de se passer au maximum de ces outils gagne ainsi progressivement en popularité. Certains vont même jusqu’à prophétiser la fin prochaine des frameworks web.

Pourtant, force est de constater que la réalité est bien plus complexe. Bibliothèques et frameworks demeurent d’une importance cruciale. Nombre d’entre eux sont des outils clés pour les développeurs et architectes et ils resteront encore longtemps utiles et incontournables, grâce à leur capacité à perpétuellement s’adapter et évoluer.

Mais face à la variété de choix, quelle solution adopter ? Dois-je ou non utiliser la bibliothèque X pour répondre à ma problématique ?

Trouver une réponse rationnelle à cette question est extrêmement difficile. Prendre la ’’bonne’’ décision est de moins en moins évident. Certains s’enferment alors dans un débat sans fin, sans recul ni objectivité.

Cet ouvrage vise précisément à vous aider à sortir de cette situation.

2. Approche générale

La plupart des ressources permettant de mieux maîtriser le développement applicatif web se divise en deux catégories :

  • Celles qui s’attachent essentiellement à enseigner la maîtrise d’un certain environnement. Nous ne manquons ainsi pas de manuels et articles permettant d’apprendre à faire bon usage d’Angular, React et Vue.

  • Celles qui permettent d’explorer la plateforme web dans son ensemble et d’étudier des bonnes pratiques générales. La documentation du Web du Mozilla Developer Network (MDN Web Docs) et web.dev en sont les exemples les plus connus et complets.

Mais que l’on soit débutant ou plus expérimenté, il devient rapidement difficile de faire le lien entre ces connaissances et d’en identifier les grandes lignes communes.

Sans cette vision globale, impossible alors de faire le "bon" choix.

Dans ce livre, nous allons explorer pas à pas les différentes briques fondamentales des applications web. Via des exemples simples et minimalistes, nous allons en premier lieu reconstruire celles-ci. Ce qui vous permettra de mieux en maîtriser les principes et le fonctionnement. Chaque étape sera également l’occasion...

Contenu

1. Déroulement

Ce livre se déroule en trois grandes parties, organisées par ordre de complexité croissante :

  • Après une préface écrit par Hubert Sablonnière, les deux premiers chapitres parcourent l’Histoire du Web, offrant une vision d’ensemble de son développement, de sa logique et de sa structure.

  • La plus grande partie détaille ensuite sur quatre chapitres les grands principes et éléments fondamentaux du développement des applications web modernes, en les illustrant par des exemples de code concrets.

  • Enfin, un tour d’horizon des outils et architectures actuelles sera effectué en conclusion dans le dernier chapitre, pour être ensuite complété par une postface écrite par Wassim Chegham.

2. Chapitres

Comprendre l’histoire du Web et de ses standards

Dans ce premier chapitre, nous expliquerons comment comprendre le contexte dans lequel nous nous plaçons quand nous évoquons les ’’applications web modernes’’. Nous explorerons l’histoire de cette plateforme, depuis sa théorisation au sortir de la Seconde Guerre mondiale jusqu’aux changements les plus récents.

Ce faisant, nous donnerons une place importante aux organismes de normalisation (IETF, W3C, WHATWG et TC39), en détaillant leurs rôles et organisations actuels.

Les documents publiés par ces organismes ne constituent cependant qu’un cadre théorique. Pour exister, le Web a besoin que ces standards soient implémentés, donnant naissance aux navigateurs.

Suivre les évolutions de la plateforme

Nous détaillerons la naissance et l’évolution de ces navigateurs, des premiers précurseurs créés dans la première moitié des années 1990 aux plus récents. Ce qui sera bien entendu l’occasion de revenir sur leurs rivalités, réussites et échecs, lors des deux "guerres des navigateurs".

La suite logique de cette chronologie nous amènera finalement à notre époque. Nous étudierons en détail la place tenue par chaque navigateur, les infrastructures, et les types de périphériques utilisés. Nous nous intéresserons en particulier au rôle joué par chacun de ces éléments dans notre quotidien, et à leur impact sur le développement web moderne.

Nous verrons enfin comment il est possible d’anticiper les évolutions futures de la plateforme par une étude des standards et des navigateurs.

Après quoi nous pourrons finalement nous attaquer à la seconde partie de ce livre pour explorer les détails techniques et concrets de cet environnement de développement.

Adopter une approche par composant

En tant que développeur ou architecte, notre objectif est de garantir au mieux la maintenabilité et la réutilisabilité de nos applications sur le long terme.

Suivant cette idée, nous étudierons tout d’abord succinctement nos mécanismes de pensée et verrons comment le développement logiciel s’est de longue date structuré pour nous donner les moyens de mieux penser nos applications. 

Puis, nous verrons comment ces structures ont façonné le développement applicatif web récent, aboutissant à de nouvelles normes.

Faire bon usage des Web Components

Parmi ces normes, les Web Components se sont imposés comme une solution incontournable.

Ce chapitre sera donc l’occasion d’étudier précisément les trois standards sous-jacents, à savoir Custom Elements, Shadow DOM et HTML Templates. 

Ces techniques ayant été largement commentées ces dernières années, parfois avec excès, nous nous évertuerons à prendre du recul en les abordant. Nous détaillerons les conséquences concrètes de leur adoption, ainsi que les diverses logiques et bonnes pratiques à respecter.

Développer...