2010-03-18 10 views
7

De la siguiente lista de marcos, ¿cuál usaría para desarrollar una aplicación web enriquecida y por qué la elegiría sobre las demás?¿Qué marco de aplicación web?

SproutCore GWT ExtJS GXT SmartGWT Dojo/Dijit Flex Capuchino Griales

+0

¿Qué? ¿Sin ascensor? Lift y GWT son deliciosos juntos. Agregue algo de Google App Engine para una base de pasta a la mezcla y, vaya, usted mismo tiene una cena nutritiva. –

+1

¿Votando abajo esta pregunta? No es una * mala pregunta * es poco probable que haya respuestas definitivas ... –

+1

Estoy de acuerdo en que no es probable que haya una respuesta definitiva, pero obtener opiniones de la gente sobre estos marcos seguramente es útil hasta cierto punto. Aceptaré la respuesta más informativa y objetiva provista. – Fergal

Respuesta

5

Esto se basa en mis experiencias personales usando los marcos que ha mencionado. Así que sí, es un poco parcial. Como otros han dicho una y otra vez, defina sus requisitos y cuáles uno cree que se ajusta a sus requisitos en función de lo que las personas han sugerido aquí.

  • GWT es demasiado prolijo eventhough He encontrado muchos desarrolladores de Java aman GWT porque es posible que la unidad de prueba y es todo en Java. Pero personalmente no me gusta porque está lejos de ser simple. Hay momentos en los que creo que puedo modificar un poco con Javascript, pero con GWT me veo obligado a hacerlo con varias líneas de código Java.
  • GXT está demasiado lejos de GWT en estos días y le resultará difícil hacer cosas, ya que GXT tiene su propia manera de hacer las cosas, que es demasiado diferente de GWT. Cuando surgen requisitos complejos, al final vas a volver haciendo GWT simple. Y, oh, su soporte técnico tampoco es tan bueno ya que tuve varias malas experiencias cuando les hice algunas preguntas.
  • Ext-JS es bueno para cosas simples y la apariencia es realmente resbaladiza. Pero cuando las cosas se vuelven más complejas, vas a luchar porque terminas. A pesar de que he tratado con el soporte técnico de GXT, no he tratado con el soporte técnico de ExtJS ya que tienen diferentes personas aunque esté en una compañía, así que no puedo decir mucho.
  • Flex es agradable, muy agradable. Pero nuevamente es bueno para cosas simples. Una vez que las cosas se vuelven más complicadas vas a escribir muchas acciones, lo cual es menos divertido. Hay muchas cosas que están disponibles de manera inmediata, lo que puede ser difícil si tiene que codificarlo en Javascript, como soporte multimedia. Y, oh, si escribe para un sitio web público, debe tener en cuenta que no muchos usuarios tienen el complemento Flash en su navegador.
  • Grails, no estoy seguro de cómo implementarías las aplicaciones RIA con Grails ya que Grails es solo otro framework MVC que debes agregar a tu propio framework RIA además del que mencionaste.
+1

¿Estás seguro de que has investigado lo suficiente sobre GWT para comentar sobre su simplicidad? Empecé a usarlo y, de hecho, estoy sorprendido de lo limpio y simple que es. –

+1

La gente en estos días usa GWT con el patrón MVP que es demasiado detallado y complejo. –

5

Esto es estrictamente una cuestión de opinión. No obtendrá respuestas definitivas de nadie, ya que cualquiera que responda tendrá una u otra que personalmente prefiera.

Pruebe cada uno durante el tiempo suficiente para decidir cuál es el mejor para su (o el de su equipo).

Dicho esto, prefiero GWT. Otros invariablemente estarán en desacuerdo conmigo.

razones que me gustan GWT:

  • Puede compartir (algunos) cliente- y código de servidor (siempre y cuando el servidor está escrito en Java)
  • GWT hace que una gran cantidad de rendimiento avanzado características realmente fácil (por ejemplo, diferido carga JS, imagen spriting, la ofuscación CSS)
  • Un enfoque en aplicaciones de una sola página, con el apoyo de terceros para Lugares (usando la biblioteca gwt-presenter)
  • Es tan fácil añadir GWT a una página web existente, ya que es crear un one-pa completo ge GWT aplicación
  • UiBinder le permite escribir su UI usando una sintaxis declarativa tipo HTML; no estás atrapado escribiendo UI tipo Swing si no quieres
  • Las incompatibilidades del navegador son (en su mayoría) atendidas por GWT; solo debes escribir el código Java, y GWT lo compila para trabajar en cada navegador

cosas que pueden hacer que GWT no adecuada para usted:

  • Si el servidor ya está escrito en algo además de Java, usted todavía será capaz de escribir la interfaz de usuario de GWT, pero vas a perder a cabo en algunas buenas características
  • El tiempo de compilación usando GWT es un costo no trivial - El modo de desarrollo mitiga este es un montón, pero sigue siendo un problema a veces
  • Como otros han mencionado, GWT se puede considerar "prolijo" en comparación con las bibliotecas de JavaScript simples como jQuery o ExtJS
2

Actualmente estoy trabajando en una aplicación híbrida grial/flex eso está funcionando mucho mejor de lo que esperaba. Miré a GWT pero no había muchos libros sobre eso en ese momento y parecía enfatizar el aprovechamiento de las técnicas de programación tipo Swing que nunca me gustaron. Estoy de acuerdo con el comentario sobre probarlos todos. Ejecute la aplicación hola que todos tienen y mida lo difícil o fácil que es modificarla. También el soporte de herramientas (IDEs, Maven, CI ... etc) puede ser un factor importante también en términos de ser productivo de inmediato.

2

Lamentablemente, la respuesta será obstinada, GWT en su forma más pura no es una sorpresa. Dicho esto, ExtJs GXT es super hunky dory. Uno de los principales problemas que enfrento con la evolución de los frameworks es que no están absolutamente libres de defectos. Si no recuerdo mal, GWT 2.0 se envió con faltantes estilos CSS para algunos de los nuevos diseños.Estoy intentando solucionar un problema en ExtJs/GXT desde hace 5 días :(, los marcos ofuscan muchas cosas. Iré con cualquier marco que sea absolutamente robusto y proporcione mensajes de error apropiados. Aunque no he trabajado con otros

6

Estoy cansado de las inconsistencias del navegador. Si alguien más ha resuelto el problema, preferiría no volver a hacerlo. Por eso me interesan más las interfaces como cappuccino y qooxdoo. Solución zero-HTML zero-CSS

2

Estamos utilizando Grails + ExtJS aquí. Como intentamos crear una aplicación ExtJS idiomática, Grails no se utiliza por completo, aunque tiene sentido usar Grails en lugar de, por ejemplo, JSP, para la parte del lado del servidor.

Por qué ExtJS: Porque es un kit de herramientas muy rico para aplicaciones web tipo GUI. Nuestro trabajo es reemplazar una antigua GUI de Motif, así que esto es exactamente lo que necesitamos.

Por qué Grails: Porque hace el trabajo de forma fácil y rápida. Para la comunicación con la parte ExtJS, necesitamos una gran cantidad de JSON, y en Grails es así:

import foo.bar.FooBar 
class FooBarController { 
    def viewFooBars = { 
     def list = FooBar.getList(session.userId, params.foo, params.bar) 

     def result = [resultset: list] as JSON 

     response.setHeader('Content-disposition', 'filename="json"') 
     response.contentType = "text/json"; 
     render result 
    } 
} 

y eso es incluso dos o tres líneas más de lo necesario ...

3

Ext GWT ha trabajado bien para mi proyecto El soporte premium ha sido bueno.

Sin embargo, el proyecto es para uso interno que ha permitido que la implementación se restrinja a un navegador en un sistema operativo, y no se ha hecho ningún esfuerzo para cambiar el aspecto o el comportamiento predeterminado de Ext GWT.

Desarrollar completamente en Java es una ventaja clave, ya que ayuda a mantener el proyecto manejable a medida que se agregan características.

1

ExtJs es ideal para crear aplicaciones web complejas. La API proporciona todo lo que puedas imaginar en una aplicación web y es muy fácil extender cualquier componente después de un tiempo.

Puede conectarlo a cualquier servidor (usamos django o php) y reutilizar o ampliar cualquier componente en varias aplicaciones diferentes.

Necesitarás varios meses para sentirte cómodo con él. EN MI HUMILDE OPINIÓN.

Dicho esto, la lib es a veces un poco demasiado lenta para los simples que es como un sitio web (entonces puede usar ExtCore). Pero cuando se trata de webapps esto no es un problema.

No soy un chico de Java por lo GWT no era una opción para mí:/

esperanza esto ayuda

2

Me gustaría recomendar Dojo. Además de la infraestructura masiva que proporciona, Dojo 1.6 es también la primera (y única) biblioteca de JavaScript popular que se puede utilizar con éxito con el modo avanzado del compilador de cierre, con todos los beneficios de tamaño, rendimiento y ofuscación asociados - que no sea la propia Biblioteca de cierre de Google, eso es.

http://dojo-toolkit.33424.n3.nabble.com/file/n2636749/Using_the_Dojo_Toolkit_with_the_Closure_Compiler.pdf?by-user=t

En otras palabras, un programa usando Dojo puede ser 100% ofuscado - incluso la propia biblioteca.

El código compilado tiene exactamente el mismo comportamiento que el código de texto sin formato, excepto que es mucho más pequeño (promedio 25% sobre minificadores), funciona mucho más rápido (especialmente en dispositivos móviles) y casi imposible después de pasar por un embellecedor, porque la base de código completa (incluida la biblioteca) está ofuscada.

El código que solo se "minifica" (por ejemplo, el compresor YUI, Uglify) se puede modificar mediante ingeniería inversa fácilmente después de atravesar un embellecedor.

Cuestiones relacionadas