¿Tiene sentido utilizar Google Web Toolkit (GWT) como un framework de desarrollo web en toda regla de Java?

StackOverflow https://stackoverflow.com/questions/744515

Pregunta

Estoy interesado en la posibilidad de que GWT podría servir como base para toda mi capa de presentación.

Me interesaría saber si alguien ha intentado esto con éxito - o sin éxito - y podría persuadir o me unpersuade de intentar esto.

¿Fue útil?

Solución

trabajé con GWT hace aproximadamente un año. En el momento que parecía una gran idea, con una serie de salvedades:

  • he tenido problemas "pifias" con algunas partes de la API, que probablemente estaban relacionados con el hecho de que usted está de codificación como si estuviera en Java, cuando en realidad en realidad estás escribiendo para un entorno compilado por separado que actúa como java, por lo que hacen algunas suposiciones incorrectas (en este caso, pasar valores anidados en el extremo delantero). Creo que había otro fue la reescritura mis guiones de hormigas utilizar una JVM de 32 bits para la gwt compilar.
  • pasé un poco de tiempo tratando de modificar la apariencia - que nunca desplegó un proyecto acabado, así que no estoy seguro de cuánto trabajo esto hubiera tenido que llegar a un nivel profesional, pero parecía (lógicamente) como si 'd ser comparable a ajustar una interfaz de swing. tal vez un poco más difícil de manejar, visualmente, que el HTML.
  • Debido a que el Ajax es tan oculto de ti en el producto final, que tenía algunas preocupaciones acerca de lo que podría hacer si el rendimiento era pobre.

Una vez dicho esto, que sin duda parece vale la pena jugar con, y mis experiencias fueron hace mucho, mucho tiempo, en los años de Internet, sobre todo teniendo en cuenta que es probable que sea mucho más maduro ahora. También vale la pena señalar que se trata de una forma muy diferente (y refrescante) de desarrollar código de interfaz gráfica de usuario de la mayoría de los marcos MVC, y vale la pena un vistazo si no por otra razón que eso.

Mi sensación es que si usted está construyendo un sitio profesional de alta carga con requisitos muy exigentes gráficas GWT no es probablemente una buena opción, por lo demás bien.

Otros consejos

Usted ha mencionado que GWT se ocuparía de la capa de presentación. Estaría haciendo la capa de negocio en Java también? Si ese es el caso, me gustaría apuntar hacia TI Molino Toolkit , que hace exactamente esto: Es un conjunto de herramientas que GWT usa para hacer sus componentes GUI, que le permite hacer sus aplicaciones en Java. Creo que el término que está tratando de moneda es "servidor impulsado RIA".

Yo vengo de un fondo de PHP, pero al instante llegué a recibir el kit de herramientas. Pero es probablemente mejor que no voy a decir nada más y le permiten hacer sus propias decisiones.

Renuncia: Sí. Trabajar en ello Mill, aunque eso es irrelevante para mis opiniones

GWT es relativamente nuevo. El proceso de compilación tiende a ser un poco lento a medida que crece su base de código. Cuando trabajamos con ella encontramos muchos problemas con el diseño y la representación de los widgets más sofisticados, y el emulador actuado totalmente diferente de servidores reales. Además, tuvimos problemas con i18n para idiomas de derecha a izquierda ...

Con todo, tiene GWT (lo habitual?) Problemas de las tecnologías de jóvenes. Sin embargo, sí tiene algunas cosas realmente fácil, como Ajaxifying a medida que lo nombró.

Hemos hecho esto para un proyecto muy grande, y como siempre que se sepa sus limitaciones, fortalezas y debilidades funciona muy bien. Curiosamente presentación fue el menor de nuestros problemas, como acabamos de piel clara que al igual que lo haría con cualquier otra página HTML, el uso de CSS. El proyecto se puso en marcha, y corrió sin problemas así que no tengo quejas.

Las trampas he encontrado con ella se pueden encontrar aquí:

grande GWT trampas?

Hemos desarrollado una aplicación a gran HR Portal con toda la capa de presentación realizado en GWT. El backend es primavera. Todo funciona muy bien y la interfaz de usuario ha sido muy bien recibida por los usuarios. Muy importante es que es fácil para nosotros para añadir nuevas funcionalidades y mantenemos la aplicación. Creo que sería mucho más difícil de hacer algo comparable y fácil de mantener el uso de librerías Javascript.

Usted necesita algún tipo de marco lado del cliente o el resultado final será escribir uno (como lo hicimos!): Nuestra aplicación se basa en la GWT Portlets (fuente libre y abierto).

Utilizamos fragmentos HTML para desollar la aplicación para diferentes implementaciones y el diseño de cada "página" se almacena en un archivo XML.

buena información acerca de eso en este video Raible: http://raibledesigns.com/rd/ entrada / my_drunk_on_software_interview

GWT en sí es una biblioteca de mejora de la interfaz de usuario, no un marco. Si se utiliza con Google App Engine a continuación, tiene un marco básico. (Esa es una historia diferente, y mientras lo miraba, me decidieron no incluir eso en nuestra arquitectura).

Es una gran biblioteca, hemos hecho algunas cosas espectaculares con ella. Como se trata de una biblioteca sin embargo, sólo es tan bueno como su arquitectura permite que sea.

En lo que va ANT sin problemas con un compilador de 64 bits.

<- dir.GWTCompile es el directorio que contiene GWT ->      ruta de clases                            

Por lo que el código generado, es todo lo que hay en su guerra si usted quiere mirar a través de él. (También es de código abierto, por lo que se puede ver en ella hay.)

Lo que hace GWT durante el proceso de compilación: Se crea varias copias de bibliotecas JS para diferentes conjuntos navegador (Una de las razones que puede tomar minutos para compilar), se puede añadir / quitar éstos, según sea necesario. Esto reduce el paquete JS que necesita ser descargado y aumenta la velocidad, ya que no tiene que tener esos desagradables si (EI) esta else if (FF) que. Sin embargo, cuando su hacer depuración local (por lo menos en Eclipse) usted no tiene que esperar, lo que permite dejar que el servidor de compilación (o cuando se necesita para construir y desplegar (manualmente neandertales)).

La desventaja de GWT. Ya que es un lado del cliente JavaScript (casi exclusivamente), no se pueden utilizar para cosas que no lo soportan, o apoyan una de las versiones. Así que para cosas como iPads y iPhones se pueden ejecutar en algunos problemas si no utiliza bibliotecas adicionales diseñadas para salvar esos obstáculos (como mgwt).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top