2010-03-16 17 views
6

He estado usando Ext JS como mi kit de herramientas rich-widget por un tiempo, pero estoy pensando en pasar a YUI, en parte debido a la licencia menos restrictiva.Comparando YUI y Ext JS

El modelo orientado a componentes utilizado en YUI parece bastante similar al que he disfrutado tanto en Ext JS, pero me interesa saber qué tan profundas son esas similitudes. Así que estoy interesado en los comentarios de las personas que han usado tanto Ext JS como YUI. ¿Qué es lo mismo y qué es diferente? ¿Qué pierdo al mudarme a YUI y qué gano?

Respuesta

10

Creo que ambas bibliotecas en realidad abordan diferentes necesidades.

YUI está diseñado para las necesidades de Yahoo inc. Es muy bueno en la construcción de aplicaciones orientadas al público donde cosas como la degradación elegante, el marcado limpio y el acceso son importantes.

ExtJS es un marco de RIA completo muy bueno y bien diseñado que está muy dirigido a la construcción de aplicaciones de línea de negocio. Características tales como un componente de cuadrícula realmente potente, una distribución sólida y una buena apariencia profesional.

He usado tanto bastante, aunque solo hasta YUI 2.7.0 y he construido varios RIA completos usando los marcos.

Mover una aplicación existente de una a otra sería bastante diferente ya que si bien comparten un antecesor común (ExtJS fue una vez YUIext) los marcos son bastante diferentes ahora.

+0

Un punto interesante sobre aplicaciones de frente público frente a línea de trabajo. Hemos estado utilizando ExtJS para cosas internas hasta ahora, pero estamos pensando en usarlo para una aplicación pública. Parece que podemos querer ir con YUI en ese caso. –

+1

ahí es donde trazaré un límite, no tiene por qué ser así (estoy seguro de que los chicos de ExtJS dirían) pero los frameworks como YUI y jQuery parecen ser un poco más adecuados para el público –

+1

Eso es muy punto interesante, estoy de acuerdo 100%.Ahora que he estado usando ExtJS un poco más, recuerdo los días en que intenté usar YUI en nuestra aplicación comercial y pensé que era bueno y bastante maduro, pero era difícil hacer que manejara todas las cosas pequeñas que pudiera querer en una aplicación de negocios. YUI es bastante maduro, pero no apuntan exactamente a las mismas personas. – SBUJOLD

2

Para mí la diferencia es que YUI es muy liviano y flexible, mientras que ExtJS es más pesado, con un tamaño más grande y más rígido en la forma en que lo usa. YUI es genial si sabes lo que estás haciendo en Javascript y quieres extender tu poder; ExtJS es bueno si quieres una capa de abstracción de UI con la que no tengas que meter mucho ... pero si do quieres hacer cosas para las que no fue diseñado, puede ser una tarea ardua.

+0

Ext es extremadamente flexible y potente si sabe cómo usarlo, definitivamente no es "rígido". Creo que una declaración más justa podría ser que tiene una curva de aprendizaje más pronunciada, pero en mi opinión es un marco igualmente poderoso. –

2

Cuando construí una aplicación reciente, tomé exactamente la misma decisión para hacer YUI o Ext JS.

Terminé yendo con YUI por algunas razones: YUI 3 es extremadamente ligero y rápido para tareas simples y la carga diferida lo hace aún más rápido.

La degradación elegante era importante para esta aplicación.

Usar YUI 2 widgets en YUI 3 es bastante fácil y con 3.1 literalmente semanas de distancia será aún más fácil.

La documentación de YUI es increíble y el chat y los foros de IRC son muy útiles y en realidad tienen personas del equipo de desarrollo de YUI.

1

No he usado ExtJS mucho todavía, todavía estoy en una fase de aprendizaje, pero por lo que pude hacer con él, estoy bastante seguro de que incluso hace poco más de 1 año cuando estaba haciendo un Muchos desarrolladores de YUI habrían sido mucho más desafiantes y el resultado no hubiera sido tan astuto.

No es que diga que no debería hacerlo, pero mi consejo para usted sería investigar seriamente y crear prototipos de algunas de las características existentes que debe ver si YUI se ajusta a sus necesidades. NO se base solo en los ejemplos y la sensación de "Sí parece que funcionaría".

2

En un momento en que todas las aplicaciones están migrando a la web, la línea clara dibujada por Gareth entre la cara pública y la aplicación Business no tiene sentido también para mí.

Prefiero las otras respuestas, como la de Robusto, y comparo ambos marcos por razones técnicas/financieras.

YUI ventajas:

  • gratuito
  • Ligera (HTML + JavaScript)
  • más eficiente
  • más fácil de aprender y comprender
  • mejor documentación y ejemplos
  • comunidad más grande

ventajas Ext:

  • características más ricos & componentes
  • Algunos controladores del lado del servidor (no documentado) (como .NET) (aunque el uso de tales bibliotecas en el servidor parece mal diseño)

Conclusión: Si su sitio web no requiere las características adicionales proporcionadas por ext, vaya a YUI.

+0

+1 para "gratis" como la primera ventaja en YUI, +1 y para las partes "no documentadas" de ExtJs (pero solo puedo votar una vez) :) –

3

Una diferencia importante es que YUI se distribuye bajo la licencia extremadamente permisiva de BSD, mientras que ExtJS se distribuye bajo una interpretación muy viral de la GPL. Por ejemplo, con la interpretación de Sencha de la GPL, si escribe una interfaz SOAP o REST específicamente para hablar con una interfaz ExtJS, entonces su código de servidor debe ser GPL y debe proporcionar acceso a la fuente ya que la ha "distribuido" concediéndole acceso a través de la web. Sencha proporciona una licencia comercial para su código, pero si lee sus documentos con cuidado verá que no le permiten convertir el código que escribió contra GPL Sencha a otra licencia cuando cambia a la versión comercial. (http://www.sencha.com/legal/license-overview)

En resumen, si su código necesita integrarse con la lógica comercial patentada o los sistemas con licencia comercial, entonces debe desarrollar usando la versión comercial de Sencha del comienzo.

1

Con la GPLv3, establece que, siempre y cuando los usuarios sean parte de la misma entidad legal, no es necesario que comparta el código fuente. La verborrea lo establece técnicamente como si no fueran parte de la misma entidad legal, luego debe proporcionar la fuente. Pero esto no significa que Sencha no cambie la licencia más tarde. Tampoco significa que lo harán tampoco.