El mundo de los Clientes Ricos

Cuando empezaron a circular los primeros conceptos de clientes ricos (Rich Clients, término aplicado en 2002 por Adobe) el mundo todavía estaba girando en torno a conceptos totalmente opuestos. En aquella época, hablo del 2000-2002, el mundo de JSF, ASP.Net y alguna que otra tecnología, optaba por dejar el trabajo pesado del lado del servidor y tratar a los clientes como el niño mimado, con poca carga de trabajo y una sola idea fija, mostrar datos. Al principio el concepto fue muy revolucionario y marco un cambio en el paradigma del desarrollo, al igual que un cambio en la estrategia de mercado. En aquel entonces , 2007-2008, me acuerdo de entrar al mundo de los clientes ricos, sin saber que estaba haciendo tal cosa, con Adobe Flex y escuchar de la existencia de JavaFX y Microsoft Silverlight . Estos fueron proyectos muy ambiciosos que dieron paso a las aplicaciones RIAs tanto web como desktop. Sobre carga en el canal de comunicación, con múltiples idas y vueltas, dependencia absoluta de la capa de presentación con la capa de servicios y obsolescencia de la aplicación al momento de perder conectividad, fueron unos de los motivos por el cual el mundo giro la mirada hacia este paradigma que hoy nos gobierna. Enfocándonos en lo que más nos tiene que interesar, hoy existen muchos frameworks que con base en JavaScript transforman nuestra capa de presentación en un modelo rico, desacoplándose totalmente del servidor, el cual puede ser de la tecnología que más nos convenga y aun así trabajar en forma transparente gracias a protocolos de comunicación SOAP o REST.

Arquitectura RICH CLIENT  

El concepto es muy simple y es de la forma, en su mayoría, cliente (“stateful”)- servidor. En esta arquitectura el cliente conoce de sí mismo y sabe que datos solicitar por demanda. El servidor maneja las peticiones de la aplicación cliente, en su mayoría servicios CRUD. La idea es llevar la experiencia ganada en aplicaciones de escritorio a aplicaciones web.

3

Algunas Características y beneficios

Comunicación: Protocolos de red optimizados con entradas y salidas asincrónicas.

Offline: puede ser usada sin conexión, reteniendo el estado del cliente.

Seguridad: Es más confiable.

Rendimiento: Al permitir procesamiento del lado del cliente(aprovechar la capacidad de computo de cada máquina de usuario) se  evitan viajes al servidor innecesarios incrementando el rendimiento.

Riquezas: Se agregan características no propias de los navegadores(aplicaciones mas vistosas y útiles).

Herramientas Frameworks del mercado actual

 Si bien siempre tengo en mente que no hay que casarse con una tecnología que el día de mañana nos abandone por que el mercado ya no la necesita, he tenido la experiencia de navegar por el cambio de arquitecturas y creo que las que hoy estamos viendo se acercan a una estabilidad y robustez interesante. Entre varios de los plugins, framework y demás conceptos que podemos encontrar, estas son algunas de las tecnologías de cliente que hacen nuestras aplicaciones ricas.

  • AngulasJS
  • DurandalJS
  • KnockoutJs
  • RequireJs
  • Bootstrap(Css)
  • EmberJs

De ellos derivan muchos conceptos de los cuales nos quedaría chico el Post y serán temas de charlas más extensas.

Get in Touch