La clave para entender acerca de GWT, que se relaciona con el rendimiento (tanto el tiempo de ejecución como la latencia de la red, que son diferentes y ambos importantes), es que elimina el código muerto de todo el proyecto.
Eso significa que puede hacer uso de una biblioteca sin verse obligado a incluir toda la biblioteca en su proyecto, lo que hace posible la abstracción que sería bastante difícil de hacer de otra manera. Si escribes JavaScript simple y viejo y quieres hacer uso de una biblioteca, generalmente toda la biblioteca tendrá que venir para el viaje. El compilador GWT elimina ese obstáculo. El código GWT es generalmente bastante rápido. No hay una respuesta muy simple a esta pregunta, pero es probable que sea más rápido que javascript escrito a mano en muchos casos, y más lento en otros. La gran victoria no es el rendimiento en tiempo de ejecución (aunque el equipo de GWT ciertamente no ignoró eso) … la gran victoria es el rendimiento de la red al eludir cada pieza de código en todo el proyecto, incluidas las bibliotecas, que el compilador puede probar que es inalcanzable.
En cuanto a GWT frente a otros idiomas con backends JS, solo puedo comentar sobre Clojurescript que utiliza el Compilador de cierre de Google para la optimización. También elimina el código muerto y es una pieza sofisticada de tecnología de compilación (AOT, por ejemplo, Coffeescript, que no lo es). Ambos son definitivamente lo suficientemente rápidos como para usarlos en la práctica. Casi nunca será necesario escribir JS directamente por razones de rendimiento. La eliminación del código muerto es la mayor opción para el rendimiento, casi todo el tiempo, para cosas del mundo real.
- ¿Qué integraciones de servicios web se requieren para un software de viaje completo?
- ¿Es ilegal crear un sitio de películas en línea?
- Cómo segregar angular2 y springboot
- Cómo crear más espacio entre un botón y un cuadro de texto en HTML o CSS
- ¿Por qué no se puede usar JavaScript en el back-end sin Node.js cuando casi ningún otro lenguaje de programación no necesita un marco para funcionar en el back-end?