texto:   A-   A+
eliax

Apple lanza SproutCore para aplicaciones web en cualquier navegador
eliax id: 4900 josé elías en jun 17, 2008 a las 09:03 PM ( 21:03 horas)
En el WWDC 2008 (la conferencia anual de desarrolladores de Apple, en donde se anunció el iPhone 3G), acaban de dar una sesión técnica para programadores que hizo que se "prendiera una bombilla" sobre mi cabeza, pues el tema tratado es algo que confirma una sospecha que tenía desde hace un buen tiempo (y que reporté de manera indirecta en este artículo, que recomiendo que lean) en donde se me empezó a hacer evidente que Apple no tenía intensiones de soportar a Flash en esa plataforma (sin embargo, este artículo de hoy cubre mas que ese tema, así que los anti-iPhonistas pueden seguir leyendo :)).

Noten que tres meses después de yo escribir ese artículo, Steve Jobs dio una excusa de por qué no había Flash en el iPhone, y Adobe anunció un esfuerzo para crear a Flash para el iPhone.

Sin embargo, creo que lo revelado esta semana en el WWDC 2008 es algo que finalmente le pone el clavo final al sarcófago de Flash en el iPhone (o al menos a una versión que venga instalada de fábrica en el Safari del iPhone por parte de Apple), y de paso catapulta a Apple al frente de la carrera de los grandes en Aplicaciones Web para los navegadores tradicionales.

Lo que Apple demostró fue una tecnología llamada SproutCore, una nueva librería de Javascript para crear aplicaciones tipo AJAX.

A primera vista esto es tan solo un anuncio mas de una larga lista de librerías para crear aplicaciones tipo AJAX con Javascript, un mercado ya medio saturado, con excelentes librerías como script.aculo.us y prototype.js, o las librerías AJAX de Yahoo y Google. Inclusive, la misma Apple ya había anunciado planes para desarrollar en el iPhone con AJAX.

Lo interesante de esta noticia, sin embargo, es que Apple ha replicado el modelo de Cocoa (los APIs, o interfaces de programación, de Mac OS X) en SproutCore, tanto en su modelo de programación y eventos internos, como en la apariencia visual de las aplicaciones.

Es decir, resumido en una oración, SproutCore es un framework (en este caso, un conjunto de funciones) que te permite crear aplicaciones del tipo Mac OS X pero que ejecutan en prácticamente cualquier navegador, desde el mismo Safari (tanto en las Macs como en los iPhones), hasta Firefox, Opera, o Internet Explorer.

Y noten que esto no es una tecnología futura, es una tecnología ya probada, basada en el original Sprout Framework, y el mismo servicio de Mobile Me anunciado recientemente (lean un análisis al respecto en este enlace) lo utilizará al 100% en su portal cuando salga en las próximas semanas.

¿Cuál es el significado de SproutCore en la estrategia de Apple? Pues algo inmenso, pues SproutCore representa nada mas y nada menos que el nuevo hermano de Mac OS X y iPhone OS. Con SproutCore, Apple tiene ahora un trío asombroso de tecnologías:

1. El Mac OS X para dispositivos como las Macs y MacBooks, con Cocoa como el interfaz de aplicaciones nativas.

2. El iPhone OS, basado en Mac OS X, con Cocoa Touch para interfaces visuales multi-toque, y destinado a dispositivos móviles.

3. SproutCore, para aplicaciones "no nativas" sino que del tipo "aplicaciones web", y que funcionen tanto en Mac OS X, como en el iPhone, o en cualquier otro navegador del mercado.

Con esto está mas que claro que Apple está creando un asalto por completo al mercado de la próxima generación de aplicaciones móviles y de Internet. Noten además que SproutCore toma ventaja de las últimas especificaciones de HTML 5, para almacenar datos y aplicaciones localmente, sin necesidad de una conexión a Internet, o de plugins como Google Gears.

Algo interesante es que SproutCore es totalmente abierto, sin restricciones de ningún tipo, algo que es particularmente contrario a las medidas que usualmente toma Apple para controlar todo.

Sin embargo, hay una muy buena razón de hacer esto: Si una gran masa adopta a SproutCore como un motor para crear aplicaciones tipo AJAX, indirectamente estarán creando aplicaciones para el ecosistema de Apple, y Apple ha dejado claro que planea que las aplicaciones de tipo AJAX funcionen mejor en su navegador Safari que en cualquier otro, estando en estos momentos reimplementado el núcleo de Safari para este fin. Dicho sencillamente, las aplicaciones tipo AJAX se sentirán mejor en Safari, y todo programador que no haya estado dormido bajo una roca en los pasados 2 años sabe muy bien que el futuro de aplicaciones web es AJAX.

Además, cuando empiecen a surgir aplicaciones con SproutCore, estas irremediablemente tendrán un "look" al estilo OS X, y las personas las asociarán mas con Macs que con Windows o Linux, lo que es muy posible que haga que mas personas adopten las Macs (y el iPhone), dado el grado de familiaridad que tendrán con el entorno a través de Internet.

Nota a los técnicos en programación: Algo interesante sobre SproutCore (que se pronuncia "ess-praut-cor" en Inglés), es que por defecto implementa un modelo de programación al estilo MVC (Model-View-Controller), basado en la implementación MVC de Cocoa, para de esa manera independizar lo que es la parte visual de tu aplicación AJAX, con la parte de lógica, y la parte de datos, lo que hace a SproutCore una herramienta bien potente para desarrollar este tipo de aplicaciones, ya que evita el problema mas grave de aplicaciones AJAX: el código tipo "espagueti".

Si quieren tener idea del tipo de aplicaciones que es posible crear con SproutCore, vean este demo, y en esta otra página pueden ver una muestra de los controles disponibles para crear aplicaciones.

Página oficial de SproutCore

Blog oficial de SproutCore

autor: josé elías

Comentarios

  • Excelente, un framework MVC de javascript. Seria interesante combinar este framework con el que considero el mejor documentado , mas manejable framework de PHP: Symfony, el cual es mi favorito.

    Symfony utiliza por default a prototype.js pero no es mvc

  • Hola, Elias soy un programador que tiene mucho tiempo haciendo aplicaciones desktop y nunca he hecho otra cosa en programación, me gustaría preguntarte algo para poder entrar el mundo de programación web.
    Se menciona mucho Ajax pero veo diferentes implementaciones de diferentes empresas.
    Son todo lo mismo o cada quien le hace los cambios para adaptarla a su ambiente y en caso de que sea lo mismo cual sería el estándar que debemos aprender para empezar y que manual o documentación me recomiendas?

    • Hola Ramón,

      AJAX no es una tecnología específica ni un producto, sino que una metodología que combina a Javascript con HTML Dinámico (DHTML), XML o JSON (o equivalente), y por lo general además utilizan el HTTP Request Object que permite hacer pedidos a servidores sin tener que recargar la página.

      Así que teniendo eso en cuenta, la respuesta es que todas son cosas diferentes, pero que son implementadas utilizando las mismas tecnologías para un mismo fin. Nota que nada evita que combines varias de estas librerías para tus aplicaciones, pero por lo general lo que haces es que elijes una o dos te concentras en esas librerías.

      Algunas de las cosas importantes a buscar en una librería AJAX son:

      1. Que tenga soporte de algún tipo, pues si de la noche a la mañana desaparece la persona que la mantiene estás por tu propia cuenta.

      2. Que sea fácil de utilizar.

      3. Que te ahorre tener que escribir mucho código.

      4. Que sea rápida.

      5. Que sea una descarga lo mas pequeña posible.

      6. Que funcione en múltiples navegadores (esto es esencial).

      7. Que tenga buena documentación.

      Las que mencioné en el artículo todas son bien recomendadas, pero hay muchas mas también populares.

  • Hola, pienso que flash y mas específicamente Flex (el cual es un entorno de desarrollo de aplicaciones Web enriquecidas basado en flash, libre para el desarrollo) compiten bastante bien con la tecnologías AJAX, soy programador y he desarrollados varias aplicaciones basadas en flex y la experiencia con el usuario es excelente, la usabilidad, interactividad y look de las aplicaciones es muy grande. eso sin tener en cuenta la gran cantidad de 'programadores' (y disenadores) Flash que existen. Yo pienso que tarde que temprano Apple tendrá que incluir un plug-in flash en su iPhone y en general en sus plataformas

  • Hace un par de semanas les hablé de SproutCore, un juego de librerías de funciones en Javascript que te permite desarrollar aplicaciones web que se comportan y ven como aplicaciones nativas del tipo "Cocoa" en el Mac OS X de Apple, inclusive teniendo una

Añadir Comentario

tu nombre
tu email
(opcional)
web personal
(opcional)
en respuesta a...
comentario de caracteres máximo
8 + 4 = requerido (control anti-SPAM)
¿De qué color es el cielo?: requerido (control anti-SPAM)
 

"Me encanta leer estas Reflexiones. Luego de leerlas cierro los ojos y por un momento me transporto al futuro :D quiero unooooooo!"

por "Alonzo" en feb 16, 2012


en camino a la singularidad...

©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax