2010-10-16 21 views
11

Quería comenzar un nuevo proyecto de aplicación web y estoy confundido entre dos marcos que son GWT (Java) o Lift (Scala). Entonces, ¿quiero tu opinión, cuál elijo? Ambos son buenos de acuerdo con los requisitos de mi proyecto. Entonces, sobre la base de la comparación de marcos, díganme qué es bueno.¿Cuál es mejor framework Java/GWT o Scala/Lift?

+5

Elegiría la que me permite "alejarme" de Java. Solo mis dos centavos. –

+2

¿Qué pasa con Java? Puede usar Python o Java con GWT. – randomguy

+0

Tal vez podríamos aconsejar mejor si nos dio una idea más clara de cuáles son exactamente los requisitos de su proyecto. –

Respuesta

18

He encontrado que GWT es una tecnología extremadamente efectiva para el lado del cliente, y usa una combinación de Java y Scala en el lado del servidor.

GWT es atractivo porque le permite escribir su aplicación web en Java de adelante hacia atrás; codificas en Java; y depura tu programa en Eclipse, pasando sin problemas del código del cliente al código del lado del servidor y viceversa. Realmente es algo maravilloso.

Scala es un lenguaje hermoso, y estoy enamorado de él como todos los demás. ¡Si hubiera una variante de GWT basada en Scala! Some work has been done in that direction already. Poco a poco, he migrado la mayor parte de mi código de servidor a Scala, para mi gran satisfacción.

Si tuviera que usar Lift, ¿cuánto código de JavaScript necesitaría hacer? ¿Estás cómodo con JavaScript? ¿Cuán complejo es el comportamiento de su aplicación en el lado del cliente? Para una lógica bastante directa del lado del cliente, estoy seguro de que Lift será satisfactoria. Si desea construir una aplicación similar a un escritorio, y/o está especialmente interesado en exprimir la última gota de velocidad de su aplicación, vaya con GWT. De cualquier manera, no te decepcionará; son excelentes tecnologías para invertir.

Considere también que el soporte IDE para Scala es aún muy incipiente. Francamente, creo que cualquier aumento de productividad que podría haber visto al usar Scala se ha perdido en varias luchas que perdieron tiempo con Scala IDE para Eclipse. La historia puede ser marginalmente mejor en IDEA, pero no por mucho.

Quizás podría dedicar una cantidad de tiempo fija para explorar Lift y GWT, y tomar su propia decisión en función de lo que pueda concluir en ese momento. Sea disciplinado y permanezca en el cuadro de tiempo que ha apartado.

+4

Mi experiencia personal (y no creo que esté solo aquí) es que la experiencia IDE al codificar con IntelliJ es considerablemente mejor que con eclipse, no es solo marginal. –

+0

Sí, Kevin. Ahora me he mudado a IntelliJ IDEA, y descubro que es significativamente mejor que Eclipse en términos de compatibilidad con Scala. – David

5

Ambos producen una aplicación web, pero son diferentes marcos en la naturaleza, por lo que no veo la forma en que se pueden comparar. Cuando dices "bien", ¿qué criterios tienes en mente?

Editar:

escalabilidad y el rendimiento depende del tipo de transacciones y los datos de back-end, pero todas las cosas iguales, tendría más posibilidades con Ascensor/Scala.

De @dpp's interview:

  • Lift tiene un mejor soporte para el cometa que cualquier otro framework web ... y por eso eligió Novell Ascensor para el front-end de pulso.
  • El elevador tiene una excelente compatibilidad con Ajax.
  • El ascensor es independiente de la persistencia, por lo que funciona con los objetos del modelo Java y la lógica comercial existentes. soporte de apoyo de
  • de elevación es mucho más flexible y seguro que el soporte de reposo en cualquier otro marco JVM web.
+0

El criterio en mi mente es qué marco es el mejor en cuanto a rendimiento, escalable y muy estable. – Rupeshit

6

No se olvide también se puede utilizar con GWT Scala (código del lado del servidor en la Scala y del cliente en Java).

También hay cierta diferencia en lo que estos combos son los mejores en. Por ejemplo, Lift tiene soporte ubert cometa y GWT es mejor para clientes más ricos y puede reducir el número de solicitudes de servidor.

Me habría eligieron elevación a menos que necesite lado del cliente muy rico o enorme escalabilidad (por ejemplo, sin sesiones, un montón de almacenamiento en caché del cliente etc).

5

En lo personal, yo le aconsejaría Ascensor. Pero es una recomendación puramente humana y nada que ver con los méritos técnicos relativos de los dos marcos.

El hecho de que incluso se sabe que hacer esta pregunta sugiere que usted ya sabe Scala, al igual que él, y probablemente desea utilizar el lenguaje más allá. En este caso, si se le obligó a escribir una aplicación en Java, me imagino que se frustraría rápidamente.

Aunque Scala puede utilizarse con GWT, verá que Lift es mucho más compatible con algunas de las características más agradables de Scala (es decir, actores). Por esta razón, preferiría Lift.

Es posible que también desee investigar Scalatra y Play como marcos web alternativos para Scala.

4

Estoy a punto de embarcarme en un proyecto de interfaz de usuario web, así que encontré este hilo para ser muy útil. Sé que la publicación original estaba destinada a comparar los méritos respectivos de GWT vs Lift, pero también podría estar interesado en mirar Vaadin (http://vaadin.com/home). Utiliza GWT para renderizar en el navegador, pero la mayor parte de la estructura y lógica de la interfaz de usuario se implementa en el lado del servidor. El código del lado del servidor se puede implementar en cualquier lenguaje JVM (por lo tanto, puede usar Scala). Entonces, si eres un fan de Scala, esta podría ser una solución adecuada para ti.

+0

Ese es un enlace muy bueno, y para mí es una gran oportunidad usar vaadin en mi nuevo proyecto –

Cuestiones relacionadas