ItsNat v0.3 : puro SVG con AJAX, Safari, Opera y Móviles
miércoles, junio 11, 2008 at 11:57AM He publicado la versión 0.3 de ItsNat, Natural AJAX.
Para los que no lo conozcan, ItsNat es un Framework Web AJAX Java. La principal característica de ItsNat es que define un "navegador universal W3C" en el servidor, un técnica que llamo TBITS, "The Browser Is The Server", en donde el navegador es básicamente un terminal del estado del servidor, en donde cualquier cambio en el DOM servidor usando W3C DOM Java APIs cambia el cliente automáticamente, y los eventos del usuario son enviados al servidor via AJAX y recibidos como W3C DOM Events.
* El motor de la versión v0.3 ha sido fuertemente refactorizado para permitir añadir con facilidad cualquier navegador con soporte AJAX. El resultado directo de esta refactorización es el soporte de una gran variedad de navegadores:
Desktop: aparte de MSIE 6+ y FireFox 1+ de la versión 0.2 se añaden Safari 3+ y Opera 9+ y basados en QtWebKit (Qt y QtJambi 4.4).
Navegadores de dispositivos móviles: Opera Mini 4, Opera Mobile 8.6, NetFront 3.5, Minimo 0.2, IE Mobile of Windows Mobile 6, iPhone/iPod Touch/iPhone SDK, Android (m5-rc15), S60WebKit (móviles Nokia S60 3rd), Iris 1.0.8 y QtWebKit (Qt 4.4 embedded). Todos ellos incluyen AJAX.
De esta manera es posible crear aplicaciones AJAX que corran en cualquier navegador de los listados con el mismo código fuente (o reutilizando muchas partes). Lo que en Opera llaman One Web como convergencia del mundo web desktop y móvil.
He remarcado IE Mobile 6 porque ha supuesto un enorme reto, IE Mobile 6 es un navegador muy pobre en DHTML y con muchísimos bugs y en buena parte es el que motivó la refactorización profunda de ItsNat. ItsNat con un gran esfuerzo y "sucios trucos" consigue que IE Mobile soporte prácticamente las mismas características DHTML que cualquier otro usando W3C DOM APIs en el servidor. El resultado no es perfecto (IE Mobile es técnicamente malo y deficiente) pero estoy seguro que en Redmon no podrán creerse lo que su trasto puede hacer y de forma tan sencilla de programar (via JavaScript a pelo es un infierno). Por supuesto incluyendo AJAX, Comet, server-sent events etc.
Los componentes son ahora configurables para funcionar en "modo joystick" y "modo selección sin teclado" pensando en navegador móviles permitiendo navegar por los elementos usando el joystick y sin necesitar teclado para la selección (no necesaria la tecla CTRL).
* Se introduce el soporte de páginas SVG puras con las mismas características que X/HTML, es decir para ItsNat una página SVG es tratada de la misma forma que una página X/HTML incluyendo eventos AJAX, Comet, server-sent events, componentes, referrers... lo de siempre. Obviamente esto sólo funciona en navegadores con soporte SVG tal y como FireFox (1.5+), Safari 3+, Opera 9+ y QtWebKit. SVG es una tecnología clave para competir con Flex y similares sin salir de las tecnologías Web.
* Otra implicación directa de la refactorización profunda son los visores remotos: ahora es posible monitorizar una página abierta con un navegador dado con cualquier otro de los soportados por ItsNat. El caso más extremo, y que funciona, es monitorizar una página abierta en IE Mobile con cualquier otro navegador.
* Modo Markup Driven en Forms: Es posible ahora sincronizar los formularios entre el cliente y el servidor de forma totalmente transparente tal que sólo sean necesarias APIs W3C DOM Java, es decir sin usar APIs de componentes, incluyendo actualización automática del DOM en el servidor cuando cambia el estado de los controles de formularios en el cliente. Esto posible gracias a los componentes de siempre en modo "markup driven" cuya API no es necesaria en este modo.
* Método ItsNatDocument.toDOM(String): que convierte una cadena con un trozo de markup en objetos DOM para ser insertados en el documento cubriendo una necesidad similar a la del innerHTML en el cliente. Es útil con trozos de markup medianos y complementaria al uso de las APIs DOM normales (mejor para trozos pequeños) o los templates de fragmentos (mejor para trozos grandes).
* El Feature Showcase es ahora un proyecto NetBeans 6.1 pero sigue siendo un ejemplo puro JVM 1.4
Para una lista completa de cambios consultar el Release Notes.
Por otro lado es posible ahora solicitar licencias de desarrollo comercial para proyectos de código cerrado. Las licencias de desarrollo comercial son GRATUITAS, permiten distribuir aplicaciones de código cerrado pero NO permiten instalaciones en producción. El enfoque busca que la empresa de desarrollo software no asuma el coste del software sino que sea el destinatario, de esta manera si una empresa tiene 20 clientes en vez de asumir el coste X de su software, sus 20 clientes asumen dicho coste como X/20.
La compra de licencias de producción estará disponible dentro de un par de meses y se venderán por núcleo de procesador sin límite de aplicaciones.
Recordaros el taller práctico de ItsNat ("hands on" que queda más "cool") el viernes 27 en el OpenJavaDay que coorganiza javaHispano junto con Sun. Los que vayais llevaros el NetBeans 6.1 perfil web instalado y el ItsNat 0.3 descargado.
Enlaces de ItsNat:
* Web
* Feature Showcase (demo/tutoriales online)
* Página con información sobre el licenciamiento comercial.
Espero vuestros comentarios, sugerencias, opiniones, críticas (civilizadas) etc.
j2ee 
Reader Comments