¿Es útil el Kit de herramientas web de Google para desarrollar javascripts complejos?

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

  •  03-07-2019
  •  | 
  •  

Pregunta

Soy un gran fan de los marcos de javascript, especialmente jQuery. Siempre he querido diseñar sitios como " plurk.com " pero sé que necesita líneas muy grandes de javascript.so que me cierre. Pero desde que llegué a conocer GWT, realmente quiero probarlo y quiero preguntarle si hace nuestro trabajo más fácil para desarrollar cosas complejas que con El javascript o sus marcos. ¿Cuál preferirías?

¿Fue útil?

Solución

Algunas cosas me asustan como " Javascript generado " ;. La Ley de abstracciones con fugas tiene que ser doblemente cierta en estos casos.

Escribir javascript en varios navegadores es un proceso difícil de refinamiento continuo. Tratar de descifrar dónde está yendo mal un Javascript generado y oculto es un gran dolor de cabeza. Ya es suficientemente malo arreglar errores en las bibliotecas de JS puro.

Para mí, GWT es un truco destinado a permitir que los desarrolladores de backend escriban código front-end en el navegador. Desafortunadamente, las realidades de las aplicaciones web modernas significan que solo tienes que saber Javascript y el DOM. Algo se va a romper, y necesitarás saber por qué.

Creo que es mejor elegir una buena biblioteca de JavaScript como jquery o prototype, y aprender eso bien. Esas bibliotecas abstraen el tipo de cosas que DEBEN abstraerse y es poco probable que se rompan en los casos de borde, como las operaciones de matriz y las solicitudes AJAX.

Otros consejos

Creo que algunas de las respuestas a esta pregunta no están bien informadas, y sospecho que las personas que las respondieron nunca han utilizado GWT en proyectos a gran escala. Sí, GWT es una excelente manera de hacer grandes sitios web AJAX, y para los sitios grandes y complejos, que también involucra un back end, pone en marcha cosas como JQuery arriba y abajo del parque. La forma en que siempre lo veo es que javascript en sí mismo es ideal para hacer pequeñas cosas del lado del cliente. Cuando necesita hacer algo más complejo (como campos dinámicos, ventanas emergentes, animaciones), trae algo como JQuery o Prototype. Cuando quiera ir un paso más allá, vaya con GWT.

La gente asume que debido a que lo escribe en Java, está diseñado para que los desarrolladores de back-end realicen el desarrollo front-end. No es. Java es simplemente el lenguaje que eligieron, principalmente porque se usa ampliamente, está escrito de forma estática y hay muchos buenos editores disponibles para él.

Tampoco compro la teoría de abstracción permeable, no trata de abstraer completamente los elementos HTML, ya que le da acceso directo a javascript nativo y al DOM si elige usarlos.

En resumen, hemos creado sitios muy complejos (uno de los cuales apareció en el blog de GWT) en GWT, y también usamos otras bibliotecas como JQuery. Puedo decirle con 100% de confianza que una vez que entiende GWT, mata a esos otros marcos para tareas complejas. También tiene algunas cosas geniales incorporadas que ayudan a mejorar las cosas, e incluso hace algunas cosas que ningún otro marco admite (como la magia que puede hacer con las imágenes). Vea esta publicación de blog para más detalles:

http://googlewebtoolkit.blogspot.com/ 2007/10 / epo-builder-built-with-gwt.html

Sí, así es, ya que usarás Java y no Javascript.

IDE excelentes, análisis de código estático, búsqueda y refactorización: todo esto hará que su vida sea mucho más fácil en proyectos grandes.

No. No lo hace.

No elimina la complejidad, solo le permite tratarlo desde una perspectiva Java. Dado que eso le brinda todas las herramientas disponibles de Java ... eso solo puede hacer que valga la pena.

Sin embargo, los IDE de JavaScript están mejorando y, por lo general, si usas un Framework como jQuery o Prototype, probablemente te resulte más fácil que tratar con una capa de abstracción de gran peso como GWT.

Mi preferencia personal es adoptar el enfoque de JavaScript puro, pero eso es porque me gusta poder trabajar más estrechamente con el metal, y soy lo suficientemente disciplinado como para domar a mis gatos JavaScript.

Con GWT, en realidad no estás escribiendo JavaScript; La única propuesta de valor es que puedes escribir Java que se compilará en JavaScript para ti.

Estoy trabajando en un proyecto que ha usado GWT con bastante buen efecto. Es una buena opción para nosotros, ya que todos somos principalmente desarrolladores de Java trabajando en herramientas internas. No puedo hablar de lo útil que es para los grandes sitios de usuarios finales.

Una ventaja que aprecio especialmente es la serialización y deserialización de objetos sin interrupciones. No solo se eliminan los detalles de XML-RPC, sino que, dado que se compila el mismo código Java para byte code para el servidor y javascript para el navegador, puede codificar casi como si el servidor y el cliente se ejecutaran en cargadores de clases separados en el misma JVM Por ejemplo, puede construir un objeto Java en el servidor, enviarlo al navegador como el valor de retorno de una llamada de servicio RPC y el código del navegador puede usar la clase Java idéntica para manipular el objeto que acaba de devolver. Del mismo modo, los parámetros para las llamadas RPC pueden construirse como objetos Java, con el servidor recibiendo un objeto Java idéntico en el otro extremo. Todo esto sin perder el tiempo en los detalles de la (des) serialización.

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