Web basada en estándares, plugins y Silverlight

Por:

Walid Abu-Hadba, Vicepresidente Corporativo, Evangelización y Plataformas de Desarrollo

Scott Guthrie, Vicepresidente Corporativo, Plataforma de Desarrollo .NET

S. Somasegar, Vicepresidente Sénior, División de Desarrollo

clip_image001

Mientras vamos en camino hacia MIX, queremos compartir nuestras ideas sobre el papel de los plugins en general y de Silverlight en particular dentro del contexto de HTML5 y del futuro de la web. Dada nuestra mayor apertura al habar de nuestro compromiso e inversión en HTML5, hemos recibido preguntas de la comunidad sobre el futuro de los plugins y de la manera en que Silverlight es percibido como parte de una solución integral. Brindaremos aclaraciones, antecedentes y contexto más adelante en este documento; mientras tanto, he aquí un breve resumen:

  • En cuanto a las experiencias basadas en plugins, consideramos que Silverlight ofrece el conjunto de capacidades más completo actualmente disponible para los desarrolladores, lo que hace aún más acertada la decisión de elegir las tecnologías de Microsoft.
  • Para el desarrollo de Windows Phone, Silverlight y XNA representan las piezas fundamentales para crear experiencias enriquecedoras que aprovechan por completo el Windows Phone.
  • HTML5 es una solución para muchos usos, y los desarrolladores deben tomar decisiones acertadas según las necesidades de sus aplicaciones, con pleno conocimiento de que tenemos el legado y la visión futurista para soportar una amplia variedad de tecnologías para satisfacer esas necesidades.

Ahora, más contexto. Uno de nuestros objetivos consiste en proporcionar un conjunto integral de herramientas que soporte muchos escenarios de usos. Tal y como lo requieren los “artesanos” expertos (los desarrolladores que cuentan con Microsoft), ofrecemos un conjunto integral de herramientas para brindar la caja de herramientas más completa en Windows (y, a veces, en otras plataformas). Como es bien sabido entre los desarrolladores, cada herramienta sacrifica una cosa por otra, y eso ha sido un hecho a lo largo de la historia de la programación. Algunas herramientas ofrecen desarrollo rápido, pero menos oportunidad de expresión u optimización. Otras herramientas son mejores para el desarrollo a gran escala en equipo, pero menos adecuadas para uso individual. Otras pueden ser ideales para trabajar en diferentes plataformas, pero no explotan las capacidades de la plataforma ni del hardware. Aquellos de nosotros que diseñamos herramientas de desarrollo siempre buscamos ofrecer los más atributos posibles en una herramienta, aunque reconocemos que incluso las herramientas de tecnología de punta son incapaces de funcionar igual en todos los casos. Así como existen sacrificios de ingeniería en tu software, nuestras herramientas enfrentan los mismos retos. Consideramos que es importante decir esto, y creemos que los desarrolladores están lo bastante informados para saber que ninguna herramienta puede hacer todo bien. Esto es más cierto que nunca debido a la variedad cada vez más extensa de software, dispositivos y ambientes.

Esto conduce a las elecciones que deben hacer los desarrolladores. Aunque en ocasiones trabajamos para proporcionar una guía acerca de los diferentes atributos en los cuales las herramientas sobresalen, sabemos que los desarrolladores a veces desean obtener una sola solución acertada a la amplia diversidad de retos técnicos. Pero a veces no somos tan claros como quisiéramos al explicar los distintos atributos. Cuando somos más claros, puede surgir cierta confusión en lo que pareciera ser un cambio de dirección, cuando en realidad fue, en el peor de los casos, un cambio en el enfoque.

Cuando se trata de enfoque, es importante destacar las herramientas que cientos de miles de personas utilizan para su software en Windows —software comercial, software de negocios o software de plataforma— tanto en clientes como en servidores. Esas herramientas, C, C++, C# y VB (para programar en Win32, .NET, etc.) son las herramientas estándares en la industria para un conjunto muy extenso y diverso de desarrolladores y software (el más grande de la industria). Las opciones y los sacrificios inherentes al uso de esas herramientas son razonablemente comprensibles, y con Visual Studio ofrecemos un ambiente de desarrollo líder en la industria para esas herramientas. Continuamos invirtiendo de forma considerable en esas herramientas y estamos comprometidos a evolucionarlas conforme surjan nuevas generaciones de nuestras plataformas.

Aunque nos hemos enfocado en el papel de HTML5 como el centro del recién lanzado Internet Explorer 9 y hemos demostrado un compromiso sin precedentes de ser líderes en navegadores HTML5, quizá no nos hemos enfocado lo suficiente en el desarrollo de herramientas para HTML5. Pretendemos enfocarnos mucho más en el futuro, tanto como la retroalimentación y las inquietudes de nuestros clientes exijan que nos enfoquemos en esas herramientas para la caja de herramientas profesionales. Sería justo decir que el grado al cual no nos enfocamos en lo anterior lo compensamos enfocándonos en Silverlight como un tiempo de ejecución (y por extensión XAML).

Cuando presentamos Silverlight por primera vez como un plugin para diferentes plataformas y navegadores con el fin de generar experiencias web enriquecedoras, no había gran disponibilidad de estándares web para soportar los muchos escenarios de uso que los desarrolladores deseaban construir. Dos importantes dinámicas de la industria han cobrado forma desde ese entonces y nos han llevado a redefinir el papel de Silverlight como una herramienta clave dentro de la caja de herramientas del desarrollador.

En primer lugar, el mundo ha dejado de ser aquél donde la gente usaba un solo dispositivo (principalmente una PC) para convertirse en uno donde se utilizan varios dispositivos, y muchas de las experiencias en esos dispositivos están habilitadas para la web en forma y fondo. Puesto que la experiencia de usuario ahora es un dispositivo múltiple (Ej., varias plataformas y navegadores), los estándares y el alcance desempeñan un papel más importante que antes, tanto para los usuarios como para los desarrolladores. En segundo, la evolución y la madurez de los estándares web han producido el HTML5 que soportará muchos de los escenarios que antes requerían plugins. El éxito del mercado detrás de la adopción de HTML5 como una ruta futura hacia un mayor alcance en múltiples plataformas continúa aumentando, y con Internet Explorer 9, Microsoft es el líder entre todos los que se encuentran generando ese cambio.

No obstante, ni los plugins ni las estrategias basadas en estándares son la única respuesta al desarrollo de clientes. En general, sabemos que los desarrolladores siempre quieren lo mejor de todo en una sola herramienta, pero al mismo tiempo reconocen que esa no es una manera práctica de abordar el desarrollo. Los desarrolladores necesitan tomar decisiones, y las herramientas continuarán evolucionando. Deseamos brindar dirección y claridad, aunque estamos conscientes de que esas decisiones siempre se necesitarán tomar de acuerdo al código y a los requerimientos del cliente. En la actualidad, los plugins y los estándares desempeñan papeles complementarios, y por motivos prácticos, no existe una sola tecnología que satisfaga todas las necesidades para el desarrollo de clientes. Aunque mucho se ha escrito sobre una brecha cada vez menor entre las capacidades de HTML5 y las capacidades que brindan los plugins, estos últimos continuarán evolucionando, por lo que seguramente habrá una brecha hasta cierto punto, y ésta se contraerá y expandirá cíclicamente. La contracción ocurre cuando la especificación del estándar “se pone al día” con las tecnologías de plugins, y luego se vuelve a expandir cuando la siguiente ola de innovación rebasa los límites.

Como parte del soporte continuo para los escenarios que requieren capacidades basadas en plugins, presentaremos la versión beta de Silverlight 5 en MIX con unas demostraciones espectaculares de distintos escenarios. Y tal como lo mencionamos en el resumen anterior, consideramos que Silverlight ofrece el conjunto más completo de capacidades basadas en plugins disponibles actualmente para los desarrolladores, lo que hace aún más acertada la decisión de elegir las tecnologías de Microsoft. En el marco de MIX, también hablaremos acerca del Windows Phone y de la experiencia de los desarrolladores con Silverlight, XNA y Visual Studio.

Por último, creemos que nuestra postura ha quedado clara: a lo largo de los próximos meses, demostraremos nuestro enfoque en HTML5, en Internet Explorer y en las herramientas. HTML5 es una solución para muchos escenarios, pero los desarrolladores deben tomar las decisiones correctas, con pleno conocimiento de que tenemos el legado y la visión futurista para soportar una amplia variedad de tecnologías para satisfacer esas necesidades.