domingo, 19 de abril de 2009

El futuro de la IT esta en… los navegadores??? (Parte 2)

Hoy en día, toda computadora personal y dispositivo móvil que se digne de decir que puede conectarse a Internet, posee un navegador Web. Aquí también existen varios colores y sabores: Internet Explorer, Mozilla Firefox, Apple Safari, Opera, Netscape, Google Chrome, o las implementaciones que hagan los fabricantes de los dispositivos, aunque casi siempre son derivaciones de los mencionados anteriormente.

Pueden tener características muy diferentes. Sin embargo, funcionan con las mismas tecnologías base, como HTML, CCS, Javascript y otras tecnologías como Flash. Y esto es lo que les da a las aplicaciones Web y al uso de navegadores para desarrollo de software grandes ventajas.

Las aplicaciones Web son las únicas que son verdaderamente independientes de la plataforma a utilizar. Lo único que los desarrolladores tienen que checar son algunos detalles propios de los navegadores: si tiene Javascript habilitado, si algunas características de las nuevas versiones de CCS o HTML no funcionan en versiones de navegadores antiguos, proporcionar una solución o lidiar con bugs propios de los navegadores. Puede parecer que es lo mismo que con aplicaciones de escritorio: hay que hacer modificaciones. Pero estas modificaciones son mucho mas sencillas y requieren de menos tiempo para su implementación en una aplicación de este tipo.

Mucho dirán que una aplicación Web tiene muchas desventajas:

  • HTML y Javascript como base: Esto podía ser una limitante hace algunos años. Sin embargo, como dicen por allí, “La evolución de las Tecnologías de la Información” nunca para. la W3C esta a punto de liberar el nuevo estándar HTML5, mas versatil y funcional. Los motores de Javascript de las nuevas versiones de los navegadores Web, donde destaca V8 de Google Chrome, tienen mucho mas poder de procesamiento. Surgen nuevas tecnologías basadas en estas como AJAX. Nuevos recursos para Javascript, como JQuery, cada día son mas usados y mejorados.
  • Necesitas una conexión a Internet: Se pueden desarrollar aplicaciones de este tipo que funcionen sin necesidad de estar conectado a la red y poder utilizar. Una pagina Web cargada al disco duro y su script de Javascript son en si una aplicación. Hoy en día existen nuevas plataformas de desarrollo para aplicaciones offline como Google Gears, que permiten crear aplicaciones mucho mas variadas y poderosas, que es lo que trataré en el siguiente punto.
  • Versatilidad y poder de las aplicaciones de este tipo es muy limitado: Además de Google Gears, esta Adobe Flash. Todos hemos visto en alguna página alguna aplicación grafica hecha con Flash que no le pide nada a una aplicación de escritorio común y corriente. Y ahora Flash forma parte de la plataforma de Adobe Air, nueva tecnología de desarrollo muy versatil que tiene el mismo objetivo que Google Gears: crear aplicaciones de escritorio a través del Navegador Web poderosas. Microsoft no se ha quedado atrás y a puesto en manos de los desarrolladores herramientas como Microsoft Silverlight o Windows Presentation Foundation. Por supuesto que será muy difícil ver el ultimo Halo de Microsoft correr en un navegador. Sin embargo la distancia es mas corta :).

Y lo mas importante, existen infinidad de recursos en la Web disponibles, libres o con licencia, que se puede usar: montones de plugins para navegadores, Widgets para los sitios sociales como MySpace, Facebook, Hi5 que pueden ser acoplados a una aplicación desarrollada, y un larguísimo etc.

Por supuesto que el software para escritorio desarrollado con Java, .NET, C++, Python, Ruby, etc., siempre será mucho mas potente. Sin embargo, ahora muchos desarrolladores tomarán en cuenta la versatilidad que las “aplicaciones Web para escritorio” proveen.