¿Deberían todos los nuevos desarrolladores web aprender y usar jQuery además de JavaScript?

Tengo la opinión opuesta de abstracción para algunas personas. La sabiduría común es “entender el JavaScript simple para que luego pueda usar la abstracción jQuery (u otra)”. Lo que se promueve es una mejor comprensión del lenguaje en el que se está desarrollando, lo cual es un objetivo absolutamente valioso. Pero no creo que necesite COMENZAR a ese nivel. La mejor manera para que un nuevo desarrollador comience no es trabajar desde cero, sino tener éxitos de programación temprano. Como todos los otros tipos de educación, el éxito temprano rompe la resistencia al aprendizaje y fomenta el deseo de aprender “¡más, más, más!” jQuery ha roto esa barrera para muchos desarrolladores web aspirantes, de eso estoy seguro.

Entonces, ¿”tienen” que comenzar con jQuery? Absolutamente no. Pero no hay nada malo en comenzar allí. Y como Glenn menciona, será algo con lo que se encontrarán inevitablemente de todos modos.

Un poco más sobre mi oposición a “comenzar con JavaScript simple y ENTONCES aprender opiniones de jQuery”:

Digamos que solo está usando jQuery para la manipulación DOM y está a cargo de lo que está incluido en las páginas de su aplicación. Al ser nuevo en JavaScript (según la pregunta), y tal vez nuevo en la programación en general, usted dice “No sé. Necesito poder agregar una nueva línea de pedido cada vez que se proporciona texto en este campo de entrada y se hace clic en este botón”. Supuestamente, jQuery puede ayudar, así que supongo que lo intentaré “.

Lees un poco y en poco tiempo logras tu objetivo. Estás entusiasmado con tu éxito y confías en seguir aprendiendo más. Estás en camino de hacer un poco de desarrollo web.

No importa que las funciones de JavaScript “vainilla” probablemente sean igual de fáciles (incluso si pueden parecer más crípticas). El hecho es que escuchaste sobre jQuery, lo incluiste en tu página y escribiste un pequeño e ingenioso script que funciona. Esto es un motivador. Desea aprender más y obtener esa emoción de éxito nuevamente. Y a medida que aprende más, aprende sobre algunas mejores prácticas para jQuery en particular (almacenamiento en caché de elementos seleccionados, por ejemplo) y JavaScript en general.

Inevitablemente, encontrará algunos consejos durante su investigación en los que el autor ha comparado el guión basado en jQuery con un guión “vainilla” que era igual de elegante, igual de fácil y no requería un marco para lograr un objetivo simple.

Estás en tu encrucijada. Pero no importa en qué dirección vayas, ¡no has perdido!

1. Suponiendo que luchas para realmente meterte en una mentalidad de “desarrollador” (no importa una mentalidad de “ingeniero”), puedes decir “Realmente me gusta lo que he logrado con jQuery y me siento agradable y cómodo aquí”. seguiré haciéndolo de esta manera “. ¿Qué se pierde? ¿La inclusión de un marco relativamente pequeño en su página? Vaya cosa. Es probable que esta persona no esté desarrollando aplicaciones importantes (de lo contrario, habrían necesitado más de lo que JavaScript tiene para ofrecer) y todavía están haciendo el trabajo. Sus necesidades están cubiertas. ¿Quiénes somos nosotros para juzgar? Si tienen clientes, ¿les importa a ellos que jQuery esté en la página? No

2. Asumiendo que está encontrando sus piernas en desarrollo, tendrá curiosidad y probará este enfoque de vainilla. Quizás solo en una caja de arena. Comenzará a ver que JavaScript sin un marco no es demasiado aterrador, y diablos, ¡algunos métodos podrían incluso tener más sentido para usted en su forma vainilla que en su forma abstracta! Vas a aprender MÁS JavaScript (has estado aprendiendo JavaScript todo el tiempo …) y algún día podrás escribir tus propias capas de abstracción. Algunas veces usará document.getElementById. Y ciertamente irá más allá de esto a medida que avance su carrera. ¡Ganar!

3. Asumiendo que sus éxitos iniciales (con jQuery) le apasionaron, podría estar entrando completamente en este tema del desarrollo (¡y tal vez también esté viendo otros idiomas completos ahora!). Estás leyendo el código fuente de jQuery para comprender las capas de abstracción. Está reescribiendo el suyo o creando sus propios marcos más ligeros para sus necesidades. ¡Has llegado! Pero no olvides que llegaste allí porque esas piezas “fáciles” de JavaScript (fácil porque fueron abstraídas) te inspiraron.

Es intuitivo pensar que primero necesita los “bloques de construcción” de cualquier habilidad (no solo JavaScript). Pero no es necesariamente el caso. ¿Cuántos guitarristas casi renunciaron a la música porque no pudieron soportar otra media hora de practicar “Little Brown Jug” pero fueron salvados por el riff “Smoke on the Water” o algo similar? La inspiración es lo que importa, no el punto de partida. Y un buen punto de partida tiene éxitos tempranos y divertidos.

Como pensamiento final, no creo que no pueda tener estas mismas inspiraciones y éxitos de desarrollo con JavaScript de vainilla u otro marco o biblioteca. Absolutamente puedes. Simplemente digo que en todo lo anterior, la persona hipotética encontró primero a jQuery. Y desde que lo encontraron primero, es artificial y pensar al revés tratar de alejarlos y forzarlos a los llamados “fundamentos” cuando podrían simplemente divertirse desarrollando aplicaciones.

Los fundamentos vendrán. Tienen que venir si la persona se está metiendo en algún tipo de desarrollo real. No tienen otra opción. jQuery no abstrae JavaScript en su conjunto, abstrae ciertas tareas. El desarrollador aprenderá JavaScript. No pasará mucho tiempo antes de que entiendan lo que están haciendo cuando elijan la capa de abstracción jQuery sobre el JS simple.

Recomendaría aprender JavaScript simple primero y luego aprender jQuery. Una vez que comprenda lo que está haciendo jQuery en términos de implementación interna, creo que jQuery es una habilidad útil que debe conocer y que vale la pena usar si satisface las necesidades de su proyecto en particular.

Sin embargo, existen alternativas a jQuery, así que tenga en cuenta que no tiene que usarlo para ningún proyecto. Una base de código existente en la que empiece a trabajar puede usar una alternativa, por ejemplo. jQuery y bibliotecas similares como jqLite tienen dos propósitos principales:

1. Resumiendo las diferencias en la forma en que diferentes navegadores implementan JavaScript.

Por ejemplo, usando esto:

$('.the-class').on('click', function clickHandler() {
// code to handle the click event
});

permite al desarrollador no tener que, en lo que escriben, implementar un controlador usando addEventListener () y un controlador separado usando attachEvent () (el controlador attachEvent () es necesario para IE 8 y versiones posteriores). Puede permitir que jQuery resuelva los problemas de compatibilidad entre navegadores.

2. Proporcionar una sintaxis más concisa y una API fluida para ciertas características de JavaScript.

En el ejemplo anterior, la llamada al método .on () es más concisa que cualquiera de los métodos JavaScript simples que mencioné. jQuery también usa el método de encadenamiento para crear una API fluida, de modo que uno pueda crear efectos complejos con declaraciones relativamente simples, como esta: $ (‘. the-class’). show (). slideUp (1000) ;.

No creo que los desarrolladores deban hacer nada si no les interesa. Pero si no aprenden jQuery, se están perdiendo.

En realidad, creo que es una excelente manera de comenzar. Es una buena introducción a la programación. Te diré por qué:

  1. es un juego de herramientas muy útil
  2. es muy divertido

jQuery es bueno en animaciones (tanto que puede volver locos a sus usuarios, por lo que la discreción ayuda).

jQuery también tiene funciones útiles de acceso directo de Ajax. A los sitios web les gusta obtener datos, y jQuery puede hacerlo bien.

Les digo a los novatos: construyan algo increíble con jQuery.

Después de que aprenda jQuery, si quiere tomarse en serio el javascript, sabrá lo que necesita aprender.

Los desarrolladores experimentados también confían en jQuery, me di cuenta. Podrían escribir una función slideToggle si quisieran. ¿Pero por qué molestarse? El problema ya está resuelto. Y lo más probable es que jQuery ya esté integrado en cualquier pila en la que estén trabajando, porque es una dependencia para muchas otras herramientas, marcos, características, etc.

No. No porque jQuery sea un mal marco, sino todo lo contrario: debería familiarizarse con lo que hace su código antes de extraer partes de él.

Cuando aprendes matemáticas no comienzas con una calculadora. Comienza por realizar las funciones estándar en papel. A medida que comienzas a avanzar hacia niveles más altos de matemáticas, se te ofrece una calculadora para ayudarte a abstraer las cosas que has aprendido, permitiéndote concentrarte en los nuevos conceptos que estás aprendiendo en lugar de perder tiempo en sumar y restar números.

Si comienza con jQuery antes de haber tenido la oportunidad de ser competente en JavaScript, solo se está lastimando a sí mismo: se ha vuelto dependiente de un marco y tratar de desaprenderlo será doloroso. Si bien jQuery parece omnipresente, las personas comienzan a inclinarse hacia tecnologías más eficaces … incluso si no necesariamente las necesitan . Si va a perder un trabajo / contrato / cliente, no quiere que sea porque alguien más podría hacerlo con un idioma en el que su biblioteca se basa en lo que necesita que haga su biblioteca .

Aquí está la cosa. jQuery es más o menos el método de facto para acceder y manipular el DOM. Hay otras bibliotecas que he usado que prefiero, pero simplemente no puedes escapar de jQuery.

Buscando un widget prefabricado para que no necesite rodar el suyo. Lo más probable es que encuentres uno en jQuery. Involucrarse en una base de código ya establecida, nueve de cada diez veces, ya está usando jQuery.

jQuery es una biblioteca efectiva. Hace muchas cosas útiles y las hace bien.

Entonces, sí, un nuevo desarrollador web debería aprender jQuery como parte del aprendizaje de JavaScript. Es una habilidad esencial que en algún momento se convertirá en un requisito.

Yo, en particular, tuve muchos problemas para escribir JavaScript después de usar jQuery durante demasiado tiempo sin apenas experiencia en JS. Aprenda JavaScript: no es tan difícil como parece. Aprenda objetos, métodos, etc. Después de eso, aprenderá jQuery mucho más fácilmente y también sabrá cómo escribir JS “puro”.

JQuery es bueno. Una mejor alternativa es que todos los nuevos desarrolladores web deberían aprender y usar AngularJS sobre JavaScript en lugar de JQuery. Visite angularjs.org y vea el ejemplo básico, ng-click y ng-class para comenzar. Es simple y poderoso.