Pendant la conférence Google I/O (25 et 26 juin, San Francisco), les ingénieurs de Google ont parlé à plusieurs reprises d'un modèle de développement basé sur Web Components. Ce standard en cours de normalisation par le World Wide Web Consortium (W3C) doit permettre de construire des pages web complexes selon un mécanisme d'assemblage basé sur de petits composants à fonction unique. « Web Components transforme totalement la plate-forme web. Ce n'est pas une hyperbole », a déclaré lors d'un atelier Matthew McNulty, directeur de l'ingénierie chez Google. Le standard pourrait avoir un impact important, car « il introduit un nouveau modèle dans lequel les composants de différents fournisseurs peuvent cohabiter sur une même page. Et il devient possible de développer des applications à partir d'une vaste collection d'éléments », a ajouté le directeur de l'ingénierie. « C'est une affaire de 'composabilité', de conteneurs qui rendent le web 'composable' », a-t-il précisé.
Google a travaillé sur sa propre bibliothèque appelée Polymer, qui rend Web Components plus facile à utiliser et à étendre. « Polymer prend en charge tout le travail compliqué qui permet de faire de Web Components un système cohérent », a déclaré Matthew McNulty. Interrogé par nos confrères d'IDG News Service, Al Hilwa, directeur du programme de recherche pour le développement logiciel chez IDC, fait remarquer que Polymer a pour but de rendre la plate-forme web très extensible, au même titre que Java Enterprise Edition et Microsoft.Net permettent aux développeurs de partager des composants et de créer rapidement des applications en utilisant le travail des autres. En développement depuis 2010, la technologie à la base de Web Components semble trouver aujourd'hui un nouvel élan.
Chrome 36 compatible Web Components
Dans sa version 36, dont la sortie est prévue dans quelques semaines, Chrome sera le premier navigateur compatible Web Components. « C'est une étape importante dans le développement web », a déclaré Eric Bildeman, un ingénieur de Google travaillant sur le logiciel, lors d'un autre atelier consacré à la technologie. « Web Components apporte enfin les outils avancés et les techniques de codage que les développeurs trouvent depuis longtemps déjà dans d'autres langages de programmation, pour manipuler les objets, les modèles et le data binding (en réalité le data binding est géré par Polymer, et non par Web Components lui-même). Utilisé quasi universellement pour structurer les pages Web, le HTML n'a pas beaucoup progressé au cours de la dernière décennie pour faciliter le travail des développeurs et les aider à créer des applications Web complexes », a encore déclaré Eric Bildeman.
Par exemple, le HTML ne propose pas de méthode standard pour charger des éléments supplémentaires dans une page Web sans s'appuyer sur des technologies externes comme les modules PHP ou Apache. Depuis longtemps aussi le JavaScript et le CSS (Cascading Style Sheets) permettent d'appeler des fichiers externes au moment où un navigateur affiche une page Web. « C'est l'émergence récente du HTML5 qui a apporté un support conséquent à des technologies comme le stockage local, la géolocalisation et l'indexation sémantique. Web Components va spécifiquement contribuer à rendre les développeurs plus productifs », a encore déclaré l'ingénieur de Google. « Ils introduisent aussi une autre façon de penser la création des applications Web », a-t-il ajouté. Web Components est un terme générique. Il recouvre quatre spécifications différentes qui, lorsqu'elles sont utilisées ensemble, permettent de construire une page web basée sur plusieurs composants.