2010-07-19 13 views

Respuesta

18

Debido a que es sólo una biblioteca de muchos. Puede ser popular, pero está lejos de ser la única opción. Y también provocaría que se congelara en una versión particular y que las mejoras fueran mucho más lentas.

Además, hay poca ventaja de todos modos. Es bastante pequeño y puede configurarlo para que el navegador lo pueda almacenar indefinidamente, por lo que solo se descargará una vez; si tiene una nueva versión, tendrá un nuevo nombre de archivo, por lo que no hay ningún problema en que nunca caduque.

+8

Además de esto, si utiliza una CDN "global" como la de Google para entregar la biblioteca jQuery, entonces es probable que jQuery * ya * exista en la memoria caché del navegador (porque todos los demás usan la misma CDN) por lo que no habría ser virtualmente ningún beneficio en absoluto. –

+0

Sí, buen punto. Me olvidé de eso – jcoder

8

jQuery existe simplemente porque ellos (los fabricantes de navegadores) no pudieron ponerse de acuerdo sobre un estándar común.

+1

Digo que se trata más acerca de la implementación incompleta de estándares y la aparición de técnicas no originalmente, o en todo, parte de cualquier estándar. Además, hay enfoques que son más convenientes que lo que proporcionan los estándares, p. envoltorios alrededor de getElementById. –

+0

@George Yup, aún no mencioné por qué no podían estar de acuerdo. Tristemente, el mismo mecanismo que hizo que JS se desarrollara tan rápido también causó que fuera tan difícil de usar en general que ahora necesita marcos. Y lo mismo está sucediendo con CSS ... – mbq

0

También existe la cuestión del control de versiones. Ciertos sitios y extensiones de jQuery requieren una cierta versión de jQuery. Ahora depende de la aplicación decidir qué versión usar.

+0

, pero podría configurar un sistema de declaración similar a HTML doctypes e incluir varias bibliotecas de versiones en la instalación del navegador. El único problema es el desfase entre las versiones de jQuery y la compatibilidad con el navegador – HorusKol

+0

@HorusKol - I no veo el retraso como un problema tampoco. El funcionamiento real del navegador no tiene nada que ver con la biblioteca, por lo que puede actualizarse automáticamente cada vez que sale una nueva versión de la biblioteca. El proveedor del navegador no necesita enviar una actualización de software solo para hacer eso. – Anurag

1

Puede considerar jQuery como un complemento de JavaScript. Y los navegadores no se envían con complementos, de lo contrario, el propósito de los complementos sería irrelevante.

0

Probablemente porque los navegadores son difíciles de actualizar. Es posible que alguna de las ventajas de JQuery llegue a javascript, y creo que algo de esto acaba de ocurrir. (bueno, la idea es de todos modos) Lleva años agregar una función a algo así como javascript, donde la biblioteca de JQuery puede simplemente lanzar una nueva versión.

realidad, hay un incendiario o complemento de Firefox en la que le permite inyectar jQuery en la página .. pero eso es sólo una herramienta de desarrollo

+0

¿Tiene el nombre de ese complemento? Uber utilidad! – Psytronic

+1

@Psytronic: Creo que se está refiriendo a [FireQuery] (http://firequery.binaryage.com/) –

+0

Agradeciéndole mucho, me ahorra navegar a sitios que sé que lo usan. – Psytronic

2

plugins se actualizan con más frecuencia que los navegadores - dentro de una semana la versión del navegador de jQuery estaría fuera de fecha :)

13

Creo que esta pregunta debería ser una discusión más grande, pero estas respuestas son todas falsas. Esto también es 2 años más tarde, por supuesto.

  1. "es solo una biblioteca de muchas" - incluye el top 11.
  2. "no podía estar de acuerdo con un estándar común" - Por lo que jQuery es un estándar propio en este punto.
  3. "actualizado con más frecuencia que los navegadores" o "hacer que las mejoras sean más lentas" - Por lo tanto, el navegador no tendrá jQuery-1.9.x hasta la próxima actualización del navegador, simplemente no lo incluya en su proyecto.
  4. "Caché de todos modos": Claro, sigue siendo una transferencia que no tiene que suceder, y hay muchas personas que no han navegado mucho en su nuevo dispositivo que todavía quieren que su sitio sea rápido. y así.

El hecho es que es totalmente factible y sería mejor para la carga de internet; por cuánto es discutible. Realmente podría ver a Chrome reemplazando al menos una transferencia de red a su CDN con una copia local, pero estoy seguro de que hay algunos problemas legales, de seguridad o de neutralidad de red con eso. Al igual que estoy seguro de que la razón principal tiene algo más que ver con estos asuntos y no estas excusas técnicas cojas que obviamente no se consideran bien.

Esto podría beneficiar a otras bibliotecas también si los desarrolladores pudieran confiar en la velocidad y la disponibilidad de una biblioteca completa de herramientas como dojo, y no tener que elegir solo para recortar peso. Y también como la mayoría de las bibliotecas han adoptado el enfoque AMD o requireJS para empaquetar sus proyectos, creo que hay un buen argumento para permitir que el navegador al menos esté informado de sus dependencias.

+0

"* Realmente podía ver [navegadores] al menos reemplazando cualquier transferencia de red a [una cierta URL] con una copia local *" - ya lo hacen. Se llama almacenamiento en caché HTTP. – Bergi

0

Adición de jQuery [tipo] funcionalidad al navegador está incorporado aplicación JS (o lo que es un plug-in de clase primero) superaría un problema básico:

Como muchos han dicho, jQuery es una librería JS - es decir, en caso de que el centavo no caiga - que es escrito en JS y tiene que ser interpretado en tiempo de ejecución.

Incrustarlo significaría que podría estar escrito en código nativo para el sistema operativo, por lo que es mucho más eficiente.

Cuestiones relacionadas