[‘jQuery’, ‘prototypejs’].append(‘extjs’)

Continuum
Continuum
Published in
2 min readOct 15, 2008

--

Mi posición es clara cuando se trata de escoger una tecnología para desarrollar RIA.

Así, luego de descartar Adoble (Flex y Air), Java FX, GWT, M$ Silverlight, o Curl (este lo seguiremos de cerca) y apostando por JavaScript (Google también muestra su apuesta con Gears y V8, el engine de JavaScript de Chrome ) tenemos de nuevo varias opciones, que en mi opinión más que competir se complementan. Estas son las librerías jQuery, prototypejs, y extjs. Hay otra con fama ganada (Dojo), pero no haré referencia de ella en este post, a pesar de haberla probado.

Todas bajo el mismo modelo simple, usar el método de herencia prototypal de JavaScript para extender el modelo DOM que implementan los browsers, abstrayendo al programador e incorporando elementos como compatibilidad entre browsers, efectos visuales, utilitarios, etc.

Ya había usado durante unos 3 años prototypejs, luego lo complementé con jQuery, me sentía comodo usando estos frameworks javascript para crear aplicaciones web basadas en Ajax y usando JSON como protocolo de transferencia.

Pero entonces comencé a escribir una aplicación (desarrollo interno en Continuum) con interaccion visual compleja, extremadamente parecida a un IDE de programación, con árbol dinámico de navegación, grid de logs en tiempo real, ventanas para crear objetos, etc. Usabamos jQuery + algunos plugins. Luego de 3 dias de desarrollo teniamos mucho código HTML, no tanto código JavaScript y poco avance !.

Asi es que decidimos (1era persona del plural gracias a la insistencia de Israel Cruz) parar y buscar ayuda en extjs.com. Personalmente lo habia negado durante un año por 2 cosas (primero sentirme comodo con lo que teniamos, y segundo por su politica de licencia dual, o sea Comercial y Open Source, ¿ porque pagar una licencia del software si tenia opciones gratis ?). Pero esta vez decidí probar. En definitiva, no es tan cara la licencia para el caso de un desarrollador y bueno, creo que merecen ganar algo de dinero con el trabajo que esta haciendo el equipo.

Baje la version 2.2 (actual estable), y nos sorprendió que en tan solo 1 dia desarrollé todo el layout + comportamiento visual (y aún más) de la funcionalidad que me habia tardado 3 días usando jQuery y sus plugins (Anexo un screenshot). Por ahi dicen que “Nunca es tarde si al dicha es buena, :P “.

Queriamos compartir la experiencia con nuestros clientes (mostrando la tecnología como partner tecnológico y publicitandonos como proveedor de soluciones). Asi es que para hacerlo más impactante tomamos una aplicación que habiamos construido para un cliente y en tan solo 3 días, dejando intacta toda la lógica de la parte del server (en este caso J2EE 1.4) descartamos la parte visual reconstruyendola desde 0 con extjs 2.2 (Anexo un screenshot de unas de las pantallas).

Concluyo que a pesar que John Resig (el genio detrás de jQuery) critique al equipo de extjs llamando de bizarra su modalidad de licenciamiento, no se puede negar la excelencia de la librería. En nuestro caso (Continuum), com cliente decidimos que era hora de incorporarla al stack que tenemos para el desarrollo de RIAs. Por eso ejecutamos:

['jQuery', 'prototypejs'].append('extjs')

--

--

Developers & designers with a passion for making user-centered digital ideas come true. We power @getonbrd, @startechconf and #scopecanvas.