2011-01-23 14 views
76

Estamos planeando el desarrollo de una GUI completamente nueva. Estamos muy contentos con JQuery que utilizamos en nuestro producto anterior. Fue fácil, elegante y rápido.JQuery vs ExtJS

Hemos oído hablar de ExtJS. También tiene AJAX y una gran lista de otras características.

Queremos usar solo uno de ellos.

¿Cuál se basa mejor en su experiencia?

Respuesta

87

He usado extensamente jQuery y me encanta. He revisado ExtJS en varias ocasiones y me encantaría tener la oportunidad de utilizar esta biblioteca en algún momento. Esta es mi opinión.

jQuery

El cajón de basura de JavaScript programación. Tienen todo lo que necesitas allí, si estás dispuesto a excavar, usa algo de cinta adhesiva y súper pegamento, y en general tienes un grupo de desarrolladores capaces y dispuestos a manipular el código. jQuery es genial!

Se usa en mucho más lugares de lo que piensas. Sin embargo, al igual que Drupal y otros marcos/bibliotecas compatibles con la comunidad, cuando obtienes asistencia gratuita, obtienes lo que pagas. Puede hacerlo todo con jQuery, pero a veces necesita una pala, linterna y perseverancia.

Además, muy buena documentación (a la par de los documentos en línea de PHP), y toneladas, literalmente toneladas, de código de ejemplo y entradas de blog por ahí.

Atraerá a los usuarios finales y los "scripters avanzados" que no son tímidos con Google para encontrar un ejemplo que pueda usarse para anclar un problema y acelerar el desarrollo.

ExtJS

desarrollado profesionalmente por una empresa con fines de lucro, éstas son más afines a los controles (en el contexto de Visual Studios) de widgets o plugins. Intencionalmente completo y robusto, atento a los detalles y a una estructura organizativa de alto nivel de lo que creo que existe en la jungla de jQuery, ExtJS es un producto por el que se paga: un producto desarrollado y respaldado profesionalmente que vive y muere por su capacidad para devolver valor

Atraerá a "programadores" capacitados profesionalmente que esperan pruebas extensas y un orden superior o rigurosidad en el desarrollo de los controles.

Recomendación final

Realmente tiene que ver con su tienda y los clientes. Si tu grupo es más bricolaje y le gusta unir las cosas y salir por la puerta, ve con jQuery. Es robusto para cualquier situación. Si tiene una tienda muy ordenada y profesional, ExtJS podría ser una buena opción, pero jQuery también será viable. No veo la necesidad de dividir su base de conocimiento y utilizar ambas, pero realmente, si lo hace, use ExtJS para la parte orientada al cliente y jQuery para las consolas de administración. No veo el beneficio al revés.

Además, para las consolas de administrador, mira en TIBCO. Posiblemente exagerado, pero muy interesante.

+5

Bonito escribir en ambos ... Curiosamente llegué a la conclusión opuesta re: cliente VS admin :) – Ben

+1

Supongo que la decisión tiene que ver con lo que los clientes están viendo y con lo que se encarga la consola de administración (ajuste del usuario cuentas contra SCADA). Mi opinión es que el cliente debería ver el dinero, y que las consolas de administración deberían ser lo que sea necesario, pero eso no es duro en piedra. Honestamente, me sería difícil respaldar un código dividido a menos que fuera un legado. ¿Por qué reescribir el código que ya tienes en jQuery? Eso suena como $$ desperdiciado a menos que ExtJS le brinde mejoras prácticas y predecibles en las métricas de tiempo de envío y/o soporte del cliente. –

+0

Por cierto, la interfaz general de TIBCO es el mejor punto de entrada si le interesa. http://developer.tibco.com/gi/default.jsp –

23

La respuesta de Jared Farrish ya es bastante amplia.

He utilizado tanto en diferentes proyectos.

ExtJS es mucho más pesado tanto en tamaño como en lo que le permite hacer. Es excelente si necesita una interfaz de aplicación web compleja, tiene excelentes controles para ventanas, tablas, etc., y se ve elegante.

La comunidad del foro ext es bastante útil a través de su foro.

Eso lo dice mucho más "rígido" que jQuery, y hay una curva de aprendizaje significativamente más larga para comenzar, pero si está buscando interfaces de usuario complejas, valdrá la pena.

Por lo tanto, las ventajas de jQuery es que hará que su proyecto se mueva más rápido, y será más fácil "experimentar" al implementar nuevas características.

Ambos son buenos para su propio tipo de aplicaciones. De hecho, he usado ambos en un proyecto, el administrador extenso (muchas ventanas y secciones) está construido en ExtJS y el front-end, que necesita un cambio más rápido para modificar cosas, pero la interacción de la interfaz de usuario limitada está integrada en jQuery.

Esperanza esto ayuda

12

que no están de acuerdo en la curva de aprendizaje de jQuery siendo más rápido que ExtJS. Todos los componentes en ExtJS tienen un ejemplo resuelto en el sitio y los documentos API son absolutamente maravillosos, estructurados, fáciles de usar y completos.

Lo que elija depende de sus interfaces. Más web-2.0 como interfaces brillantes podría ser un poco más fácil en JQuery, la interfaz ExtJS es atractiva pero muy similar a la aplicación. Dicho esto, creo que no hay comparación entre los dos si está buscando crear una interfaz seria y compleja. ExtJS le permite programar su interfaz como lo haría con su backend, completamente orientado a objetos. Si no le gusta el comportamiento de los componentes predeterminados, lo anula. Es muy fácil crear componentes reutilizables usted mismo. En ExtJS 3, se introdujo la capa Directa que elimina toda la molestia de volver a la comunicación entre el cliente y el servidor Ajax y agrupa múltiples llamadas para usted automáticamente, reduciendo la cantidad de solicitudes de servidor que necesita para alimentar su interfaz. Puedo seguir y seguir, pero ExtJS para mí es un regalo del cielo, no podría crear las interfaces altamente complejas que creo en el tiempo que puedo cobrar a mis clientes.

Buena suerte con cualquier cosa que elija, Rob

+2

Intente utilizar el TreeLoader con un formato de datos alternativo, admite solo uno y ni siquiera es un retorno de jSON de estilo REST normal. No hay documentación sobre esto. Tan pronto como necesite una funcionalidad alternativa de cualquiera de sus métodos de clase, tiene que 'sobrescribir', también conocido como copiar/pegar, y cambiarlo por los suyos. Este no sería siempre el caso, estoy seguro de que algunos métodos pueden ser anulados con súper, pero Crockford ha dicho que esto es una tontería en JS. – Drew

+0

@Drew Me interesaría ver una esencia de JQuery y ExtJS 4 sobre esto. Estoy considerando usar ExtJS4 para un proyecto mío que está fuertemente orientado a la forma. Thx – cbmeeks

+8

Bueno, eso es carne de res, probablemente estaría en una violación de derechos de autor si publicara una esencia w/ExtJS4. Revisé ExtJS3 durante 2 meses en un proyecto actual, y el marco se sentía muy rígido e implacable. Me encontré modificando widgets para hacerlos extensibles y ejemplos trabajados solo para los tipos específicos de casos. Además, muchos de los ejemplos no fueron hechos por Sencha sino que fueron publicados detrás de los muros de pago en sus foros. Recomendaría YUI sobre eso, alimentarán sus productos mucho más y proporcionarán sitios de documentación de puntapiés. – Drew

12

que acaba de empezar a utilizar el 2 de ellos en 2 proyectos diferentes en cada uno. (Ext 4 y JQuery). Y sí, Ext parece ser más "empresarial", pero los documentos y el aprendizaje de jquery han sido agradables y agradables. Por otro lado, ext ha sido muy confuso considerando que la mayoría de los documentos se referirán a ext 3 y estoy intentando hacer cosas en ext 4

Todos los libros y tutoriales en jquery me permitieron hacer mucho más que ext hasta ahora.

Es importante tener en cuenta que mi experiencia js es limitada.

4

Veamos. EXT tiene una pronunciada curva de aprendizaje para hacerlo bien, y es extremadamente poderoso. Es la única biblioteca de JavaScript que he usado que llamaría un marco real (similar en ese sentido a YUI, que no he usado). En la versión 4.x, Sencha ha asumido un compromiso total con el patrón MVC, que atrae a muchos programadores experimentados.

Por otro lado, jQuery hace que sea fácil hacer cosas simples y en mi experiencia es prácticamente imposible hacer algo complejo.

¿Por qué te limitas solo a esos dos?Eche un vistazo a MooTools, por ejemplo. Es una biblioteca poderosa, flexible y extensible, y no tiene que adivinar cómo está haciendo las cosas, como con jQuery, o recurrir a JS sin procesar para hacer otra cosa que no sea la simple manipulación DOM o las cargas JSON (como con jQuery). .

Observo que nadie ha mencionado a Dojo, que también es bastante poderoso, muy complejo, y por lo que he visto en la navegación de hombros otros equipos en mi oficina pesan mucho en el navegador.

EXT utiliza algunas herramientas complementarias como brújula (que se ejecuta en ruby) y compresor YUI para ayudarlo a producir paquetes de descarga extremadamente eficientes una vez que haya "terminado" su sitio. Puse terminado entre comillas porque creo que esto es una caída para EXT. Después de todo, los sitios casi nunca terminan, y este proceso es más o menos análogo a la compilación de una aplicación Java, en el sentido de que si cambia algo, debe volver a pasar por todo el proceso de producción.

Se obtiene mucho directamente de la caja con EXT, pero eso también significa que hay mucho que aprender y una cierta cantidad de planificación y previsión para ejecutar un proyecto receptivo y atractivo. En los viejos tiempos solían llamar a esa "disciplina", pero no está muy de moda en estos días (para más información, vea "jQuery").

¡Pero no tengo ninguna opinión!

3

Solo responderé esta pregunta ya que se muestra como primer resultado para "jquery vs extjs". Como algunas de las personas aquí, he usado tanto profesionalmente. Me gustó especialmente la primera respuesta. Para mí, si voy a construir una aplicación muy pequeña con un equipo muy pequeño, definitivamente iría con jQuery. Sin embargo ... si trabajas en un equipo grande, dividir el trabajo de jQuery podría no ser trivial para implementar una historia de usuario. Con ExtJS, realmente adoptan el paradigma OO y lo hacen fácilmente mantenible. Además, puede usar su MVC para ser utilizado para dividir el trabajo entre los desarrolladores. Sin embargo, viene con una curva de aprendizaje empinada. Las personas que dijeron "¡Mira la muestra y eres oro!" claramente no entiende cómo escribir BUEN código extjs. La gente realmente necesita aprender ExtJS Core antes de abordar la parte de UI de ExtJS ... aunque esto es realmente culpa de la empresa por no tener una buena documentación de desarrollador ... las buenas noticias son que hay libros como ExtJS In Action que viene al rescate. En general, usaré ExtJS porque está mucho más estructurado que jQuery. Por supuesto, el beneficio de jQuery es la flexibilidad ... Sin embargo, demasiada flexibilidad puede matar el proyecto ... El hecho de que pueda super pegamento de lego en sus ojos no significa que deba hacerlo. Si tiene el dinero, vaya a ExtJS.