Para formar parte de Planeta Mono-Hispano envia un mail a joil@joil.cl

17 febrero

jQuery + JSon (Parte 1): La búsqueda

Hace algunas semanas, comenzamos un experimento para definir la arquitectura básica de las aplicaciones web que desarrollaremos en CxNet de aquí en adelante.

Aunque uno de los lenguajes que más utilizado es PHP (principalmente entre 2001 y 2004), no me siento cómo desarrollando "web". Comparado a la satisfacción de programar software sin interfaz de usuario, que sólo debe cumplir con los protocolos de los sistemas a los cuales se conecta, la web tiene un sin fin de complejidades.

Ésta es mi historia:

  • HTML: Aprendí gracias a Mosaic y algunas páginas de muestra que venían en el CD de mi primer módem. Luego, cuando por fin pude usarlo para conectarme a internet, seguí experimentando y creé algunas páginas, pero nada de lo que me sienta muy orgulloso.
  • Perl: Hace unos 11 años, alguien me pidió investigar una forma de listar información sobre empresas en un sitio web. Hice pruebas con Perl, el lenguaje más utilizado para desarrollar CGI en la época, y logré buenos resultados. Perl se convertiría en mi segundo lenguaje de programación (después de BASIC... aunque pasando por alto algunas pruebas con JavaScript).
  • PHP: Ya el 2001, cuando comencé a trabajar (semi) formalmente, PHP resonaba como la maravilla del desarrollo web. Me tomé algunos días y, utilizando unas mil hojas tamaño carta y varios cartuchos recargables de tinta, imprimí la documentación de la, entonces nueva, versión 4 de PHP. Éste sería uno de los lenguajes que utilizaría por más tiempo. Si bien no habían frameworks en la época, y todas las variables se importaban mágicamente (nada de $_POST o similares), hace algunos años comencé a buscar alternativas como PRADO Framework.
  • ASP.NET:
  • Durante la búsqueda de un lenguaje y plataforma más poderosos que me permitieran desarrollar para web y para escritorio, y luego de probar Java y Delphi, encontré el proyecto Mono (allá por la versión 0.16). De inmediato me sentí muy atraido por el lenguaje principal, C#. Luego, descubriría ASP.NET y su revolucionaria arquitectura de controles y estados. Ha sido mi principal plataforma de desarrollo web desde 2003 hasta 2009.
  • Java Struts: Este conocido motor MVC para Java me fue impuesto por el cruel mercado. Nunca me sentí cómodo con él y, después de menos de seis meses de práctica, renuncié a mi trabajo y decidí enfocarme en .NET/Mono, lo que incluía ASP.NET.

Si bien el modelo de ASP.NET, también ocupado en JSF, PRADO Framework y otros, es cómodo y ordenado, uno de los problemas que tiene es el uso de servicios Ajax o JSON y la interacción con JavaScript, nada de natural. Hay varios intentos de amalgamar estas tecnologías que parecen haber sido diseñadas para lo mismo pero que, sin embargo, tienen arquitecturas totalmente opuestas. Un intento es ASP.NET Ajax, el cual incluye un "update panel", en el cual se pueden insertar otros controles que utilizar AJAX por debajo. Otro intento, muy bueno, es Gaia Ajax Widgets. En este caso, sus desarrolladores crearon toda una gama de controles "ajaxosos", extendiendo la funcionalidad de los controles originales. Incluso llegué a comprar una licencia durante una oferta. El viewstate se seguía ocupando, pero no todo era color de rosas. Hay que saber muchos detalles de cómo funcionan estos sistemas, a bajo nivel, para poder resolver problemas que seguramente ocurrirán tarde o temprano, síntomas de una relación ilícita entre dos mundos que se niegan a convivir.

Como todo cambia, especialmente en este mundillo de la computación, siempre hay que replantearse las cosas. En el caso de las plataformas web, esto me ha ocurrido varias veces.

Hay dos criterios muy importantes que deben ser tomados en cuenta cuando se elige una plataforma: el usuario y el desarrollador. GMail es tal vez el gran ejemplo de AJAX. La primera aplicación masiva donde no había que esperar por un refresh o postback y donde el usuario es complacido con una interfaz intuitiva y simple. En el caso del desarrollador, hay un gran problema en el típico framework web mezclado con AJAX (o JSON, etc). Cierto contenido es rendereado en el servidor mientras otro contenido es generado dinámicamente al cargarse datos a través de un request AJAX.

Luego de la popularidad alcanzada por JQuery y la facilidad de uso de JSON en ASP.NET MVC, decidí probar esta combinación. En los próximos posts, les contaré cómo.

Mono-Hispano

Comunidad de usuarios hispano-hablantes de la tecnologia Mono.

RSS 2.0 Feed

Planeta mono-hispano is powered by Mono and the Monologue software.

Ultima actualización : 03/03/2010 2:30:24 UTC

Bloggers