Especiales
Apple y la batalla de las aplicaciones web | Apple y la batalla de las aplicaciones web |
|
|
|
| Sobre Flash, SproutCore, y estrategias multiplataforma, por Miguel Cornejo | |
| Saturday, 21 de June de 2008 | |
|
Los datos
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.
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. 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.
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. 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?
- 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. ¿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. 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: apple sproutcore javascript objective-J desarrolladores cocoa flash silverlight web app SaaS safari 4 wwdc |
| < Anterior | Siguiente > |
|---|


