2010-07-09 19 views
13

Quiero saber lo que ustedes piensan de estos 2 marcos, en términos de:Dojo versus YUI marco Javascript

  • robustez,
  • la calidad del código,
  • desarrolladores principales se mueven hacia adelante con nuevas características,
  • problemas con el navegador cruz,
  • componentes del módulo,
  • más fácil de aprender e integrar

que ya conozco y utilizo jQuery, recientemente he encontrado que falta en términos de los componentes de la empresa '' listos para la gran aplicación web.

Ahora no quiero comenzar un debate sobre jquery, o por qué mootools no está allí, quiero saber lo que ustedes piensan específicamente sobre estos 2 frameworks.

Gracias!

+0

Puede ver el diseño y la funcionalidad de la página de inicio de Yahoo para decidir si va con YUI o no ... – Exception

+0

La biblioteca YUI ya no se mantiene activamente. Más información aquí: https://yahooeng.tumblr.com/post/96098168666/important-announcement-regarding-yui – GibboK

Respuesta

24

responsabilidad: Soy un confirmador Dojo.

De alguna manera, nadie presentó el lado de Dojo en esta comparación — no es una comparación sin uno, ¿verdad? Déjame repasar tus puntos.

Robustez

Dojo se utiliza en muchos proyectos de TI de grandes empresas internacionales. Personalmente participé en proyectos para VMware, IBM, Cisco, Reuters Thomson, por nombrar algunos. En lugar de reenviarlo a la "literatura de marketing", le puedo mostrar la lista real de contribuyentes: http://docs.dojocampus.org/developer/contributors — desplácese hacia abajo para ver las empresas que contribuyen (y usan) Dojo.

mantenemos la lista de contribuyentes las personas y organizaciones para que nuestros usuarios pueden estar seguros de que el linaje IP del código de Dojo está limpio — cada colaborador firma un CLA indicando que él/ella/usted escribió el código aportado y/o tiene una derecho a contribuir con una licencia dual AFL/BSD. Hasta ahora no hemos tenido ningún problema con eso.

Por lo que puedo decir, YUI es principalmente desarrollado por una compañía: Yahoo! YUI started to accept external contributions only two years ago en desarrollo desde 2005 y ahora también requiere CLA.

No soy un experto en el mercado de valores, pero siempre hay algo con Yahoo !: un día se trata de forjar una alianza con Google, al día siguiente que mata a su negocio de búsqueda y va con Microsoft, incluso selling the whole company to Microsoft was discussed back in 2008 — que puede predecir lo lo hará mañana. Ahora en 2010, the share price went down since 2008 — ¿estará a la venta de nuevo? OTOH algunos dicen que Microsoft sería una mejor madre para YUI, si decide mantenerla. Por otra parte, Microsoft tiene sus propias propiedades de software y no es exactamente un respaldo de los proyectos de código abierto de JavaScript.

A diferencia de YUI Dojo cuenta con el respaldo de varias compañías, siendo IBM la más influyente — varios contratistas destacados fueron contratados por esta empresa. Si bien Dojo tiene un sólido respaldo corporativo, sigue siendo un proyecto impulsado por su comunidad, por individuos. Si cualquier compañía o incluso varias compañías experimentarán dificultades en el mercado, seguiremos avanzando.

Dojo se distribuye bajo la licencia dual AFL/BSD y es gratuita para todos los usos. Todas las versiones oficialmente lanzadas de Dojo son atendidas por AOL y Google CDN.

calidad Código

soy :-) sesgada y considero que el código sea de muy buena calidad. Como Dojo es un proyecto de código abierto, siempre puedes juzgarlo por ti mismo y mejorarlo, si te apetece.

El código fuente se mantiene en Subversion con espejos oficiales mantenidos en Github (git), y Bitbucket (hg). Para mayor comodidad, hay un espejo en Launchpad (bzr).

desarrolladores principales de seguir adelante con nuevas características

Dojo tiene una vibrante comunidad activa, lo que mantiene la rueda en movimiento por así decirlo. Siendo uno de los desarrolladores principales, le aseguro personalmente que continuaremos avanzando empujando el sobre proverbial aún más.

Dojo tiene un historial comprobado de innovaciones, y no vamos a parar.

problemas con el navegador de la Cruz

Actualmente Dojo 1.4 supports following browsers:

  • Firefox 2 se redujo el apoyo. Firefox V3 y V3.5 compatibles.
  • Compatible con las últimas versiones de Safari (Safari v4) y Chrome (Chrome v3), pero no versiones anteriores.
  • IE6, IE7, IE8 todos compatibles.
  • Opera más reciente (Opera v10) (solo núcleo de Dojo).

La próxima Dojo 1,5 (será lanzado en unos pocos días) se ensayó extensivamente con navegadores siguientes:

  • Firefox 3.5/3.6
  • Safari 4/Safari 5 y Chrome 5
  • IE6, IE7, IE8
  • Opera 10.53 y más tarde (sólo Dojo central)

Para highlig ht las diferencias con los navegadores A-grado de YUI:

  • Dojo admite Linux además de Windows y Mac.
  • Dojo es compatible con Google Chrome en todos los sistemas operativos compatibles.
  • Dojo es compatible con Firefox en todos los sistemas operativos compatibles.
  • Dojo Core es compatible con Opera en todos los sistemas operativos compatibles.

Personalmente puedo añadir que todavía puedo probar dojox.gfx (el paquete de gráficos multiplataforma) en Firefox 2 — se trata de Dojo Core y funciona como se esperaba. Y pruebo Dojo Core en varios navegadores exóticos como Midori.

Otra diferencia es que Dojo se puede usar (y se usa) en entornos de escritorio y servidor. Obviamente, los componentes específicos del navegador no son utilizados por esos entornos.

componentes del módulo

desde el primer día Dojo proporcionado clases, módulos y paquetes (colecciones de módulos). Dijit proporciona widgets: HTML + JavaScript empaquetado con interfaz unificada.

Todos los bloques de construcción están expuestos a los usuarios, para que puedan crear sus propios componentes, que será de 1 st ciudadanos de clase: pueden ser cargados al igual que cualquier otro módulo, procesado por el constructor (dependencias rastreado, minified, CSS preprocesado, y así sucesivamente), incluso las compilaciones exóticas de CDN pueden ser realizadas por los usuarios. Cualquier cosa que pueda hacer con los componentes stock Dojo que puede hacer con sus propios componentes.

Dojo en sí se divide en 3 sub-proyectos, que se pueden utilizar por separado:

  • Dojo (incluyendo Base Dojo como un solo archivo)
  • Dijit: una colección de widgets
  • DojoX: aún más widgets, y ~ 50 paquetes que cubren todo, desde gráficos multiplataforma hasta cifrado.

más fácil de aprender e integrar

Dojo es sólo JavaScript y HTML normal/DOM (para los widgets). No pretende ser otra cosa, no es un culto con un fuhrer al timón, no es un "marco", que toma el control de tu aplicación y te obliga a hacer cosas extrañas, Dojo no quiere " mejorar JavaScript "imperfecto", Dojo no quiere enmascarar un navegador para ser algo más. En cambio, Dojo proporciona herramientas prácticas para que un programador sea más productivo, para facilitar el RAD, para resolver problemas comunes y para apoyar técnicas y metodologías útiles.

Cada programador experimentado generalmente tiene una mini biblioteca de cosas que le funcionaron bien en proyectos anteriores. Él o ella sabe qué evitar y qué usar. Se "hizo clic" en mi cabeza cuando me di cuenta de que Dojo es esta biblioteca con esteroides — como varios expertos se reunieron y combinaron cuidadosamente sus bibliotecas personales. Claro, tiene muchos módulos diferentes, pero puedo usar solo lo que quiero para mi proyecto específico — No estoy obligado a usar todo, y no pago por cosas que no uso. Ni siquiera una penalización por abstracción.

Si conoce JavaScript y está familiarizado con HTML, CSS y DOM —, se sentirá como en casa.

+1

Como siempre, Eugene, bien puesto. –

9

Creo que su razón para rechazar jquery suena sospechosa, y recomendar un marco como "listo para la empresa" es un cumplido indirecto en mi libro.

Sin embargo, tengo mucha experiencia con YUI (2 y 3) y creo que podría encajar en su caso de uso.

  • Robust - YUI es utilizado internamente por Yahoo, por lo que debería dar algunas pistas sobre su robustez.
  • Calidad de código: soy colaborador del proyecto y la calidad del código es muy buena. Como es de código abierto, puede take a look for yourself.
  • Avanzando - Cuenta con el respaldo de Yahoo (pero también incorpora contribuciones de la comunidad) por lo que avanzar es bastante seguro. De nuevo, puede track development and community involvement usted mismo.
  • navegador Cruz - soporta todos los Yahoo A-grade browsers
  • Módulos - hay un montón, y (especialmente en YUI 3) es fácil de incorporar sólo las piezas que necesita. Si desea la mayoría de los módulos de la GUI, aún necesitará mezclar algunos YUI 2 (lo cual es fácil de hacer). Sin embargo, los widgets en YUI3 llegarán pronto.
  • Fácil de aprender e integrar - YUI tiene probablemente el best documentation de cualquier biblioteca JS que he visto. Sin embargo, YUI 3 es muy testarudo acerca de cómo escribe su javascript. Es de buena opinión y le da mucho dinero por su dinero, pero simplemente "caer" en un proyecto existente YUI 2 puede ser más fácil.
+2

bueno, no lo estoy rechazando por decir, acabo de encontrar jQuery UI que carece de algunas características que necesito, y otros complementos no son de la misma calidad que jQuery core. –

+1

Eso es verdad. Encontrará documentación y calidad más consistente en los widgets de YUI. Simplemente tiendo a favorecer la simplicidad y creo que los widgets se usan en exceso :-). –

+0

No puedo hablar con Dojo o JQuery, pero creo que uno de los puntos fuertes de YUI es el núcleo de la biblioteca, lo que hace que crear y extender widgets robustos sea bastante fácil. En mi experiencia, el artilugio de otra persona casi nunca satisface el 100%. O te arreglas con lo que obtienes, o personalizas. YUI proporciona un buen bloque de inicio y las herramientas avanzadas para personalizar. IMO. –

1

YUI tiene un gran kit de herramientas de prueba y no contamina el espacio de nombres global. Además, los resultados de las pruebas YUI se pueden leer con JUnit, que es una ventaja en mi libro. No he usado Dojo, así que no puedo comentarlo en detalle, pero la forma en que se integra con el DOM es digna de notación.

1

Sabiendo que JQuery es el más fácil de usar e inmenso popular, Dojo tiene la ventaja de estar integrado en Zend Framework. Además, la diferencia en ser una biblioteca o marco cuenta. - Una biblioteca trata de funcionalidades reutilizables, pero un framework trata de comportamientos reutilizables - Una biblioteca es algo que usted llama/hereda de su código, pero framework es algo que llama a su código o proporciona servicios para su código - Una biblioteca es colección de componentes y clases, donde el marco es cómo las clases abstractas y los componentes interactúan entre sí.