He estado usando javascript desde hace algún tiempo y recientemente comencé a usar jquery, de lo cual admito que soy fan. <script type='text/javascript' src='../locationOfJquery/jquery.js'></script>
permite el uso de la biblioteca en las etiquetas de secuencia de comandos en esa página. Lo que yo quiero saber es si simplemente incluyendo las etiquetas de script disminuye el tiempo de carga de la página cualquiera, incluso si no existe un código jQuery en la página, y también si hay otros inconvenientes principales a usar jQuery¿Hay algún inconveniente en incluir la biblioteca jquery en mi página?
Respuesta
- Ponga la etiquetas de script en la parte inferior de la página. Esto no ralentizará el procesamiento del DOM antes de que se active el evento onload.
- Utilice la versión minified de jQuery, que es tan pequeña como una pequeña imagen/icono.
- Si los visitantes visitan más de una página en su sitio, también se almacenará en caché después de su primera visita. También puede que ya se haya almacenado previamente (o servido desde un servidor más local) si utiliza una red de entrega de contenido (por ejemplo, Google). Las buenas primeras impresiones son fundamentales.
Para responder a más preguntas más pequeños que tenía:
- Si no hay ningún código jQuery en la página, jQuery aún debe ser analizada. Puedes ver cuánto tiempo le lleva a tu computadora analizar jQuery usando una herramienta de creación de perfiles como Chrome.
- Existen marcos que optimizan su javascript por página, pero estos tienen que intercambiar la capacidad de almacenar en caché un script frente a las ganancias en un análisis más rápido. Es casi seguro que no deberías preocuparte por ellos. jQuery es muy ligero en comparación con otros marcos.
Números:
Por ejemplo en Chrome cuando se carga la página web Stackoverflow, solicitando la biblioteca jQuery desde el CDN de Google, los resultados fueron:
- 0.027ms tiempo agregado gastado descargar jQuery (quizás en caché)
- 35.992ms de tiempo agregado dedicado a evaluar jQuery y realizar cualquier DOM/predeterminado Operaciones CSS
Esto es todo relativo, por supuesto. Apuesto que cuando cargó esta página no notó ningún retraso porque la página completa tardó unos 630ms en cargarse.
Ok, sí, no debería haber preocupaciones en su implementación – John
No debe incluirlo si no lo está utilizando.
32k es un pequeño precio a pagar, pero es mejor no tener ninguna solicitud y 0k extra para descargar.
Además, y lo que es más importante, puede tener conflictos con otros marcos si está utilizando alguno.
Actualmente no estoy, en este punto estoy principalmente preocupado solo por optimizar el tiempo de carga de una de mis páginas web más grandes, pero la funcionalidad de jQuery es definitivamente una conveniencia. – John
No tendrá ningún impacto sustancial en el tiempo de carga ya que el navegador lo almacenará en caché, y el tiempo para ejecutarlo es minúsculo. Acepto que es mejor no incluirlo en las páginas que no se utiliza, pero no lo suficiente como para preocuparse a menos que sea realmente fácil (por ejemplo, su marco ya tiene un concepto de incluye condicional). No vale la pena perder el sueño. Si tiene una página de carga lenta, no es culpa de jQuery. –
Si está considerando usar jQuery, entonces no me preocuparía incluirlo ahora. La optimización que realiza excluyéndola es pequeña. – Andrew
El cliente tendrá que descargar el script jQuery (que es bastante pequeño). Para optimizar aún más, puede usar las versiones alojadas de "Content Delivery Network" de Google o Microsoft. También recuerde usar la versión minimizada que se descarga más rápido.
This article indica las razones de por qué.
Usar CDN no cambiará mucho las cosas. Eso es mejor para el mundo y su servidor que para un usuario individual. Puede salvarlos de una descarga, pero después de la primera vez que alguien acceda a su página, no tendrán que volver a descargar jQuery ya sea que esté vinculado a un CDN o a su servidor. No digo que no sea algo bueno, pero no cambiará el perfil general de un sitio que utiliza jQuery. –
Sí, estoy de acuerdo en que es una optimización despreciable, pero aún así, puede ahorrar esa única descarga para la mayoría de los usuarios (si tiene millones de usuarios nuevos que significa 30 Kb frente a millones de usuarios de ancho de banda de usuarios), y disminuir la latencia para los otros usuarios que necesitan descargarlo. En general, es una situación de ganar-ganar. Creo que vale la pena subir al carro. –
- 1. ¿Hay algún inconveniente con ConcurrentHashMap?
- 2. ¿Hay algún inconveniente para habilitar git rerere?
- 3. ¿Hay algún problema con mi biblioteca System.Xml.Linq?
- 4. ¿JMockit tiene algún inconveniente?
- 5. ¿Hay algún inconveniente en agregar numerosos índices a las tablas?
- 6. ¿Hay algún inconveniente para establecer ClientIDMode = Static en cada objeto (establecido en el contenido principal de la página maestra)
- 7. ¿Cómo incluir jQuery en la página ASP.net?
- 8. ¿Hay algún inconveniente de "seguimiento asíncrono" con Google Analytics?
- 9. ¿Hay algún inconveniente obvio para usar un intercambio sin asignación?
- 10. ¿Hay algún beneficio o inconveniente cuando un constructor implementa otro?
- 11. ¿Hay algún inconveniente en agregar un delegado vacío anónimo en la declaración de evento?
- 12. ¿Hay algún valor en incluir SQLite en VCS
- 13. ¿Hay algún inconveniente para confiar en la función System.Guid.NewGuid() al buscar ID únicos para los datos?
- 14. ¿Hay algún "inconveniente" con este enfoque para manejar errores en PHP?
- 15. ¿Hay algún inconveniente en el uso de funciones anónimas en JavaScript? P.ej. ¿uso de memoria?
- 16. ¿Hay algún inconveniente en el uso de barras diagonales dobles en las URL?
- 17. ¿Hay algún inconveniente en dejar los símbolos de depuración en versiones de lanzamiento?
- 18. Cómo puedo incluir un mpg en mi página web
- 19. Cualquier inconveniente de utilizar ASP.Net AJAX y JQuery juntos
- 20. ¿Hay una biblioteca jQuery escrita en C#?
- 21. ¿Cómo incluir CSS y jQuery en mi plugin de WordPress?
- 22. ¿Hay algún inconveniente al utilizar un tipo de retorno IEnumerable <T> para datos SQL?
- 23. Mercurial (y supongo que Git) con Dropbox: ¿algún inconveniente?
- 24. ¿Hay algún método para clonar una matriz en jQuery?
- 25. ¿Cómo hago para incluir la biblioteca Tortuga 22 NinePatch en mi proyecto XCode?
- 26. Cómo incluir JavaScript en el encabezado de la página MVC4
- 27. Insertar jQuery en la página utilizando Google
- 28. cómo incluir una página en otra en gwt ui.xml
- 29. ¿Hay algún encabezado httpresponse que redirija al usuario a alguna página de mi sitio?
- 30. Cómo incluir biblioteca estática en el Makefile
La fuente de jQuery minified es 32kb.No lo incluiría a menos que realmente lo estés usando. jQuery es increíble, ¡no hay inconvenientes! –
Si fuera 1999, diría que sí. Pero en este día y edad, donde la mayoría de la gente tiene mejor que el acceso telefónico, no ... no afectará el rendimiento si simplemente incluye otros archivos JS. – kevin628
Hay desventajas en jQuery ... al haber sido miembro de SO por un tiempo, he visto algunos usos bastante espantosos de jQuery simplemente porque hace las cosas muy fáciles. Es fácil hacer scripts innecesariamente ineficientes, especialmente si aprendes jQuery antes de javascript, que muchos novatos están haciendo. –