Qué es jQuery, en un párrafo

¿Qué tiene de bueno jQuery? Dave Shea lo pone perfecto en unas pocas palabras.

Aquellos que me siguen en Twitter, quizás sabrán que últimamente he empezado a hacer algunas cosas con jQuery, la librería para “escribir menos y hacer más” en javascript, luego de ocupar MooTools para un par de proyectos…

Si bien cada framework tiene sus pro y sus contra, hay algo de jQuery que finalmente me ha encantado, y es que realmente hace honor a su lema. Pero en realidad la mejor forma de entender jQuery que he encontrado es este párrafo de Dave Shea:

To me it’s the difference between avoiding Javascript as much as possible, and embracing it whole-heartedly. jQuery abstracts away the hard stuff like DOM incompatibilities, leaving me free to write fairly basic script to accomplish what I need. And the CSS-like selector syntax is absolutely wonderful. I’ve already learned that so it’s building on what I know. I’m still not convinced I’m much of a scripter, but writing with jQuery makes me feel like I’m actually somewhat in control when it comes to Javascript. And the joy of seeing my script work as expected first time ‘round across the board when testing in various browsers? Undefinable.

Que podría intentar traducir —gruesa y rápidamente— así:

Para mí, es la diferencia entre evitar Javascript tanto como sea posible, y adoptarlo con todo el corazón. jQuery abstrae todo lo duro como incompatibilidades en el DOM, dejándome libre para escribir código [script] bastante básico para lograr lo que necesito. Y la sintaxis tipo CSS es absolutamente maravillosa. Ya he aprendido eso, por lo que sólo debo construir sobre lo que sé. Aún no estoy muy convencido de ser un escritor de scripts, pero escribir en jQuery me hace sentir como que realmente estoy un poco en control en lo que tiene que ver con Javascript. ¿Y la alegría de ver mi script funcionando como lo esperaba a la primera al probarlo en varios navegadore? Indefinible

Un detalle importante

He estado trabajando en la actualización de un sitio web de un cliente, para el que necesitaba agregar algo de javascript…

Como siempre, durante todo el proceso ocupé mi [perfil de firefox->usando perfiles en firefox] cargado de mis [selección de extensiones->10 extensiones de Firefox para el desarrollo web] para el desarrollo de sitios web.

Como siempre, al cabo de un rato todo funcionó bien en Firefox… y como siempre, en Explorer no todo funcionó… es que hay cosas que no cambian.

Busqué y busqué qué podía estar mal… revisaba los ejemplos del script que estaba usando, las dependencias, el HTML, las CSS… y seguía estando mal… hasta que pensé que mi única opción era simplemente pedir ayuda a través del foro de mootools, no sin antes buscar si había algo que pudiera hacer antes de publicar mi duda…

Y finalmente, lo encontré: todo se debía a una coma.

Lo publico acá para que no se me olvide ni les pase a ustedes: en javascript, la última opción agregada a una clase no debe llevar coma al final.

Odio al Explorer… y javascript no me cae tan bien.
Por suerte, para mañana sólo me queda la parte con PHP.

PHPSpeedy: mejora el tiempo de carga de tu sitio

PHP Speedy Hay muchas formas de mejorar el tiempo de carga de una página; algunas de ellas son:

  • realizar menos peticiones al servidor
  • agregar una cabecera de expiración muy lejana en el futuro
  • comprimir los componentes de la página
  • “minificar” tu javascript, css, html

PHP Speedy es un script para PHP que realiza estas cuatro tareas automáticamente. Está disponible como clase (para utilizar en cualquier sitio/página que soporte PHP) o como plugin para WordPress —he estado probando este último en mi tumblelog y el resultado ha sido bastante satisfactorio.

Si quieres utilizar el plugin para WordPress, debes asegurarte que tu theme incluya el hook <?php wp_head(); ?> antes de </head>. Además, revisa que todo lo que tenga que ver con JavaScript siga funcionando: el plugin combinará y “minificará” tus scripts y los enlazará en el punto donde se encuentre <?php wp_head(); ?>. Si tienes código que necesita de librerías que se hayan invocado anteriormente, puedes solucionarlo simplemente moviendo tu código más abajo de <?php wp_head(); ?>.

A prueba: Frameworks Javascript

Al parecer, todos los frameworks de JavaScript se publicitan como el más rápido, lo que no deja de parecerme extraño… ¿cómo es posible? Aquí van los resultados de otra medición más, para echarle más leña al fuego

Hoy en la tarde veía una nueva comparación entre frameworks de Javascript, y recordaba cómo cada framework del que he tenido conocimiento se promociona como el más rápido… lógicamente, no todos pueden ser “el más rápido”, a menos que todos sean igualmente rápidos, en cuyo caso su velocidad no sería ninguna ventaja, ¿no es así?

De paso, también recordé un artículo de Kyle Neath, en el que reflexionaba sobre el anuncio de lanzamiento de jQuery 1.1.3, tentadoramente titulado jQuery 1.1.3: 800% más rápido, aun 20KB… hasta que surge la pregunta: ¿más rápido que qué?.

Así y todo, y en presencia de una suite de pruebas tan bonita como SlickSpeed, me fue irresistible realizar algunas mediciones en los navegadores que tengo instalados.

El equipo de pruebas, un Intel Core Duo T2250, 1 GB RAM, Windows XP SP2; los navegadores:

  • Firefox 2.0.0.6
  • Opera 9.23
  • Internet Explorer 7
  • Internet Explorer 6
  • Safari 3.0.3 (Windows)

La versión de SlickSpeed que utilicé está ubicada en http://extjs.com/playpen/slickspeed/

Y los resultados:

Prueba de selectores CSS en distintos frameworks JS

Antes de finalizar, un par de cosas: sé que no son las últimas-últimas versiones de todos los frameworks, la suite de pruebas se puede bajar desde Google Code, y sí, probablemente los resultados variarán si usan otras versiones de SlickSpeed… extrañamente, en la que usan en jQuery éste sale bastante mejor parado; en la de ExtJS, gana ExtJS; en la de mootools gana mootools… el sitio de dojo query no responde, y en el de Prototype no encontré la suite de pruebas.

Limpiar valores en un formulario

Una especie de Tutorial-RecordatorioPersonal sobre cómo limpiar el valor de un campo de un formulario al enviarlo… una lección aprendida con el rediseño de yukei.net

Probablemente alguien que sepa [Javascript->@wiki] va a encontrar este post lo más mula que hay, pero para mí esto ha sido todo un descubrimiento: cómo limpiar el valor de un input en un formulario.

El problema

Esta dificultad surgió con el rediseño de yukei.net puesto que como podrán ver, en el formulario para enviar un comentario cada uno de los campos tiene un valor “por defecto” de acuerdo a cada input:

Formulario de comentarios en yukei.net

Continue reading “Limpiar valores en un formulario”