e-Valúame

Tag Archives: RIA

Como hacer RIA en Force.com

Desde siempre y hasta hace unos años la interface del usuario ha sido el caballo de batalla de las aplicaciones web. Las aplicaciones cliente-servidor que durante tanto tiempo han estado y están aún en nuestras manos, dejan huella y cuando te enfrentas a una aplicación web echas en falta ciertas «comodidades» (la velocidad, falta de recarga de la página, coger y arrastrar, etc) que te ofrecen este tipo de aplicaciones.

Antaño, para intentar paliar este «problema» del interface,  se empezó por utilizar Html dinámico , que con la ayuda de javascript, DOM y Css, se obtenían buenos resultados pero lejos de los que ofrecían las aplicaciones cliente-servidor. No hace mucho y con la ayuda de las mismas tecnologías, apareció Ajax . Con Ajax ya se obtienen interfaces muy aparentes llegando incluso a etiquetar las aplicaciones creadas con Ajax como RIA.  Sin embargo Ajax tiene varios problemas: el coste de realizar aplicaciones es realmente alto por su gran complejidad al  programar y además, y a pesar de estar basada en varios standares (Html,Css,Dom,JavaScript, XML),  Ajax no es un standard y esto lleva a una ejecución desigual en cada tipo de navegador.

Además de Ajax, han aparecido otras soluciones que permiten que permiten crear RIA. Wiki dixit: 

Hay muchas herramientas para la creación de entornos RIA. Entre estas se puede mencionar las plataformas Adobe Flash, Adobe Flex y Adobe AIR de Adobe, uniPaaS de Magic Software, AJAX, OpenLaszlo, Silverlight de Microsoft, JavaFX Script de Sun Microsystems, Bindows de MB Technologies y Javascript.

Fijemos la mirada en Adobe Flash Builder (anteriormente Flex Buider)  por su relación con la noticia y por su relevancia en el mercado.

Con Adobe Flash Builder  se solucionan todos los problemas tanto de interface de usuario como de complejidad de programación como de plataforma porque  utiliza la técnologia Flex que a su vez esta basada en la tecnologia Flash.  Me explico. La tecnología Flash nació para la visualización de contenido gráfico interactivo en internet con la característica de que cualquier contenido generado con esta tecnología podría ser visualizado en cualquier plataforma. Por su caracter gráfico la herramientas para la creación de Flash, Adobe Flash,  tenían su público objetivo en los diseñadores. Pero Adobe se le ocurrió utilizar esta misma tecnología con el objetivo puesto en los desarrollores y por ende en las aplicaciones web,  con la idea de solucionar todos los problemas que arriba se detallan. Y el resultado de todo esto fue Flex.

En realidad Adobe Flash Builder es el entorno de programación incrustado en Eclipse (entorno de programación por excelencia para Java) para poder desarrollar aplicaciones RIA, con un coste de 207€ o si lo prefieres por 249$ si te lo bajas de la web de EEUU (no lo he probado pero al menos eso es lo que pone). Pero existe la posibilidad de utilizar la tecnologia Flex sin comprar este entorno ya que Flex es open source, aunque también es cierto que el desarrollo se hace más costoso.

Si a esto le unes que Adobe Flash Player, aquel que te permite visualizar contenido Flash y ahora Flex,  está presente en el 98% de los navegadores (según Adobe), desarrollar aplicaciones con Flex es casi seguro un éxito. De hecho gran parte de las nuevas aplicaciones se están desarrollando con esta tecnologia porque propone productividad en el desarrollo y efectividad en su ejecución.

Y todo esto lo cuento porque AdobeSalesforce han creado Adobe Flash Builder para Force.com,  un extensión de  Adobe Flash Builder  para el desarrollo de aplicaciones RIA en Force. Recordemos que Force.com es la plataforma as a service de Salesforce que permite ejecutar aplicaciones desarrolladas con Apex( lenguaje de propietario de Salesforce muy parecido a Java) que curiosamente utiliza Eclipse (igual que Adobe) como entorno para el desarrollo de aplicaciones para Force.

Total ,que han juntado Flex y Apex en Eclipse para la realización de aplicaciones RIA beneficiándose ambos de esta jugada, porque aunque puedes probar la solución con coste 0, si quieres desplegar aplicaciones en Force tendrás que comprar Adobe Flash Builder 4 Premium y tendrás que adquirir una cuenta de desarrollador en Force. Si quieres saber más sobre la solución acude este link, siendo especialmente reveladora la FAQ y este video.

RIA Y SAAS

El otro día hablando con un amigo acerca de las bondades del Saas y el desarrollo que tendrá la tendencia  durante  los proximos años, llegamos a introducir el termino RIA como otra tendencia donde la empresas de software estan realizando inversiones y esfuerzos.

El caso es que en nuestra conversación él mantenía que RIA y Saas vienen a ser lo mismo y que ambos acronimos terminarán fusionándose. Desde el primer momento le dije que no veía su postura y he preferido aclarar mis ideas antes de abrir de nuevo este tema de conversación que parece realmente interesante.

RIA son aplicaciones cuyo interface con el usuario se comporta como si la aplicación estuviera en local y en consecuencia mejora el aspecto visual , la rapidez de respuesta ante la interaccion de los controles visuales, permite realizar calculos en local sin necesidad de realizar en el servidor y además todo esto sin tener que recargar la pagina cada vez que el usuario interactua con la aplicación

Teniendo más o menos claro el concepto saas , la pregunta es: ¿Las aplicaciones Saas son RIA? o  ¿Las aplicaciones RIA son saas? Pues evidentemente no. Puedes encontrar en la nube aplicaciones Saas que no son RIA, con por ejemplo Salesforce que aunque su entorno es de facil manejo esta muy lejos de las caracteristicas de un aplicación RIA y podemos encontrarnos con aplicaciones RIA como bedesk que ya en su pagina principal presenta cosas muy atractivas y no es software como servicio, es un red social. 

Lo unico que podría tener en común ambos conceptos es que no requiere instalación en la máquina pero es que en el caso de las aplicaciones RIA te instala plugins y demás para que la aplicaciones se conviertan en RIA (eso si, a priori ni te enteras de que se esta instalando software), y entonces tampoco tendrían esto en común.

Por tanto, creo que ha quedado claro que RIA y Saas son conceptos diferentes pero eso si compatibles, y es esto lo que parece interesante y el motivo de escribir este post. Las aplicaciones como servicio tienen el inconveniente de que el usuario final pierden las posibilidades que te ofrecen los runtime de entornos locales, ya que el entorno web siempre ha estado condicionado a las limitaciones del html, javascript, etc. Por tanto si la empresas que ofrecen este tipo de software además ofrecieran entornos amigables y rapidos, y en definitiva con la misma percepción como si estuvieran ejecutando en local, sería una gran ventaja competitiva.

Al menos conozco dos aplicaciones como servicio que además son RIA. Una es Blist.com que te permite crear una BBDD de forma visual y online y está dirigido a personas con un nivel bajo de conocimientos de BBDD e informática. Otro ejemplo Coghead.com que te permite crear formularios y una BBDD de forma sencilla y visual y el target de esta aplicación es también usuarios con un nivel bajo de conocimientos en informática.

Resumiendo, quizás en breve cualquier aplicacion Saas además deberá ser una aplicación RIA pero eso no significa que ambos conceptos sean lo mismo.