¿Debo seguir el desarrollo de GWT en Java? Recientemente, descubrí una tecnología que es GWT para aplicaciones web que usan el marco Errai pero tiene una comunidad pequeña, ¿debería seguir promoviéndola especialmente para los próximos años?

Desafortunadamente, tendré que decir NO para GWT y también erai (que se basa en GWT) si está comenzando de nuevo.

No hay nada malo con GWT. Es una tecnología bastante sólida sin paralelo si tiene que desarrollar y mantener una gran aplicación web. Sin embargo, en este punto dudaría en elegir GWT para un nuevo proyecto.

Poco después de la adquisición de Java (Sun) por parte de Oracle, Google decidió alejarse de GWT (lástima de ti, Google). Hay un comité directivo homónimo que se encarga de esta tecnología, sin embargo, el ritmo y la visión del desarrollo no son los mismos que cuando era propiedad de Google.

He estado desarrollando aplicaciones web (y no web) durante más de 20 años. En este tiempo, he usado (o prototipo) casi todas las tecnologías de interfaz de usuario que están disponibles: Adobe (flash, Director, Authorware y Flex), Java (JSF, jsp, servlets, JMF, swing, applets y javafx), Microsoft (VS, .net, vb, asp, silverlight), Google (GWT y angular), php, varias bibliotecas y frameworks js, etc. Basado en lo que he aprendido hasta ahora, esta es la pila tecnológica que recomendaré para cualquier nuevo proyecto de aplicación web:

IU: Javascript, HTML5 y CSS3. Para modularidad utilizaré elementos personalizados. Evitaré cualquier framework basado en js, como angular. Si necesito una funcionalidad especializada para la cual está disponible una biblioteca js, incluiré esa lib y usaré su api, y eso es todo.

Transporte: para transportar datos, utilizaré objetos de datos basados ​​en JSON; Servicios basados ​​en el descanso. Websocket cuando sea necesario. HTTP2 para respuesta instantánea y transmisión gradual de datos.

Servidor: Java. Tanto los microservicios como los contenedores JEE tradicionales tienen muchas opciones robustas y elegantes para elegir. Cualquier cosa que no esté demasiado hinchada y no tenga toneladas de dependencias, debería estar bien.

Persistencia: JDBC con una biblioteca ultraligera como JDBC Utility Component (o algo escrito a mano). Me mantendré alejado de Hibernate, o cualquier otro orms “prometedor”.

DB: Si estoy trabajando con datos estructurados, usaré mysql u oracle, en función de la financiación del proyecto.

Evitaré usar nosql, a menos que haya un caso de uso real para hacerlo, por ejemplo: terabytes de datos no estructurados de múltiples fuentes.

Si eres un estudiante o un nuevo desarrollador que busca adquirir conocimientos de desarrollo web, pasa más tiempo experimentando con javascript, java, HTML5 y CSS3. Es un mundo emocionante por ahí!

GWT no es un marco muerto. De hecho, el Marco Errai (basado en GWT) está activo, puede unirse aquí para obtener más información de los desarrolladores principales:

gwtproject / gwt (Gitter)

Absolutamente no.

Agitar lejos de GWT.

Use un buen marco de componentes (recomiendo Riot JS, no Angular, ni React) con TypeScript y le encantará …