Bienvenida arrow Especiales arrow Apple y la batalla de las aplicaciones web
Apple y la batalla de las aplicaciones web PDF Imprimir E-Mail
Sobre Flash, SproutCore, y estrategias multiplataforma, por Miguel Cornejo   
Saturday, 21 de June de 2008

webappsDesde la pasada WWDC, se ha venido hablando mucho sobre la estrategia que Apple está desplegando en el terreno de las aplicaciones web. Algunas cosas son interesantes, otras parecen muy exageradas. Pero lo cierto es que es importante.

 

Los datos

Para empezar por el principio, conviene recordar lo que de verdad ha sucedido y viene sucediendo:

1. Desde hace ya años, muchos fabricantes intentan crear páginas web que funcionen como programas (flexibles, rápidos, capaces de funciones complejas y que no tengan que andar recargándose a cada paso).

Estas "aplicaciones web" tienen la gran ventaja de que no necesitan que el usuario instale nada en su ordenador. Todo se carga desde el servidor, aunque luego funcione principalmente en tu Mac. No hay que preocuparse de versiones ni parches. No hay que preocuparse por licencias instaladas. Es el modelo que están siguiendo todos los que dan "software como servicio" (SaaS), como Google Apps o Salesforce... o Apple .Mac. Pero también por aplicaciones más sencillas o como interface web de otras más potentes.

2. Hay dos caminos principales: el uso de herramientas "nativas" de la web, estándares y que pueden ser ejecutadas en cualquier navegador; y el uso de plugins, componentes añadidos fabricados por una empresa concreta y que añaden capacidades al navegador.

Las primeras son Javascript y CSS, y su descendiente AJAX. Son parte de los estándares de internet, no los controla nadie. Aunque hasta no hace mucho estaban bastante limitados, Google ha sido pionera (y ejemplo de muchos) en su uso para crear páginas más potentes. Y hoy en día han mejorado mucho.

Las segundas están representadas por Adobe con Flash (y Flex y AIR, las iniciativas derivadas diseñadas para crear aplicaciones y cuya estrategia comentamos hace un tiempo aquí), o Microsoft Silverlight, principalmente. Todas dependen de un único fabricante que controla la tecnología y hace los plugins como (y cuando) le conviene.

3. Apple no ha recibido el mejor trato de Adobe en este terreno. Durante mucho tiempo, y especialmente cuando la empresa de la manzana no acababa de remontar, ni Macromedia ni Adobe invirtieron lo suficiente para que los plugins para Mac estuvieran a la altura de los que hacían para Windows.

Eso significa que Apple ha experimentado en carne viva (otra vez) lo que supone depender de un estándar dominado por otra empresa, que por unas razones u otras le puede convertir en ciudadano de segunda, en este caso en el terreno de las animaciones y (un día) las aplicaciones web.

4. Desde hace años, Apple trabaja con otras organizaciones en el WHATWG, el Grupo de Trabajo sobre Tecnologías para Aplicaciones de Hipertexto Web, o lo que es lo mismo, cómo hacer aplicaciones web complejas usando sólo los mimbres estándar de la web, sin plugins.

5. Adobe no ha podido sacar el plugin Flash para aparatos móviles (el sucedáneo, Flash Lite, es algo muy diferente que no permite ejecutar aplicaciones) y las pasaría canutas para hacer algo lo suficientemente eficiente para funcionar en el entorno de ahorro de energía y procesador de un iPhone o un smartphone, por no mencionar para adecuarse a las limitaciones de seguridad que impone Apple (nada de descargar o subir archivos, por ejemplo). Aunque "siguen trabajando con Apple" parece que ésta ha dicho a los desarrolladores interesados en el iPhone que se limiten a fijarse en lo que digan "el WHATWG y la W3C" respecto a estándares. Que no esperen a Flash. Y en colaboración con Google ha creado un interfaz propio para ver vídeo de YouTube en el iPhone sin tocar Flash.

6. Como es sabido, Apple desarrolló un navegador web llamado Safari partiendo de Konqueror, una de las iniciativas Open Source de la época. Lo ha hecho dedicando recursos a ampliar y mejorar el proyecto Open Source, hasta el punto de que ahora ya es completamente distinto... y sigue siendo Open Source, pero se llama WebKit. Es multiplataforma (una versión incluso funciona sobre la S60 que usan muchos dispositivos móviles), lo que ha ayudado a Apple a lanzar una versión de Safari para Windows. No es que fuera un éxito de audiencia (de hecho lo lanzaron con demasiados bugs) pero funciona bien.

7. Antes y durante la WWDC se comentó bastante que Apple había logrado un gran aumento del rendimiento de Safari, con la incorporación a WebKit de soporte para la tecnología SquirrelFish. Dejando aparte el logo y los tecnicismos, eso supone que Safari ahora es aún más eficiente en la ejecución de JavaScripts, uno de sus puntos fuertes. Y en paralelo, en la WWDC se anunció que Safari 4 incorpora la capacidad de grabar páginas web como aplicaciones de escritorio, algo que no es nuevo (Mozilla Prism, o Fluid en el Mac... aunque esa es otra historia) pero sí es importante. Mirad lo que hace Fluid y pensad en las posibilidades.

8. Durante la keynote de la WWDC, justo cuando la mayor parte de los usuarios estaban dando cabezadas, Jobs soltó las novedades de Mobile Me. En concreto, anunció que las habían transformado en un conjunto de aplicaciones web, capaces de comportarse prácticamente como las de escritorio, con prácticamente todas las prestaciones propias de un programa Mac. Y por lo que se vio, es cierto.

9. En dos sesiones de la WWDC se explicó de dónde ha sacado Apple la capacidad para hacer éso. Al parecer, viene de la utilización de una framework (conjunto de piezas) llamado SproutCore. Como decía el anuncio de la sesión, "SproutCore es un framework de Javascript para desarrollar aplicaciones con el aspecto y la percepción de aplicaciones de escritorio, [licenciado bajo] código abierto, independiente de plataformas, e inspirado en Cocoa. Aprenda cómo combinar SproutCore con las tecnologías estándar de almacenamiento de datos offline de HTML5 [la próxima versión del estándar] para conseguir una experiencia de usario de primera clase y un rendimiento excepcional en su aplicación web". En concreto, es un armazón pensado desde abajo para programar aplicaciones web serias y complejas con facilidad.

sproutcore

Eso significa que usando sus elementos y con muy poco código añadido se pueden desarrollar aplicaciones capaces de tratar y modificar datos sin depender del servidor, conectándose sólo cuando tienen que cargar o guardar nuevos datos. Programas como lo que vemos entre las demos de SproutCore o como 280Slides, que no está hecha con ese mismo framework pero nos da una idea muy clara de la potencia de la idea. De hecho, recomendamos efusivamente una visita a 280slides.

objective-j

10. Por lo visto, Apple ha abordado SproutCore tan a fondo como abordó Konqueror/WebKit, pero con menos daños colaterales. Después de evaluar varias alternativas, han puesto todo su peso y sus metodologías detrás de ésta: de entrada, el creador del proyecto, Charles Jolley, ahora trabaja directamente para Apple. Y aunque dice que no puede confirmarlo porque Apple no quiere que se hable (eso no le impide soltar liebres en su blog), parece que los desarrolladores de Apple han cambiado seriamente el framework, mejorándolo y aumentándolo sensiblemente hasta el punto de que ahora es algo así como "Cocoa para la web": una herramienta extremadamente potente para desarrollar rápidamente aplicaciones de verdad que funcionan sobre el navegador.

Especulaciones

Esto ha dado lugar a todo tipo de debates y especulaciones (por ejemplo, en los foros).

Por un lado, es evidente que Apple quiere un entorno libre de empresas dominadoras (aparte de sí misma, en todo caso) y prefiere impulsar estándares abiertos a soluciones propietarias. Esto no significa que ataque a Flash como se ha dicho (han llamado a SproutCore "Flash killer"), pero sí que está desarrollando (muy seriamente) algo que va a interferir con los planes de Adobe y de Microsoft para el futuro de las aplicaciones web... con un poco de suerte. No, SproutCore no está pensado para matar a Flash, pero sí para convertir a Flex y a AIR y a Silverlight en sencillamente innecesarios.

Por otro, lo que ha hecho Apple con SproutCore es reforzarlo hasta el punto de crear un entorno de desarrollo de aplicaciones de primera fila, siguiendo la filosofía de Cocoa (el conjunto de frameworks que usa Apple, derivados de los que usaba NeXT, y que facilitan enormemente la creación de aplicaciones sólidas. Como dice el responsable de SproutCore, no se trata de "Cocoa para la web" porque Cocoa está pensado para el escritorio y eso marca diferencias sustanciales, aunque sigue las mismas pautas y lecciones aprendidas. Y además, es código abierto. En resumen, la idea no es correcta pero es al menos igual de potente.

Por otra parte, se ha especulado con que Apple ha construído un "submarino" en el que ejecutar aplicaciones desarrolladas con éste primo de Cocoa... en cualquier entorno, sea Windows, Linux, o cualquier hipotético sistema operativo con un navegador que siga los estándares web. Algo muy parecido a lo que hace años fue la filosofía de la Yellow Box , un intento de crear un entorno que, instalado sobre Windows, permitiera correr a las aplicaciones Mac sin problemas. Esto... se queda corto y a la vez no es exacto. Por un lado, SproutCore no requiere un Mac para programar, no está basado en Mac (aunque facilite crear interfaces tipo Mac), y hasta el momento Apple no lo ha incorporado a Xcode. Por otro, es evidentemente mucho más limitado que Cocoa. Lo que sí está haciendo Apple es proporcionar a todo el mundo las herramientas necesarias para crear aplicaciones web más que sólidas y completamente multiplataforma.

¿En resumen?

Después de todo este repaso, las cosas parecen más complicadas que antes. Pero sólo lo parecen. Resumamos:

- Apple está sacando a la luz su trabajo para hacer posible la creación de aplicaciones web pesadas sin usar plugins, dentro de los estándares web, y usando herramientas y código abierto.

- Ese trabajo se centra en dos partes: un navegador multiplataforma capaz de funcionar en Mac, Windows, Linux y hasta S60 (smartphones) llamado WebKit, sobre el que se basa Safari; y un framework para desarrollar aplicaciones con Javascript, llamado SproutCore, también completamente abierto y multiplataforma.

- La primera pata pretende influir en el desarrollo de los navegadores que se usan para ejecutar las aplicaciones, y sobre todo asegurar que el Mac no vuelve nunca a quedarse sin un navegador de primerísima fila. La segunda pata pretende influir en la batalla entre los estándares y los plugins, frustrando las estrategias de Adobe y Microsoft para dominar el mercado de las aplicaciones web.

- Para reforzar la eficacia de ambas estrategias, Apple está usando el iPhone. Por un lado, Safari es el navegador obligatorio en la plataforma de moda, lo que hará que se le tome en cuenta en los miles (cientos de miles) de desarrollos que se están haciendo para dispositivos móviles. Por otro, Apple ha desterrado a Flash del iPhone (incluído Flash Lite) y recomienda usar las herramientas que acaba de presentar.

- Aún más que Google, que lleva unos años proponiendo frameworks e ideas para conseguir parte de lo mismo (Gears , las APIs de Google Maps), Apple cuenta con una enorme comunidad de desarrolladores y con un mercado cautivo (clientes de .Mac, perdón Mobile Me, por favor un paso al frente). Eso significa que su apoyo activo a un entorno de desarrollo o un framework pueden suponer su adopción rápida y eficaz por decenas de miles de manos programadoras. Esto a su vez puede convertir ese framework en una referencia, algo documentado y soportado y conocido, lleno de ejemplos, y apreciado por a industria. En resumen, puede convertir a SproutCore en una alternativa completamente seria a Flash/Flex/AIR y Silverlight... pero sobre todo, puede demostrar que no hacen puñetera falta para desarrollar aplicaciones web, y que son mucho menos eficaces que alternativas abiertas.

¿Qué gana Apple con todo ello?

Principalmente seguridad. La seguridad de que sus usuarios no van a ser ciudadanos de segunda en un mundo de "software como servicio". La seguridad de que los desarrolladores no van a estar sujetos a una empresa que les cobre peaje y pueda (por una razón u otra) discriminar al Mac.

Y gana también la seguridad de que esas aplicaciones van a funcionar excepcionalmente en esta plataforma, convirtiéndola en apta para todo tipo de entornos en los que aún es un problema no ser "compatible" con los programas tradicionales. Las aplicaciones web son la puerta por la que los Mac van a romper las defensas de muchas empresas.

Y gana los medios para crear aplicaciones web como Mobile Me (para empezar) que van a ser usadas en todas las plataformas, difundiendo el mensaje de "hecho en Mac" por todas partes con su aspecto característico, poniendo la manzana a la vista de la gente, y en general haciendo publicidad de Apple. No olvidemos que Apple crea muchas de sus aplicaciones, y desde el retorno de Jobs ha dado muchísima importancia a contar con las herramientas apropiadas para hacerlo bien.

Para terminar: lo que está mostrando Apple con tan poco ruido es tremendamente importante para su futuro, a ese nivel de tuercas y tornillos al que los usuarios de a pie no nos asomamos nunca, pero cuyos resultados disfrutamos cada vez que usamos una aplicación en el Mac. Es una apuesta que parece inteligente y realista, y probablemente tendrá además un impacto muy serio en la industria informática en general. Pero será a medio plazo y de forma tan discreta como ha sido presentado.

 

Puedes comentar el artículo en los foros .

Tags:
View blog reactions

 
< Anterior   Siguiente >

Colabora con Macuarium

  • Compra en nuestra apple store

    Apple Store

    Comprando desde nuestra Apple Store particular ayudas a mantener Macuarium.
    Ir a la tienda...
  • tarjeta macuarium

    Tarjeta Macuarium

    El principal medio que existe para colaborar en el mantenimiento de Macuarium.com
    Consiguela Ahora...
  • Vistete con macu

    Camisetas Macuarium

    Vistete a la moda, con nuestra selección de ropa y complementos de macuarium.
    Ir al probador...

Apadrina un servidor

Cantidad:
$