2008-09-16 12 views
18

Estoy buscando un marco de JavaScript liviano cuyo objetivo principal es abstraer las diferencias del navegador. Lo uso principalmente para crear nuevos elementos de IU, y no necesito mucho más que algo que me proporcione un lenguaje independiente de plataforma y DOM.¿Cuál es el mejor marco de JavaScript liviano?

+0

Esto ya se ha pedido en numerosas ocasiones - ¡ARGH! Si tuviera la capacidad, cerraría/eliminaría esto en un abrir y cerrar de ojos. Por favor, busque antes de publicar –

Respuesta

16

Hay 3 JS bibliotecas que uso actualmente: Prototype, jQuery y MooTools. Prototype y jQuery son los más utilizados. jQuery y MooTools son los más livianos.

MooTools tiene una característica agradable en su sitio que le permite crear un archivo comprimido .js personalizado con solo los módulos que necesita, haciendo el más ligero, dependiendo de lo que esté haciendo. jQuery tiene una base de fans mucho mayor y un mejor soporte por eso.

De los 3, recomendaría jQuery, pero probablemente no sea una mala idea echar un vistazo a todas las opciones disponibles.

3

Soy un gran admirador de la Biblioteca Yahoo! User Interface (YUI). Tiene un buen conjunto de cosas de manipulación de DOM, y un marco de widgets bastante sólido. Además, puedes mezclar y combinar lo que quieres usar.

1

Personalmente, cuando estaba trabajando en el lado del cliente, me enamoré de JQuery, que tiene una versión de 15k. Hay una ligera curva de aprendizaje, pero es muy resbaladiza.

5

utilizo jQuery - es simple y pequeño, y lo mejor de todo: Muy fácil :)

1

Puede empaquetar cualquier código JavaScript para hacerlo más ligero, por lo que la pregunta podría venir abajo a la que usted prefiere ? Voy por Prototype - hay una versión disponible llamada protopack que creo que viene a aproximadamente 20 KB.

2

Prefiero JQuery. También tiene buena documentación. JQuery

0

Me gustaría recomendar MooTools :-)

var theDiv = new Element('div', { 
    'id': 'theDiv', 
    'styles': { 
     'backgroundColor': '#BF1942', 
     'color': '#fff' 
    } 
}).toggleClass('someClass').inject($('someSibling', 'after'); 

me gusta mucho la legibilidad de su código.

1

MooTools está bastante caliente. Se está haciendo un poco más grande en estos días (la base es de 60 KB), por lo que podría estar fuera de tu alcance.

Pero si estás realmente solo después del DOM básico, jQuery probablemente sea ideal.

+0

Es tan grande sin comprimir, pero si está comprimido y comprimido, está más cerca de 17k, que es solo un poco más grande que jQuery. Sin embargo, MooTools también es modular, por lo que solo debe tomar lo que necesita, lo que puede reducir el tamaño aún más. – VirtuosiMedia

2

También me gusta jQuery debido a la potente función de selector de "$" y desea proporcionar un enlace a la documentación alternativa: Visual jQuery

0

He hecho mi propia versión durante años, pero cuando juego con otros me mantengo muy lejos de dojo + jquery. No tengo nada más que decir sobre una combinación de mootools (mejor js ani que he visto) + los kits gui o yui

0

Estoy de acuerdo con JQuery como la opción ligera, extensible y potente. Mi compañía actualmente usa Extjs, que es masivo y mucho más complejo para lo que estamos haciendo. Extjs es ideal si necesita hacer un sitio rápido sin diseñadores involucrados (viene con todos los gráficos y estilos para crear todo lo que necesita) pero es de aproximadamente 6MB y termina haciendo las tareas simples más engorrosas :)

Si podría hacerlo todo, lo que puede suceder, usaría JQuery.

0

midori es un marco de JavaScript ligera (sólo 45K sin comprimir). Es compatible con la mayoría de los selectores de CSS2 y CSS3 para acceder a los elementos DOM, y no requiere que aprendas una API completamente nueva. Además del estándar DOM, evento y funcionalidad Ajax, también admite efectos visuales básicos, arrastrar y soltar, menús emergentes y autocompletar, entre otras cosas.

0

jQuery es muy bueno.

Lo que sería genial si pudiéramos agregar nuestro marco a una lista de marcos que se sugieren aquí y permitir que otros voten sobre el que más les gusta o usar, es decir, un sondeo/encuesta dinámico.

0

Estoy de acuerdo con Akselsson: DOMAssistant parece ser exactamente lo que usted solicitó - marco de interacción DOM ligero para abstraer las diferencias del navegador. Test it for yourself...

1

Otro voto para jQuery aquí. Rápido, ligero, y cuanto más lo aprenda, más rápido y conciso será su código.

2

Aquí hay un cuadro de comparación que utilicé para ayudar a evaluar algunas de las diversas bibliotecas que existen.

Javascript Framework

No es de ninguna listas implica todas las características de cada biblioteca, pero le da una buena visión general a reducir las opciones a lo que los marcos se debe cavar más lejos en para ver si cumple con sus necesidades.

1

jQuery es muy resbaladizo y muy fácil de aprender. He usado Moo en el pasado para alguna manipulación DOM básica. Tiene menos espacio pero menos funcionalidad. La mejor opción para usted definitivamente depende de sus requisitos.

4

mooTools es mi favorito también. Su interfaz le permite tomar tanto o tan poco como desee, por lo que si desea agregar más trucos a su bolsa de herramientas más adelante, es bastante fácil hacerlo.

1

Solo una sugerencia, pero buscaría un marco que tenga las características que desea y no me preocupe demasiado por el tamaño, dentro de lo razonable. La mayoría de los frameworks modernos como PrototypeJS o JQuery no son tan grandes y tienen versiones minimizadas (espacios eliminados, etc.). Además, debe tener su sitio configurado para el almacenamiento en caché de estas bibliotecas. La única vez que un usuario tendrá que descargar la biblioteca es en la primera visita, o cualquier visita después de que hayan borrado su caché del navegador.

Al nombrar los archivos de la biblioteca, asegúrese de utilizar un nombre de archivo único. Por ejemplo, nombre su biblioteca según la versión de la biblioteca. Cuando necesite actualizar a una nueva versión de la biblioteca, simplemente haga referencia al nuevo nombre de archivo (versión) desde las páginas relevantes. Esto le permitirá almacenar en caché estos archivos sin una fecha de caducidad a corto plazo.

Hay muchas otras técnicas de almacenamiento en caché que puede utilizar para evitar el tamaño del archivo de la biblioteca y mejorar el rendimiento. Recomendaría "Sitios web de alto rendimiento", ISBN: 0596529309. Si bien toda la información del libro se puede encontrar en línea, el libro hace un buen trabajo recopilando la información que necesita en un solo lugar y combina los diversos conceptos (tengo no interés financiero en este libro).

1

Esta pregunta es realmente un duplicado de this question (creo). Mi respuesta sobre esa pregunta fue la siguiente (y se aplica también aquí):

Obtendrá un millón de respuestas aquí. El corto es: hay varios, ni uno solo. Todos son diferentes en algunos aspectos y similares en otros, y, en general, ninguno de ellos es una mala elección. Los principales marcos que yo recomendaría son (en orden alfabético para que no se muestra ningún sesgo):

* Dojo 
* jQuery 
* MooTools 
* Prototype (with Scriptaculous) 
* YUI 
* MochiKit 

Cada uno de estos tienen diferentes estilos, diferentes comunidades y diferentes enfoques. Cuál debe elegir es principalmente una cuestión de combinar el estilo de estos marcos con el suyo. Dedique algo de tiempo con los tutoriales y demostraciones de cada uno y elija el que tenga más sentido para usted.

Como una exención de responsabilidad, señalaré que soy un desarrollador de MooTools y escribí un libro sobre cómo usarlo. No diría que MooTools es mejor que cualquiera de estos otros marcos; solo diferente

0

YUI es demasiado grande y complejo para mi gusto. Solía ​​ser un fanboi Prototipo, pero perdió su brillo para mí ya que llegué a utilizar jQuery en nuevos proyectos. Lo que me gusta de jQuery es el modelo mental consistente: encontrar algo, actuar en consecuencia.

me gusta jQuery suficiente que he construido un widget de Dashboard para el acceso en línea a los documentos: jQuery Reference Widget

0

jQuery es su mejor opción si usted está haciendo pequeñas mejoras, ya que es el marco más utilizado, y se le recibe muchos comentarios de otros usuarios. Sin embargo, yo no soy un usuario de jQuery porque ya desarrollé RIA usando Ext. Debido a eso, utilizo Ext-core (un subconjunto de Ext) porque el framework tiene un mejor diseño de OO y proporciona la misma funcionalidad básica que jQuery (manejo de eventos, manipulación de DOM, Ajax).

http://www.extjs.com/products/core/

nunca he utilizado prototipo, ya que aumentan Object.prototype lo que provoca errores en nuestro código.

Cuestiones relacionadas