Avec les composants, Google agite pour une révolution dans le développement Web

Lors de la conférence Google I / O de cette semaine, la société a vigoureusement fait pression sur les développeurs pour qu'ils adoptent un nouveau modèle de programmation, qui pourrait, selon la société, faciliter considérablement la création d'applications Web..

Au cours de plusieurs sessions tout au long de la conférence, les ingénieurs de Google ont parlé des composants Web, une norme évolutive du World Wide Web Consortium (W3C) conçue pour aider à organiser des pages Web complexes en fournissant un mécanisme pour les assembler à l'aide de petits composants à fonction unique..

«Les composants Web changent complètement la plate-forme Web. Ce n'est pas une hyperbole. En fait, cela change tout », a déclaré Matthew McNulty, directeur de l'ingénierie de Google, lors d'une présentation à la conférence, qui s'est tenue à San Francisco..

La norme pourrait être importante car «elle introduit un nouveau monde où les composants de différents fournisseurs peuvent cohabiter sur la même page. Les applications peuvent être fabriquées à partir de pièces trouvées sur une étagère massive », McNulty. «Il s'agit de composabilité. Il vous donne juste assez de conteneur pour que le Web devienne composable. »

Google a travaillé sur sa propre bibliothèque, appelée Polymer, qui facilite l'utilisation et l'extension des composants Web. "Polymer fait tout le travail acharné pour faire des [composants Web] un système cohérent", a déclaré McNulty..

«L'idée derrière Polymer est de tirer parti de la norme des composants Web», a déclaré Al Hilwa, directeur du programme de recherche IDC pour le développement de logiciels..

Hilwa a noté que Polymer est une tentative d'apporter une extensibilité avancée à la plate-forme Web, de la même manière que Java Enterprise Edition et Microsoft .Net permet aux développeurs de partager des composants et de créer rapidement des applications en utilisant le travail des autres.

Bien que les travaux sur les composants Web se poursuivent depuis 2010, la technologie semble maintenant prendre de l'ampleur.

Le Chrome 36 de Google, qui sera disponible dans quelques semaines et est maintenant prêt dans le canal bêta, prendra en charge les composants Web. C'est le premier navigateur à le faire.

"Il s'agit d'une étape importante dans le développement Web", a déclaré Eric Bildeman, un ingénieur Google travaillant au sein de l'équipe Chrome, lors d'une autre présentation sur la technologie..

À bien des égards, les composants Web offrent enfin les outils et techniques de codage avancés dont les développeurs dans d'autres langues ont longtemps profité, tels que les objets, les modèles et la liaison de données (bien que la liaison de données soit proposée par Polymer, pas par Web Components lui-même).

Malgré son utilisation presque universelle au cours de la dernière décennie, HTML, qui fournit le format de balisage de base pour la création de pages Web, n'a pas beaucoup avancé pour aider les développeurs à créer des applications Web complexes, a déclaré Bildeman..

Par exemple, il n'existe pas de méthode standardisée en HTML pour charger des éléments supplémentaires dans une page Web sans l'aide de technologies externes telles que les modules PHP ou Apache. JavaScript et CSS (feuilles de style en cascade) offrent depuis longtemps la possibilité d'appeler des fichiers externes lorsqu'un navigateur affiche une page Web.

L'émergence récente de HTML5 a fourni un grand soutien pour les technologies avancées, telles que le stockage local, la géolocalisation et le marquage sémantique. Mais les composants Web sont spécifiquement conçus pour rendre les développeurs plus productifs, a déclaré Bildeman..

Cependant, les composants Web nécessitent une manière différente de penser à la façon de créer des applications Web, a déclaré Bildeman..

Composants Web est en fait un terme générique, couvrant quatre spécifications différentes qui, lorsqu'elles sont utilisées ensemble, constituent la base de la création de pages Web composant.

La technologie de base des composants Web est peut-être une balise d'importation pour HTML. Bien que cela semble simple, la balise d'importation HTML peut sauver les développeurs de ce que l'on appelle l'enfer des dépendances, dans lequel ils doivent déclarer, dans le corps d'une page, toutes les bibliothèques qui seront nécessaires pour exécuter le code.

Au lieu de cela, les développeurs peuvent incorporer ces informations dans un composant et demander à la page d'appeler le composant. Le composant peut également être utilisé par d'autres pages.

La balise d'importation permet aux développeurs de définir leurs propres éléments, qui peuvent ensuite être appelés par le navigateur.

Les utilisateurs peuvent écrire leurs propres éléments, utiliser ceux écrits par d'autres, ou même étendre les éléments que d'autres ont créés avec de nouvelles fonctionnalités. Les éléments peuvent également contenir des connexions à d'autres ressources sur le Web en encapsulant des API externes (appels d'interface de programmation d'application).

«Il y a maintenant une séparation logique. Il s'agit de compartimenter le problème, donc ce n'est plus seulement un tas de JavaScript, HTML et CSS que vous espérez travailler ensemble », a déclaré Bildeman..

Au-delà de Google, d'autres fabricants de navigateurs semblent regarder attentivement la technologie.

Mozilla a déjà inclus un certain nombre de fonctions pour prendre en charge les composants Web, et Apple et Microsoft semblent étudier la possibilité d'inclure la prise en charge dans leurs navigateurs. Opera, car il utilise le moteur de mise en page Google Chrome Blink, prend en charge les composants Web par défaut.

Google a testé des composants Web dans ses propres opérations. Le site Polymer utilise des composants. Le site de Google pour documenter la progression du développement de Chrome utilise également des composants pour récupérer les données d'une base de données et les afficher à l'écran.

Le système d'exploitation ChromeOS, utilisé dans les Chromebooks de Google, utilise des composants Web pour alimenter son clavier virtuel et son lecteur multimédia.

L'intérêt pour les composants Web semble également croître ailleurs. Un certain nombre de registres de composants où les développeurs peuvent utiliser et contribuer leurs propres composants sont apparus, y compris les éléments personnalisés, la cuisine des composants et WebComponents.org.

"Cet écosystème ne fait que commencer", a déclaré McNulty.

Rejoignez les communautés Network World sur Facebook et LinkedIn pour commenter des sujets qui vous tiennent à cœur.