it-swarm-es.com

prototype.js o jQuery para nuevos proyectos?

¿Debo usar prototype.js o jQuery para un nuevo proyecto? Rails viene con prototype.js pero jQuery parece la biblioteca elegida para el resto del mundo. ¿Prototype.js todavía está en desarrollo activo? Parece un poco polvoriento ...

7
Aaron

Es sobre todo una cuestión de preferencia. A algunas personas no les gusta cómo Prototype extiende objetos, pero para un uso básico son bastante equivalentes.

Prototype todavía está en desarrollo activo: presentaron un candidato de lanzamiento para el próximo lanzamiento hace solo un par de meses.

6
Matthew Shanley

Nada en contra del prototipo, pero no tiene la cantidad de complementos o una comunidad tan grande como jQuery.

Para jQuery ya hay un complemento para casi cualquier cosa, así que termino escribiendo mucho menos js.

8
corymathews

Las razones por las que uso jQuery sobre cualquier otra biblioteca:

Rápido y ligero
jQuery continúa aumentando el rendimiento de su biblioteca incluso en versiones de menor nivel de revisión. Cuando lanzaron 1.4.2, la velocidad de la biblioteca aumentó considerablemente incluso desde 1.4.1, como se muestra en un publicación de blog de Ajaxian con respecto a su lanzamiento. El equipo de jQuery realizó un análisis de rendimiento de 1.4 en comparación con 1.3 en el anuncio de lanzamiento de 1.4 , que muestra que 1.4 había sido muy optimizado en las áreas de su uso más frecuente y ese rendimiento también había aumentado en todos los ámbitos.

Popular
jQuery es atendido por 48 de los 2000 principales sitios web en el directorio de Alexa, en comparación con Prototype's 6, MooTools's 3 y Dojo's 1.

Built With's Javascript Distrobution indica que jQuery es utilizado por más del 40% de sus sitios indexados. Built With's jQuery Usage Statistics show 32% de los Top 10,000 sitios, 23% de los 100,000 principales sitios y 15% de los principales 1,000,000 sitios en su índice usando jQuery. Comparar esto a Prototipo 's 5%, 4% y 2% respectivamente en esas categorías. También tenga en cuenta que, si bien los usos de jQuery tienden a aumentar constantemente, los usos de Prototype tienden a disminuir.

Desarrollado de forma activa (e inteligente)
En marzo, jQuery publicó en su blog Microsoft ampliará su colaboración con la comunidad jQuery . De la publicación:

El Proyecto jQuery se complace en anunciar que Microsoft está expandiendo su soporte de la Biblioteca JavaScript jQuery a través de nuevas iniciativas, para incluir contribuciones de código, integración de productos y la asignación de recursos adicionales.

...

Microsoft también enviará una versión actual de jQuery JavaScript Library en Visual Studio 2010 y ASP.NET MVC, y continuará alojando las versiones actuales de la biblioteca en el CDN de Microsoft.

Microsoft ahora está incluido en la comunidad de contribuyentes activos a la base de código jQuery. Microsoft tiene algunos desarrolladores muy inteligentes . Microsoft también contribuye financieramente a jQuery. Microsoft tiene mucho de dinero. También están dando jQuery exposición instantánea a cualquier desarrollador con Visual Studio. Microsoft también está trabajando en ASP.NET para específicamente mejorar la integración de jQuery :

Aprenda también cómo ASP.NET AJAX fue diseñado para funcionar sin problemas con jQuery, cómo puede crear controles ASP.NET AJAX directamente desde jQuery y cómo puede usar la biblioteca jQuery en ASP. NET AJAX código.

Puede encontrar más información sobre el uso de jQuery por parte de Microsoft en la publicación del blog ASP.NET de Scott Guthrie jQuery y Microsoft .

código fuente de jQuery está alojado públicamente en GitHub. Esto es una ventaja para mí personalmente, ya que prefiero Git a otros sistemas SCM.

el motor selector de jQuery Sizzle es genial. Y es genial porque jQuery no está trabajando solo en eso. En un publicación de blog que anuncia el lanzamiento de v1. a principios del año pasado, básicamente dijeron "Sabemos que no somos más inteligentes que todos los demás y estamos más interesados ​​en avanzar en la comunidad trabajando con inteligencia personas que al decir que somos mejores que ellos ".

Una cosa que se hizo muy obvia durante el desarrollo del nuevo motor: queríamos poder colaborar con otras bibliotecas y desarrolladores. Vimos una oportunidad para una colaboración sólida con algunos de los mejores desarrolladores de JavaScript, cuyo resultado ayudará a los usuarios de todas las bibliotecas. Por esta razón, nos aseguramos de que Sizzle pudiera funcionar de forma completamente independiente (sin dependencias).

Además, como un signo de buena fe y disposición para colaborar, hemos lanzado el código fuente de Sizzle a la Fundación Dojo. Queríamos un punto de encuentro común donde todos pudieran trabajar juntos y bajo el cual hubiera un claro titular de derechos de autor a largo plazo.

En este momento estamos trabajando con Prototype, Dojo, Yahoo UI, MochiKit y TinyMCE (y muchos otros) en Sizzle, perfeccionándolo a la perfección.

Soporte móvil
En el podcast de YayQuery, Episodio 18 (mp3) , John Resign describe los planes para el soporte móvil de jQuery. La filosofía es que la biblioteca jQuery primaria debe ser compatible con dispositivos móviles, en lugar de escribir una versión móvil dedicada. Uno de los muchos beneficios de esto es que, dado que su biblioteca principal se usa en sitios web generales y móviles, es más probable que se almacene en caché, y los sitios web específicos para dispositivos móviles pueden usar la misma versión en caché que los sitios web no móviles. John también explica exactamente qué teléfonos y sistemas operativos están planificados para recibir asistencia.

jQuery se puede usar con PhoneGap para crear aplicaciones nativas utilizando tecnologías web para dispositivos móviles. También tiene un complemento llamado JQTouch para crear aplicaciones web nativas para iPhone y otros navegadores móviles. Esto significa que todos esos atajos que tiene con jQuery se traducen a otras plataformas, disminuyendo la curva de aprendizaje.

Activo en la comunidad de desarrollo
John Resig es un activo orador . Incluye no solo conferencias y eventos importantes, sino que también apareció en podcasts como YayQuery . También ha escrito dos libros: Javascript NinjaJavascript Pro, ambos sobre habilidades de Javascript puro no jQuery dedicado.

3
Bryson

Utilice el que mejor se adapte a sus especificaciones. jQuery es una gran biblioteca en desarrollo activo con una gran (y gran) comunidad de seguidores y es mi biblioteca personal de elección, pero no dejes que eso te impida usar Prototype si es la herramienta adecuada para el trabajo.

2
Jason

Es realmente una cuestión de preferencia. Tiendo a jQuery, personalmente. Está bien documentado, tiene muchos complementos buenos y hace que mi vida sea mucho más fácil. He escuchado algunas quejas de los prototipos sobre su tamaño y rendimiento (lo siento, no recuerdo su problema específico), pero ambos aspectos han ido mejorando cada vez más.

Probaría ambos y vería cuál es mejor para ti.

2
tghw

Realmente depende de cuál prefieras. Sin embargo, jQuery parece tener un mayor seguimiento, por lo que los recursos para eso podrían ser fáciles de encontrar.

Creo que puede alojarse tanto desde los servidores de Google como desde jQuery desde los servidores de MS, lo que puede considerar.

1
Macha

Creo que jQuery alojado a través de Google CDN abre ambos.

0
Maslow

Es una cuestión de preferencia obviamente. He descubierto que jquery es un poco más difícil de entender para los novatos, ya que el encadenamiento no es realmente intuitivo, en particular cuando se producen condiciones de carrera asincrónicas. Sin embargo, jquery ciertamente tiene más complementos, pero eso también puede ser una desventaja cuando se cargan automáticamente demasiados complementos.

0
txwikinger

Mientras que en la superficie se basa en su preferencia, considere mirar las bibliotecas, complementos y muestras de cosas para las que desea usar jQuery o Prototype. Por ejemplo, con un nuevo proyecto Rails todo AJAX se hace usando prototipo por defecto. Además, si desea utilizar jQuery UI o jQTouch (móvil), recomendaría jQuery.

0
Steve Tranby