Hay más de 100,000 preguntas en Stack Overflow etiquetadas como preguntas relacionadas con la solución de problemas / uso de JQuery. Compare esto con las 124,000 preguntas sobre desbordamiento de pila que están etiquetadas para problemas de JavaScript. Estamos muy cerca de que casi la mitad de todas las preguntas relacionadas con JavaScript sobre Stack Overflow se atribuyen a JQuery (más o menos cualquier margen para los otros pocos marcos JS que reciben preguntas sobre SO).
Lo que quiero decir es que jQuery no es un lenguaje y no es el todo y el final de todos los marcos que deben aplicarse a cada escenario en el que JavaScript está presente, pero se está capturando rápidamente (y predigo que pronto eclipsará ) JavaScript como fuente de discusión / consulta en sitios como Stack Overflow.
¿JQuery está matando a la estrella de JavaScript? ¿Ya no existe una comprensión firme por parte de la próxima generación de desarrolladores web sobre el poder, la simplicidad y el uso de JavaScript como un medio para la manipulación del DOM? ¿Es esto solo la evolución natural de las cosas y el punto de vista que estoy presentando típico del ego del codificador (es decir, ¿es así como los programadores de ensamblaje ven a la multitud .NET / Java / Web?) O es realmente el principio del fin del fin verdadero desarrollador de JavaScript?
fuente
Respuestas:
Ciertamente podría argumentar que jQuery mató la discusión de JavaScript, y este gráfico de tendencia lo respaldaría: http://www.google.com/trends?q=jquery%2C+javascript
También es bastante fácil observar esto en su tablero de mensajes de elección. En cualquier momento un "¿cómo haces xxx en javascript?" se hace una pregunta, casi puedes apostar a que las respuestas estarán en el formato de "usa jQuery y solo haz yyy".
Yo diría que es más exacto decir que ahora es más común discutir javascript en términos de marcos de nivel superior (si esto es algo como un jQuery / prototype o knockout / backbone o node.js o ...)
fuente
$(foo)
convierte en la respuesta SO predeterminada para tareas simples como cómo obtengo todo<img>
en una página . La penalización para los usuarios finales es indebida.$('selector')
esperar y votar de manera predeterminada.Sobre jQuery . Estaba programando con las API de DOM desde 2001 y puedo asegurarle que una API de DOM simple y bien probada como jQuery le permite trabajar más en el problema real que en la API.
También manipulé DOM en Javascript sin procesar en 2005, y la mayor parte del tiempo lo pasé haciendo que funcionara en varios navegadores.
Antes de jQuery, muchos de nosotros pasábamos tiempo reparando las diferencias y errores del navegador, de forma independiente y con poco código compartido. Repetimos el mismo trabajo y los mismos errores una y otra vez. jQuery nos liberó de este deber. Hoy en día, con muchos complementos de jQuery, trabajo principalmente en mi campo de problemas, pero también puedo hacer manipulaciones mucho más complicadas del documento. Solo liberado de los dolores de cabeza DOM pude aprender el verdadero poder de los cierres y el bucle de eventos JS (¡debe verlo para cualquier programador js!)
La mayoría de los programadores de Javascript usan jQuery para manipular el DOM, por lo tanto, la mayoría de las preguntas se refieren a esta área y jQuery.
Hay alternativas a jQuery:
Node.js es un entorno en rápido desarrollo, y en un par de años puede convertirse en un lenguaje de servidor convencional. Mi impresión al respecto es que aún faltan muchas características que podrían hacer que el lenguaje se vea más elegante. En este momento se necesita mucho esfuerzo para organizar su código. No puedo decir si es reparable con un marco como jQuery o solo con una nueva versión de idioma, pero asegúrese de que alguien lo aborde, hay suficiente impulso en torno a Node.js y JS en general.
fuente
Lo vería como más cercano a la biblioteca estándar en C ++ que a la analogía .Net / Assembly. O incluso mejor, .Net y C #. No hay nada en la especificación de C # que indique que tiene que usar .Net, pero está estrechamente relacionado. Pero de todos modos, en cuanto a su pregunta, a la mayoría de los desarrolladores web no les importa JavaScript.
De hecho, argumentaría que la parte de manipulación DOM de JavaScript es bastante terrible (especialmente teniendo en cuenta que varios navegadores hacen que sea difícil hacer que las cosas funcionen en todas partes). No creo que pudieras poner algo más allí y recibir un mejor resultado, pero durante años fue un punto de frustración (una vez más, generalmente debido a los fabricantes de navegadores). La mayoría de las personas simplemente hackearían algo antes de jQuery y lo llamarían un día (y se proclamarían a sí mismos "expertos" la mayor parte del tiempo). jQuery simplemente toma las partes que a nadie le gustaron y le da una mejor cara. Como ese es el uso principal de JS por ahora (manipulación DOM), verá que jQuery aparece cada vez más (o algún otro marco como Prototype, etc.). Solo para que sepan, no creo que el desarrollador web promedio haya sido un gran desarrollador de JS antes de jQuery.
Dicho esto, JavaScript funciona bien como lenguaje. Node.js es un buen ejemplo de cómo retomó su uso como idioma real. Incluso he considerado usarlo como un lenguaje de script integrado en algunas de mis aplicaciones (perdí ante LUA, pero solo porque LUA tardó menos tiempo en configurarse).
fuente
Jquery abstrae las tareas más molestas y aburridas de desarrollar un javascript para un sitio web. Atravesar el DOM es una tarea repetible que requiere mucho trabajo manual con muy pocos beneficios de hacerlo de la manera difícil. Los únicos casos en los que no uso jQuery hoy en día son las versiones móviles de los sitios: simplemente no puede permitirse una solicitud más y 100k allí. Lo mismo ocurre con la carga ajax.
También jQuery hace que la programación cuasi funcional parezca divertida. Introduce el concepto de función como un objeto de primera clase realmente intuitivo para los desarrolladores. Lanza algunos efectos llamativos y algunos complementos muy buenos: es una pequeña herramienta bastante impresionante que es perfectamente adecuada para la tarea.
JavaScript estándar -> Jquery para mí se sintió como en la migración de C ++ y mfc a winforms y C #.
fuente