Editorial
Editorial
Editorial
Diseño y animación en la web móvil Conferencia por Miguel Ángel
Inscríbete

No aprendas jQuery, aprende Javascript

En los últimos meses me he encontrado frases como: jQuery es el framework más famoso por excelencia. Esta frase de hecho es falsa ya que  jQuery es una librería. Fue creada en el 2006 con una idea clara: resolver el problema de manejo de eventos, animaciones, ajax y DOM.

Aún haces Javascript desnudo sin ningún framework o compilador? Estás en el pasado.

Esto puede ser cierto, Javascript necesita frameworks y compiladores, pero los que hay hoy todavía están en una etapa de desarrollo muy temprana como para casarse con uno solo. Así es como vimos que Backbone cambió de Controladores a Routers por que no tenía mucho sentido tener controladores en el browser y a su vez Google abandonó GWT y creó Dart.

En los últimos años las necesidades en el uso de Javascript han cambiado, las cuatro “cosas” para las que fue creado jQuery se consideran algo trivial. En la actualidad nuestras aplicaciones web requieren más interacción, otras necesidades y deben de correr en dispositivos muy diversos.

Un ejemplo es que se pasó de tener un search con ajax a tener una aplicación con múltiples tabs, autocomplete y 10 requerimientos más. Antes de que nos diéramos cuenta se comenzó a requerir que toda la aplicación fuera de una sola página, con muchas interacciones y distintos flujos de trabajo.

Todo esto para darnos cuenta que nuestro código de Javascript creció de unas cuantas líneas a varios módulos y nuestro código se convirtió en un gran “espagueti”. Hoy en día este es uno de los principales problemas que sufrimos con Javascript y si la aplicación la hicimos con jQuery es mucho peor aún por que jQuery fuerza a una estructura centrada en el Dom.

En el 2011 hemos visto nacer frameworks que nos permitan estructurar nuestras aplicaciones de mejor manera, algunos de ellos han madurado muy rápido como Backbone, SpineJs. Vemos hacia Google Closure, YUI, sproutcore y ExtJs para ver que se puede hacer con estas librerías, heramientas o frameworks que llevan más tiempo en el mercado y se han utilizado para hacer interfaces completas en Javascript por mucho tiempo.

Entonces la próxima vez que alguien diga algo como:

Excepto claro, si aún haces JS desnudo de siempre. Que es muy testosterónico, pero poco productivo. Los frameworks hacen fácil la vida, los grandes jugadores los usan. No hay por qué no usarlos.

Por favor, no le hagan caso, lo que hoy se necesita es fuertes bases de Javascript para poder adoptar los distintos frameworks, evolucionar con un lenguaje que esta en amplio crecimiento y aportar a las distintas librerías, frameworks y proyectos, por que en la mayoría de los casos están destinadas a pasar por un largo proceso de adaptación a las crecientes necesidades de Javascript que veremos en los próximos años, donde lo usaremos para interfaces web, aplicaciones móviles, servidores, etc.

Daniel ZavalaDaniel Zavala para Maestros del Web.
Agrega tu comentario | Enlace permanente al artículo

Síguenos en: Twitter @maestros | Facebook Fan page

33 comentarios

Comentarios

  1. Comparto tu opinión. Yo lo que estoy haciendo es profundizar en JavaScript

    Responder
  2. Christian

    Muy buena entrada gracias por el tip.
    Saludos.

    Responder
  3. Seria bueno que pusieran diferentes alternativas para apoyar el articulo en cuanto a las fuentes de conocimiento.

    Responder
    1. Creo que una muy buena opcion para empezar es http://yuiblog.com/crockford/

  4. luis alberto

    ok osea que no tengo que llevarme te todo lo que se dice en mejorando.la Nice aun programo js desnudo :)

    Responder
    1. @luis, definitivamente peligroso confiar en esos dos a ciegas. Siempre hay que tener una mente crítica y nutrirnos de más puntos de vista :)

  5. Recomiendo leer este artículo:
    “Alternativas a jQuery” : http://t.co/HS8mwbwv
    Proyectos pequeños … pequeñas exigencias
    Proyectos grandes … grandes exigencias

    Responder
  6. Vicente

    Excelente articulo :D

    Un comentario, en los comentarios si le das enviar sin rellenar nada te manda a otra pagina de error, Y la validación en Javascript?

    Responder
  7. A mí me pasó algo así con una aplicación que estaba haciendo el año pasado, y me tocó improvisar algo de rutas y controladores con javascript, que fue lo que escribí en este y otro tuto en clab: http://www.cristalab.com/tutoriales/mvc-en-javascript-con-ajax-y-jquery-parte-2-controladores-c95719l/

    En fin, hoy en día ya hay cosas mucho más maduras por supuesto.

    Responder
  8. Javascript me soluciona problemas jquery me ayuda a solucionarlos.

    Responder
  9. angel vargas

    Interesante, por lo general me gusta utilizar el javascript al desnudo por que pienso que se me hace mas fácil moldearlo a mi conveniencia, y cuando conocí jquery, mis profesores me decían utilízalo es mejor, y yo me lo creía, desde entonces no me gustaba utilizar jquery, tiene muchos efectos padres, pero ciento que me limitaba intelectualmente, ¿que opinan de xajax?, siempre he querido saber la opinión de otras personas

    Responder
  10. Angel, cómo jquery puede limitarte intelectualmente? No entiendo eso… Dime un ejemplo de algo que haces con javascript que no se pueda o te limite jquery por favor, referente a DOM. En Jquery también puedes crear tus propios plugins, en ese caso podrías implementar tu código cuando haya excepciones.

    Responder
    1. angel

      ¿Alguna vez has validado con el jquery?¿alguna vez has validado solamente con javascript? al menos para mi me supone un reto programar al puro javascript.
      Y tampoco diga que jquery sea malo, repito tiene cosas interesantes, y lo he utilizado para muchas cosas, pero para mi no me supone un reto.

    2. cuentero

      @angel
      y que tiene que ver que te suponga un reto? el tema esta en la eficiencia… no entiendo que beneficio te trae el supuesto reto

  11. Hay que saber de los dos!. La facultad esta llena de folletos con cursos de jquery…

    Responder
  12. cuentero

    Definitivamente NO ESTOY DE ACUERDO.

    JQuery ha demostrado ser muy escalable y mejorar enormemente los tiempos de desarrollo y los argumentos que has dado en este artículos son muy pobres contra todos los beneficios que te da jQuery…. lo siento pero creo que hay que ser muy objetivo y dos dedos de frente al decir “no aprendas jQuery” que disparate es ese pfff.

    Responder
  13. Lamentablemente, debo encontrarme dentro del grupo que está en desacuerdo con este post.
    Si bien es real el hecho de necesitar tener un fall back en JS “pelado”, creo que basarse en el supuesto reto de esto tiene poco que ver con las reales necesidades de lo que supone una aplicación; también veo una pérdida de foco en asegurarlo.
    El foco real de una aplicación, es la performance de esta, y no el reto que supone; sobre todo que no veo en lo más mínimo “spaguetti” utilizando Jquery, lo encuentro super ordenado en comparación a JS puro.
    Creo que el artículo trata de ser controversial para captar lectores, pero termina careciendo de fundamentos objetivos.

    Saludos desde Argentina.

    Responder
  14. Totalmente de acuerdo con el articulo, para mi no tiene sentido ser esclavo de un framework y sus actualizaciones :S

    Responder
  15. angel

    Pues para mi el tener retos me hace mejor como programador, por ejemplo yo no uso Frameworks de php, yo hago mis propia herramientas, y en caso de jquery tiene efectos bien padres, pero, no es lo mismo, por que no crean ustedes sus propias herramientas con javascript, su propios frameworks para mi eso es mejor, te hace mejor programador, y ademas no solo existe jquery, hay mas.

    Responder
  16. Es cierto, no usen jQuery, no usen Backbone, no usen Dojo, no usen ningún template engine, ni siquiera pueden instalar pachetes de nodejs Hagan todo desde cero.

    Responder
  17. puentesdiaz

    porque dices que GWT fue abandonado por Google?

    Responder
  18. angel

    ¿que opinan de xajax? quisiera saber sus opiniones

    Responder
  19. Edder Leonardo (Archi)

    Estoy totalmente de acuerdo con el articulo, es preferible saber javascript para poder dominar mas fácilmente los distintos tipos de frameworks existentes

    Responder
  20. Solo el slogan lo dice:
    Jquery, Write Less, Do More…

    Responder
  21. Jonathan Castro

    Es gracioso leer un post tan enfocado en rebajar a cristalab jajaja, lo más triste es que por allá ni nombran esta web, es como con los ateos, vivir basado en otro ser superior, con el unico interes de insultarlo, jaja.

    Responder
  22. Ricardo

    La conclusión es: usa jquery porque es genial, pero nunca dejes de aprender javascript a secas, porque es un estándar, y los estándares hay que respetarlos y dominarlos.

    Responder
  23. Jhon

    Es mejor saber bien los fundamentos de javascript y luego aprender algun framework javascript que te facilite la vida.
    En la vida real, la programacion debe ser rapida y eficiente. Si nos pusieramos a programar todo desde cero, entonces mejor programemos en código máquina jeje.

    Saludos.

    Responder
  24. Gabriel

    No hay q irse nunca a los extremos, es obvio que tenemos que tener un dominio en el lenguaje, pero por que despreciar una herramienta que nos va a facilitar la vida? Yo abogo por desarrollar unos buenos cimientos en nuestros conocimientos del lenguaje y después con esa base, conseguirnos un buen framework que nos facilite un poco la tarea, para así encargarnos de aquellos aspectos que son realmentes importantes en el desarrollo de proyectos. Que al fin al cabo ese es la finalidad de los framework. En fin, viva jquery y javascript.

    Responder
  25. jQuery está muy bien por su facilidad para implementar con pocas líneas animaciones e interacciones que con “JavaScript desnudo” lleva el triple de tiempo.

    Utilizar uno u otro framework depende de la complejidad de la aplicación, existen librerías como ExtJs, Node, Dojo y más con un potencial tremendo.

    Responder
  26. Yo creo que podemos diferenciar dos categorías de Javascript:
    Una categoría para Diseñadores y otro para desarrolladores. En el primero aplica jQuery, Mootools, etc. En el segundo Javascript. Obviamente depende mucho el tipo de proyecto.

    Abrazo.

    Responder
  27. Jquery agiliza el desarrollo, y me evita tener que lidiar con las diferencias de implementaciones entre browsers, lo malo es que ahora muchos aprenden jquery sin antes haber aprendido javascript y para todo buscan una solucion basada en jquery incluso en cosas sencillas (¿alguien conoce un plugin que me haga esto o aquello?)

    Responder
  28. LP

    Totalmente en desacuerdo, los beneficios que brinda jQuery son demasiados, y existen proyectos muy serios que usan esta libreria. Para que reinventar la rueda, lo que se busca es efectividad, si estas en la universidad, si te recomiendo primero aprender JS puro, pero eso solo si quieres aprender, cuando te veas envuelto en un proyecto grande y serio te vere padeciendo si no usas una libreria. Además no solo se puede usar jQuery, existen varias librerias como las que se mencionan en este articulo.
    Les recomendaria obtener mas puntos de vista y mas investigacion acerca de este tema para que ustedes mismos saquen sus conclusiones.

    Saludos

    Responder

Deja tu Comentario

Maestros del Web se reserva el derecho de moderación de los comentarios. Evita utilizar palabras soeces, ataques directos, descalificativos, insultos, de lo contrario tu comentario será eliminado.