Me mudo

Este blog no recibirá ya más actualizaciones. Ve al nuevo blog enricflorit.com o averigua por qué me mudo.

viernes, 31 de agosto de 2012

Porqué no usar jQuery?

Sí, es cierto. jQuery mola. Todos los frameworks para JavaScript molan. Permiten interactuar con el DOM. Permiten animaciones. Facilitan el uso de ajax. Algunos frameworks hacen esto y mucho más (véase Backbone y otros) incluyendo patrones MVC y modelos de objetos. Pero no siempre es recomendable usar una librería o framework.


Que conste que me gusta jQuery. En los desarrollos web que hago lo suelo usar, incluso hay momentos en los que por "pereza" lo uso. Pero como el resto de la web lo usa, no me importa (al fin y al cabo, somos libres de hacer lo que queramos.

Pero no siempre se debe usar jQuery. Hay gente que te pondría jQuery hasta en la sopa (a lo mejor se puede usar para hacer una ;)...). Por ejemplo, no usarás jQuery para sumar, a pesar de la imagen que aparece arriba.

Y porqué jQuery no es siempre LA opción? Preguntarán algunos. Pues porque...
  • Ocupa mucho. Si nuestro código es pequeño (no sobrepasa las 100, 150, o incluso 200 líneas sin comprimir), no vale la pena usar ayuda. Piensa que jQuery tiene unas 9.000 líneas de código. El usuario pasará más tiempo descargando la librería que nuestro código.
  • Animaciones con CSS. Aún no están extendidas, algunos navegadores no las soportan... pero si la animación es puramente estética, vale la pena limitarse al css y pasar de JavaScript.
  • Interacción con el DOM. Aunque tu script sea largo, considera lo siguiente. Muchos navegadores ya soportan los selectores CSS de forma nativa en JS. Usando document.querySelectorAll harás lo mismo que con jQuery en IE8+, FF3.5+, Chrome, Safari, Opera10+, Android, incluso en BlackBerry7+. Esto representa el 93% de los navegadores...
  • Validación de formularios: con HTML5, le pones un atributo required a un input y él solito se valida.
  • Añadir clases, quitar clases. Hay un script de unas 15 líneas que permite cambiar clases fácilmente:
 function hasClass(obj,cls){
   return obj.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
 }

 function addClass(obj,cls){
   if(!hasClase(obj,cls)) {
     obj.className+=" "+cls;
   }
 }

 function removeClass(obj,cls){
   if(hasClass(obj,cls)) {
     var exp =new RegExp('(\\s|^)'+cls+'(\\s|$)');
     obj.className=obj.className.replace(exp,"");
   }
 }

Estas son algunas de las razones por las que no usar jQuery. Y es que muchas veces es mejor usar JavaScript nativo, aunque no se vea tan "limpio" para algunos. Como se comenta en este tema: Javascript !== jQuery.

Hasta aquí mis argumentos... Para qué diríais que hay que usar/no usar librerías y/o frameworks como jQuery?

Captura de pantalla (parece ser que no existe el mensaje en StackOverflow).

También hay un lado bueno... Haz click para ver los pros de jQuery

3 comentarios:

  1. Todo mundo usa jQuery, pero eso ayuda a que cargue mas rápido? Claro, si sacamos jQuery de un CDN es probable que el usuario ya lo halla descargado en alguna otra pagina.
    Reconozco que hay gente que lo usa en exageración, pero si es muy útil y hay que sacarle el mayor provecho posible

    ResponderEliminar
    Respuestas
    1. Como bien dices, si todo el mundo lo usara desde un CDN, jQuery iría como un tiro. Otra posibilidad que se me ocurre es que los navegadores lo incluyeran de serie (:

      Eliminar
  2. Si bien es cierto Jquery nose debe usar porque algunos navegadores no lo soportan sobre todo el IE, hay personas que tienen esos navegadores antiguos, fuera de eso si quieren usar Jquery que normalmente se utiliza en web lo que podrian hacer para resolver el problema de carga de jquery es leerlo de API Jquery GOOGLE, que en ese caso lo lee del mismo google y lo hace mas rapido.

    Tendrian que poner en su cabecera

    < script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" >

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...