Retomando buenos hábitos: la vuelta al gimnasio

Estoy muy contento porque ya he conseguido ir cuatro meses seguidos al gimnasio, a razón de cuatro días por semana: todo un reto después de más de cinco años dando tumbos de una cosa a otra…

Golf, pijo-gym, natación… al final volví a mis raíces -a Isaac- a mi entrañable gimnasio de barrio a pocos pasos de la oficina al que voy en horario prohibitivo pero tranquilo: a eso de las diez de la tarde/noche cuando ya no suena el móvil…

Los lunes y jueves hago pesas, y los martes y viernes 45 minutos de bicicleta estática, que se me hacen muy largos asi que leo un poquito.

Después de probar mucho libros he descubierto que los de O’Reilly tienen el ancho ideal para no caerse entre el manillar de la bici, asi que estoy aprovechando para aprender Javascript porque después de probar Jquery (pendiente de escribir sobre ello) y ver tantas cosas chulas hechas con Mootools y Prototype tengo muchas ganas de saber más sobre el tema, pero con fundamento… no sólo en plan copia y pega.

PD – Si quieres tú también puedes hacerte tu propia portada O’REILLY

iFrames… el AJAX para pobres

Tranquilos que no soy tan zote, sé que AJAX y los iframes no tienen nada que ver… pero con este título hiperbólico intento transmitiros una idea importante: no mates moscas a cañonazos.

Una de las ventajas de AJAX es que puedes renovar una parte de tu página sin necesidad de refrescarla por completo… con lo que ganamos mucha velocidad y el usuario percibe mayor agilidad en el uso de tu web. Por ejemplo, en Gmail cuando marcamos con una estrellita un e-mail, la página no se refresca, simplemente la estrella aparece mágicamente (y por detrás corre un proceso en el que se guarda ese cambio de estado).

El problema es que hacer desarrollos en AJAX es complejillo porque el Javascript es muy pejiguero… por lo que hay que valorar si puedes conseguir un resultado similar sin tantas complicaciones, sobre todo si no tienes un equipo de desarrollo tan numeroso como el que trabaja en el proyecto Gmail.

Conseguir algo similar de una manera más sencilla, más simple… te permite destinar el tiempo que ahorras a hacer más cosas y en el futuro tú o a quien le toque no tendrás que invertir mucho tiempo en investigar como estaba hecho algo, porque lo sencillo lo entiende todo el mundo. 

Abandonando un poco el romanticismo 2.0 que nos invade a todos, a veces analizándolo fríamente podemos llegar a la conclusión de que un par de iframes pueden resolvernos la papeleta sin muchas complicaciones o que no es tan complicado seleccionar una opción en un desplegable con 100 elementos ordenados alfabéticamente (y no es necesario que nos lancemos a programar un auto-fill en AJAX a lo Google Suggest… como decía Joel Spolsky: The Jury Is Not In, So Why Take The Risk When Your Job Is On The Line). 

En otras ocasiones nos daremos cuenta de que no hay otra manera de resolver el problema de una manera decente, entonces sí… recurriremos al AJAX o a lo que sea necesario para conseguir nuestro objetivo.

Todo esto viene a cuento de que en nuestro CMS hemos mejorado la manera en la que se asignan las etiquetas a los posts, pasando esa funcionalidad a una página independiente (como si fuera un módulo) e incrustándola posteriormente en los lugares necesarios a través de un iframe. Esto nos permite hacer cambios en etiquetas muy rápidos, sin refrescos completos de la página -efecto similar al que conseguiríamos con AJAX- y además añadir con mucha facilidad ese mismo módulo en otras páginas, por ejemplo en nuestra integración con el API de 11870:

Otra ventaja es que ahora podemos seguir toqueteando ese módulo de manera independiente, con la tranquilidad de que no nos vamos a cargar otra funcionalidad más compleja.
 
La solución no es sofisticada, pero no hemos tardado ni dos horas en hacerlo, mientras que con AJAX habríamos tardado mucho más… y no tengo claro cómo hubiéramos podido luego re-utilizar ese código en otras secciones de la herramienta.

Por lo tanto: se práctico, ahorra tiempo y si funciona bien, no lo toques.

Un lenguaje de programación para el 2007

En ENZO todos los desarrollos funcionan con páginas ASP programadas en Vbscript. El Vbscript fue en su momento extremadamente popular y muy fácil de aprender para aquellos que sabíamos algo de Visual Basic.

Lamentablemente el Vbscript hace mucho que dejó de estar en la cabeza de Microsoft, desde hace años no se ha lanzado ninguna actualización y según la comunidad de programadores va optando por otros lenguajes comienza a ser más difícil encontrar documentación en Internet que te saque de los embrollos.

Es el momento de cambiar… ¿pero hacia donde? No es una decisión fácil.

Uno de los artículos que he leído más claros al respecto es Language Wars de Joel Spolsky, con afirmaciones tan claras como éstas:

  • «People all over the world are constantly building web applications using .NET, using Java, and using PHP all the time. None of them are failing because of the choice of technology»
  • «there are three and a half platforms (C#, Java, PHP, and a half Python) that are all equally likely to make you successful, an infinity of platforms where you´re pretty much guaranteed to fail spectacularly when it´s too late to change anything (Lisp, ISAPI DLLs written in C, Perl), and a handful of platforms where The Jury Is Not In, So Why Take The Risk When Your Job Is On The Line? (Ruby on Rails)»

Hasta hace pocas semanas tenía prácticamente decidido que tiraríamos hacia PHP, pero recientemente he cambiado de opinión: básicamente porque programar en PHP es sencillo pero enormente trabajoso, algo que también ocurre con Vbscript. Cuando digo trabajoso me refiero a que cuando sales de un proyecto «grande» no quieres volver a oír hablar durante un tiempo de formularios, inserts, updates… ni nada que se le parezca.

Programar no debería ser algo aburrido y realizar tareas mecánicas con las que no aprendes nada nuevo es la forma más rápida de aburrirte.

Por eso es prácticamente seguro que a partir del 2007 comenzaremos a trabajar con C# el lenguaje de programación orientado a objetos desarrollado por Microsoft para su plataforma .NET

El cambio no va a ser sencillo, pero cuando nos acostumbremos al nuevo lenguaje y la nueva plataforma tengo el convencimiento de que va a aumentar mucho nuestra productividad… y no hay más que visitar MSDN para comprobar que Microsoft está apostando realmente fuerte por ASP.NET (actualmente en su versión 2.0).

Por si me quedaba alguna duda… ASP.NET AJAX (Atlas) me ha dejado con la boca abierta al comprobar en sus videos como añadir funcionalidades AJAX (totalmente compatibles con Firefox) a una «aplicación tradicional» se puede conseguir en apenas 5 minutos… algo que a nosotros actualmente nos lleva días.

Para vergüenza blogosférica Microsoft nos ha vuelto a agarrar en sus fauces… pero seguimos manteniendo un toque de rebeldía apostando por mySQL, así que tranquilos… todavía no está todo perdido.

New Yahoo! La popularización del AJAX

Leo en TechCrunch que Yahoo! lanzará en breve su nueva home, en la que integra varios elementos que hacen uso de AJAX. Lo que será la nueva home se puede ver desde hace tiempo en yahoo.com/preview.

Más allá de valoraciones estéticas, en mi opinión Yahoo! hace un uso muy prudente de AJAX, una decisión correcta ya que su web es una de las más visitadas del planeta y no se pueden arriesgar a que muchos de sus visitantes se queden descolgados. Algo más ambicioso es el tutorial de presentación de la Home también desarrollado en AJAX y muy bien resuelto. El ciclo del tutorial lo he capturado y subido a Flickr para vosotros:


Tal y como dice Michael Arrington «millones de usuarios de Internet experimentarán por primera vez lo que es interactuar con AJAX«, algo que probablemente harán sin darse cuenta… ni quedarse con la boca abierta como cuando nosotros los «algo más techies» utilizamos por primera ves Google Suggest.

Leer también: 10 cosas sobre AJAX que deberías saber

AJAX en 1998

Estoy leyendo ahora un excelente libro sobre XML que me compré hace ya bastantes años y me resulta interesante comprobar como durante todo el libro se relatan las bondades de la arquitectura de una aplicación en tres niveles: es decir AJAX.

Ajax, como señala Adaptivepath (via Infoman el blog de Rodolfo Carpintier), es una conjunción de varias tecnologías:

  • «standards-based presentation» utilizando XHTML y CSS.
  • dynamic display e interacción utilizando «the Document Object Model»
  • «data interchange» y manipulación usando XML y XSLT
  • «asynchronous data retrieval» usando XMLHttpRequest
  • y JavaScript para juntarlo todo

En Manual de XML de Charles F. Goldfarb (inventor del SGML) & Paul Prescod, publicado en 1998, se describen de esta manera las ventajas de la arquitectura de aplicación en tres niveles:

«XML proporciona a las aplicaciones Web un contenido accesible y dinámico, fácil de usar y manejar en el cliente. Además, permite la actualización del contenido sin tener que actualizar toda la interfaz de usuario. Es una característica que ahorra tiempo ya que reduce las transacciones hasta el servidor de información ya existente en el cliente

Con XML los usuarios pueden gestionar los datos vía Internet de igual forma que lo hacen en los equipos locales. Así pues, la Web se ha convertido en un medio más interactivo y operable»

Sin embargo esta conjunción de tecnologías no ha alcanzado popularidad hasta el 2005, año en el que algunos grandes han sacado proyectos como A9 o Google Suggest, que utilizan intensamente AJAX… o tal vez hasta que a alguien como a Jesse James Garrett no se le ocurrió un buen nombre.

Así que nada, no vamos a ser nosotros menos, algo tendremos que hacer en AJAX…