Considerando
- conocimiento de los negocios
- soporte comunitario
- extensiones disponibles
- conjunto predeterminado de características
- simplicidad de uso
- y fiabilidad
¿Por qué prefieres uno sobre el otro?
Considerando
¿Por qué prefieres uno sobre el otro?
Respuestas:
Intentaré agregar mi información.
Según tengo entendido, Google Closure no es solo otra biblioteca JS, sino que también es un conjunto de herramientas que le permitirán optimizar su código JS. Trabajar con jQuery le brinda buenas herramientas y una biblioteca liviana, pero no minimiza su propio código. El compilador de cierre lo hará. El inspector de cierre también puede ser útil, ya que a veces el código minimizado tiene un comportamiento diferente al original y es difícil de depurar. Se integra con Firebug y pruebas de unidad de soporte, que son los dos mejores amigos de los desarrolladores en la actualidad.
Supongo que como cualquier biblioteca nueva VS bien establecida, carecerá de la disponibilidad de toneladas de extensiones y tutoriales que tiene jQuery. Sin embargo, ser impulsado por Google debería garantizar que el soporte y la confiabilidad sean bastante buenos. La documentación actual y el tutorial también parecen muy buenos.
Sin embargo, las características de Closure parecen decentes, y su arquitectura modular también es prometedora. Supongo que Google lo ha estado utilizando internamente durante mucho tiempo, lo que significa que puede esperar que se implementen todas las características básicas (y más), y probablemente de una manera muy optimizada y escalable. Están tratando de presentarlo como el STL de JavaScript, por lo que deberían haberlo pulido.
Después de mirar las características más de cerca, parece que este puede ser un paso adelante para el desarrollo de aplicaciones web en comparación con las bibliotecas existentes como jQuery. Supone que beneficia los desarrollos internos en Google, pero cosas como la detección del estado en línea (ver goog.events.OnlineHandler ), la fácil integración de solicitudes AJAX y acciones JS en el historial del navegador (ver goog.History ), o las legiones de grandes widgets proporcionan (ver el paquete goog.ui ) puede ayudarnos a todos a construir aplicaciones web aún más increíbles;)!
Viene con características de plantillas que se integran con Java (¿quién dijo GWT ?), Por lo que esto también puede ser otra ventaja para Closure.
Finalmente, parece bastante simple de usar. La sintaxis puede ser un poco más detallada que la función corta $ jQuery, pero con IDEs y autocompletado, no es un problema real. Además, diría que podemos esperar una buena integración en IDEs como Eclipse, provenientes de Google.
EDITAR: según lo solicitado, déjenme decir algunas palabras sobre la referencia de GWT. Google Web Toolkit es una biblioteca de Java que permite crear interfaces web habilitadas para AJAX y que genera (y optimiza) el código JavaScript requerido. Como Google Closure permite crear plantillas que se pueden usar tanto del lado del cliente como del servidor (usando JavaScript y Java), supongo que pronto será posible usarlas conjuntamente (si aún no es el caso).
En mi breve vistazo a la API, encuentro que las diferencias entre jQuery y Closure son sorprendentes.
jQuery es básicamente una forma simplificada de realizar muchas operaciones frecuentes en un navegador cruzado.
El cierre es un marco que es muy nuevo, ya que proporcionan una forma de usar la <canvas>
etiqueta en varios navegadores , por ejemplo, y han agregado nuevos eventos.
Entonces, esto se agrega a lo que normalmente hacemos con javascript, están tomando muchas operaciones que la gente quiere hacer y poniéndolas en la API.
Por ejemplo, tienen un evento para saber si el estado en línea ha cambiado. Para que pueda saber si el sistema está en línea.
Tienen funciones de JavaScript que utilizan herramientas como Google Gears, que continúa con el hecho de que han ampliado lo que se puede hacer con Javascript.
Me llevará un par de días asimilar todos los cambios, pero puedo ver que esto podría tener un gran impacto en las aplicaciones web que se pueden desarrollar.
La mayor ventaja de Closure Library es que está diseñado para Closure Compiler. Esto abre posibilidades completamente nuevas para el desarrollo de JavaScript ...
El compilador tiene varias características interesantes:
Para obtener más información, consulte: http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html
Editar : eche un vistazo a este video de YouTube que puede responder mejor algunas preguntas sobre Google Closure.
Probablemente las mejores fuentes de información sobre el cierre de Google son el grupo de discusión del proyecto , wiki, páginas de documentos, demostraciones y un libro aún sin terminar de Michael Bolin que ahora está disponible en el sitio de libros de safari.
Algo que puedo decir de inmediato: hay una curva de aprendizaje más pronunciada para closure
vs, jQuery
pero puede valer la pena debido a la inmensidad de la biblioteca, la organización clara y el beneficio de usarla junto con el compilador y la herramienta de creación de plantillas.
closure
a ese respecto, la biblioteca es más parecida dojo
que jQuery
, y dojo
según Michael Bolin, se tomaron prestados algunos conceptos .
El compilador de cierre de Google utiliza un JSDoc
sistema de documentación que simultáneamente (si el programador lo creó correctamente) proporciona documentación y permite detectar muchos errores en el momento de la compilación.
Si bien los nombres de las funciones son más detallados que jQuery
los de 's, el compilador reduce el código (utilizando varias tácticas de optimización) y la verificación de tipo ahorrará un tiempo considerable en la depuración del código, por lo que el tiempo de escribir los nombres más largos probablemente no sea un problema. Al mismo tiempo, los nombres más largos agregan legibilidad.
la biblioteca admite navegadores que se ejecutan en el modo peculiar para que otros sitios puedan incrustar scripts utilizando html "peculiar"
La biblioteca funciona con (pero no depende de) un sistema de plantillas de JavaScript llamado soy
que simplifica el llenado de documentos con contenido.
como jQuery
google closure
permite atravesar la estructura dom con las consultas basadas en cadenas utilizando un componente dedicado de la biblioteca.
closure
La biblioteca se basa más en espacios de nombres delimitados por puntos, como Java
una característica organizativa muy sólida.
el uso de dichos espacios de nombres generará una sobrecarga en el código no compilado, pero en el código compilado esas cosas se reemplazan con nombres de variables cortos.
like jQuery google closure allows traversing dom structure with the string-based queries using a dedicated component of the library.
¿Pueden vincularme con alguna documentación relacionada?
goog.dom.DomHelper
, pero personalmente no veo una función de consulta equivalente a jQuery. @Evgeny: ¿Puedes darnos más detalles?
Acabo de publicar un artículo bastante exhaustivo sobre Google Closure que responde a esta pregunta en insideRIA .
... Clausura rulez! ^ _ ^
Tal vez no obtengo jQuery, pero no he visto una verdadera colección de widgets de interfaz de usuario allí (hay complementos, sí, pero nunca se sabe qué tan bien probados están y, a menudo, no hay un ganador claro y / o el complemento carece de documentación).
El cierre tiene, entre otras cosas, una colección de widgets (ver la pestaña de demos), que incluye, por ejemplo, botones sin imagen utilizados en gmail.
De manera más general, tiene más funcionalidades implementadas como parte del lanzamiento. Puede que no sea una gran cosa, pero me molesta el mar de complementos de jQuery cuando busco algo tan simple como un módulo de historial de ajax o autocompletar.
En general, es una gran biblioteca + conjunto de herramientas y me familiarizaré con él solo para saber qué hay disponible.
Aprecio la mayoría de las contribuciones de Google a la comunidad de código abierto y estoy seguro de que tiene algunas cosas interesantes, pero en general encuentro que Closure es voluminoso, sobrecargado y poco elegante. Si debe convertir todo en Java, supongo que es francamente elegante.
Editar:
Lo suficientemente justo. Realmente no me comparé. El cierre es como un almacén gigante con todas las herramientas posibles que pueda desear ubicadas ... en algún lugar. Algo así como .NET o una biblioteca masiva de Java. Una vez que encuentre lo que necesita, puede encontrar cosas altamente específicas que realizan trabajos altamente específicos. Y luego, para la producción, puede eliminar toda la migaja.
JQuery, por otro lado, es más un destornillador sónico fácilmente modificable.
La Biblioteca de cierre de Google le permite compilar y optimizar su JavaScript. No es una biblioteca como es jQuery. jQuery es algo que le proporciona funciones que le permiten escribir su propio javascript más rápido.
Google Closure lo ayudaría a minimizar su propio código javascript para permitir una entrega más rápida a través de Internet.
Para resumir, Google Closure es una herramienta, mientras que jQuery es una biblioteca similar a Prototype.