Con componentes, Google agita por una revolución en el desarrollo web

En la conferencia Google I / O de esta semana, la compañía presionó enérgicamente a los desarrolladores para que adoptaran un nuevo modelo de programación, uno que podría, según la compañía, facilitar radicalmente la creación de aplicaciones web..

En varias sesiones durante la conferencia, los ingenieros de Google hablaron sobre Web Components, un estándar en evolución del World Wide Web Consortium (W3C) diseñado para ayudar a organizar páginas web complejas al proporcionar un mecanismo para ensamblarlas usando componentes pequeños de una sola función.

“Los componentes web cambian completamente la plataforma web. Esto no es una hipérbole. Esto realmente cambia todo ", dijo Matthew McNulty, gerente de ingeniería de Google, durante una presentación en la conferencia, que se celebró en San Francisco.

El estándar podría ser importante porque “introduce un nuevo mundo donde los componentes de diferentes proveedores pueden vivir juntos en la misma página. Las aplicaciones se pueden crear a partir de piezas que se encuentran en un estante masivo ”, McNulty. “Se trata de componibilidad. Le proporciona un contenedor suficiente para que la Web se vuelva componible ".

Google ha estado trabajando en su propia biblioteca, llamada Polymer, que facilita el uso y la extensión de los componentes web. "Polymer hace todo el trabajo duro para hacer que [Web Components] sea un sistema cohesivo", dijo McNulty.

"La idea detrás de Polymer es aprovechar el estándar de componentes web", dijo Al Hilwa, director del programa de investigación de IDC para desarrollo de software..

Hilwa señaló que Polymer es un intento de brindar extensibilidad avanzada a la plataforma web, de la misma manera que Java Enterprise Edition y Microsoft .Net permiten a los desarrolladores compartir componentes y crear aplicaciones rápidamente utilizando el trabajo de otros..

Aunque el trabajo en Web Components ha estado en curso desde 2010, la tecnología ahora parece estar cobrando impulso.

Chrome 36 de Google, que se enviará en unas pocas semanas y ya está listo en el canal beta, admitirá Web Components. Es el primer navegador que lo hace..

"Este es un hito en el desarrollo web", dijo Eric Bildeman, un ingeniero de Google que trabaja en el equipo de Chrome, durante otra presentación sobre la tecnología..

En muchos sentidos, Web Components finalmente ofrece las herramientas y técnicas de codificación avanzadas que los desarrolladores en otros idiomas han disfrutado durante mucho tiempo, como objetos, plantillas y enlace de datos (aunque el enlace de datos lo ofrece Polymer, no Web Components)..

A pesar de su uso casi universal en la última década, HTML, que proporciona el formato de marcado básico para crear páginas web, no ha avanzado mucho en términos de ayudar a los desarrolladores a construir aplicaciones web complejas, dijo Bildeman.

Por ejemplo, no hay una forma estandarizada en HTML para cargar elementos adicionales en una página web sin la ayuda de tecnologías externas como PHP o módulos Apache. Tanto JavaScript como CSS (hojas de estilo en cascada) han ofrecido durante mucho tiempo la capacidad de invocar archivos externos cuando un navegador presenta una página web.

La reciente aparición de HTML5 ha brindado una gran compatibilidad con tecnología avanzada, como almacenamiento local, geolocalización y etiquetado semántico. Pero los componentes web están diseñados específicamente para ayudar a que los desarrolladores sean más productivos, dijo Bildeman.

Sin embargo, los componentes web requieren una forma diferente de pensar acerca de cómo construir aplicaciones web, dijo Bildeman.

Web Components es en realidad un término general que cubre cuatro especificaciones diferentes que, cuando se usan juntas, proporcionan la base para construir páginas web con componentes..

Quizás la tecnología central para Web Components es una etiqueta de importación para HTML. Si bien suena simple, la etiqueta de importación HTML puede salvar a los desarrolladores de lo que se conoce como infierno de dependencia, en el que deben declarar, en el cuerpo de una página, todas las bibliotecas que se necesitarán para ejecutar el código.

En cambio, los desarrolladores pueden incrustar esa información dentro de un componente y hacer que la página llame al componente. El componente también puede ser utilizado por otras páginas.

La etiqueta de importación permite a los desarrolladores definir sus propios elementos, que luego pueden ser llamados por el navegador.

Los usuarios pueden escribir sus propios elementos, usar los escritos por otros, o incluso extender los elementos que otros han creado con nuevas características. Los elementos también pueden contener conexiones a otros recursos en la Web envolviendo API externas (llamadas a la interfaz de programación de aplicaciones).

“Hay una separación lógica ahora. Se trata de compartimentar el problema, por lo que ya no es solo un montón de JavaScript, HTML y CSS que esperas que funcionen juntos ", dijo Bildeman.

Más allá de Google, otros fabricantes de navegadores parecen estar analizando la tecnología..

Mozilla ya ha incluido una serie de funciones para admitir componentes web, y Apple y Microsoft parecen estar investigando la posibilidad de incluir soporte en sus navegadores. Opera, debido a que utiliza el motor de diseño Google Chrome Blink, admitirá componentes web de forma predeterminada.

Google ha estado probando componentes web en sus propias operaciones. El sitio Polymer utiliza componentes. El sitio de Google para documentar el progreso del desarrollo de Chrome también utiliza componentes para obtener datos de una base de datos y mostrarlos en la pantalla.

El sistema operativo ChromeOS, utilizado en Google Chromebooks, utiliza componentes web para alimentar su teclado virtual y reproductor multimedia.

El interés en los componentes web también parece estar creciendo en otros lugares. Han aparecido una serie de registros de componentes donde los desarrolladores pueden usar y contribuir con sus propios componentes, incluidos Custom Elements, Component Kitchen y WebComponents.org.

"Este ecosistema recién está comenzando", dijo McNulty.

Únase a las comunidades de Network World en Facebook y LinkedIn para comentar temas que son lo más importante.