¿Qué piensas sobre GWT? [cerrado]

11

Como estoy aprendiendo Java en este período y acabo de terminar con los tutoriales, creo que estoy listo para comenzar a contribuir a un proyecto (ya que sé por experiencia que esta es la mejor manera de aprender realmente).

He visto GWT, parece interesante, así que pensé que debería intentarlo. Sin embargo, estoy pensando, ya que GWT implementa aplicaciones Java en JavaScript, ¿por qué debería aprender GWT cuando podría aprender la cosa real (esto es JavaScript). Mi pregunta: ¿vale la pena? ¿No sería mejor aprender JavaScript si desean crear aplicaciones JS, en lugar de usar Java y GWT? Me doy cuenta de que podría ser más fácil construir ciertas cosas con GWT, pero al final, ¿vale la pena?

Gracias.

Peter Boughton
fuente
3
Sin embargo, las personas aprenden C en lugar de programar sistemas en código máquina directamente.
haylem

Respuestas:

6

GWT es esencialmente un compilador de código nativo, al igual que Visual Studio compila la fuente a códigos de bytes o lenguaje máquina.

Esto permite al programador abstraer las diferencias en la arquitectura subyacente, al igual que los usuarios de Visual Studio que no tienen que preocuparse por las diferencias en la longitud de las palabras, el número de registros y las convenciones exactas para llamar al sistema operativo cuando codifican 32 bits o 64 -poco.

Esto es algo bueno, ya que le permite trasladar parte de la carga de mantenimiento a otros. Como se trata de Google, sabe que tienen más recursos de desarrollo que usted, por lo que esencialmente está aportando mano de obra adicional de forma gratuita.


fuente
2
Otro beneficio es la depuración en modo alojado. Por lo tanto, puede depurar la lógica de su aplicación, tanto desde el lado del cliente como del servidor y con todas las herramientas del depurador paso a paso.
Jeremy
5

no me gusta

Todo lo que puede hacer con él lo puede hacer de manera más limpia sin él.

Josh K
fuente
De acuerdo. Pero está escribiendo páginas con múltiples imágenes con un archivo por imagen. Derecho ?
1
@Rocket: no entiendo lo que significa "varias imágenes, un archivo por imagen" .
Josh K
44
@Rocket: no veo qué imágenes tienen que ver con GWT. Si desea habilitar sprites, puede hacerlo; de lo contrario, sí, tiene varias imágenes.
Josh K
1
@ Josh Supongo que agregará pequeñas animaciones, etc., en lugar de escribir un gran complejo. Hay una razón por la cual los idiomas de secuencias de comandos se limitan a tareas pequeñas y los lenguajes tipados estáticamente se usan para tareas más grandes.
mP01
2
En una palabra herramientas. Nadie ha escrito un editor real comparable para javascript en comparación con los muchos disponibles para java.
mP01
2

La razón por la cual GWT tomó Java como lenguaje fuente es porque JS (Ecmascript) es inhumanamente difícil de trabajar. GWT es solo una buena manera de llevar la programación a la Web / navegadores donde antes no era posible.

Antes de GWT hubo intentos inútiles de programar algo en los navegadores (Ajax, dojo, javascript simple). Pero las fuerzas de la naturaleza son demasiado violentas allí, por lo que todo se desmorona (los navegadores cambian, nunca son iguales, la gente habla idiomas diferentes, la gente piensa que 15 imágenes deberían ser en realidad 15 archivos, etc.).

Entonces la respuesta es: si tuviera que codificar para la caldera del océano de Internet (que no es mi trabajo), entonces elegiría GWT.

PD Otro pensamiento. El JS está hecho por Netscape. La compañía está muerta desde hace mucho tiempo, pero el lenguaje permanece allí inacabado y podrido.


fuente
66
-1 ECMAScript se desarrolla constantemente; ECMAScript 5 acaba de salir el año pasado, y ActionScript, el lenguaje de Flash, es ECMAScript.
16
-1. JavaScript no es "inhumanamente difícil" de programar. Si encuentra JavaScript difícil, es muy probable que no sea muy inteligente. Antes de GWT había personas que sabían lo que estaban haciendo. Después de GWT hay personas que no pueden codificar JavaScript (y usan GWT) y aquellos que sí pueden (y no usan GWT). Además, JavaScript ha explotado más allá del navegador, mira Node.js y MongoDB. Use SpiderMonkey o V8 para escribir scripts independientes de la plataforma.
Josh K
3
@Josh K. También considero que Visual Basic 6 es aún más difícil de programar que JS. Java es más fácil unas 50 veces que Basic. Y CSharp es más fácil, puede ser 2 veces más que Java. Por dificultad me refiero a hacer aplicaciones prácticas complejas que se puedan mantener, creadas en equipos y vendidas a los clientes. No me importan las diferencias en el azúcar sintáctico. Y creo que si necesita ser muy inteligente para usar el lenguaje, entonces hay algo mal con el idioma.
3
JavaScript es muy fácil de diseñar grandes aplicaciones mantenibles creadas por equipos. Lo he hecho. No hay nada difícil en escribir código modular, excepto que las personas deciden no hacerlo.
Josh K
No confundas DOM con JavaScript. No es JS ese es el problema.
Andrew T Finnell el
2

Algunas razones por las que es bueno ponerse al día con GWT:

  • Toda tecnología tiene un ciclo de vida. GWT está en su apogeo. Aprender GWT le dará la ventaja tecnológica durante un período más largo de tiempo futuro.
  • GWT usando java, trae estructura a la aplicación web. JavaScript es más adecuado para secuencias de comandos. Respaldado por Java, GWT es más adecuado para grandes aplicaciones. Si ha notado los frameworks / toolkits sobre JavaScript, puede concluir como lo hago yo que JavaScript por sí solo no es suficiente para proyectos serios. Todos esos marcos aportan estructuras al desarrollo de la aplicación. GWT es uno de esos marcos, y es el que prevalecerá.
  • La aplicación móvil es una revolución en el mundo del software. La revolución está en su etapa inicial en este momento. Cada vez más software se moverá a plataformas móviles. GWT es ahora la herramienta de desarrollo de aplicaciones multiplataforma más completa que puede encontrar.

Dicho esto, GWT en realidad no está estrechamente relacionado con los marcos de servicios web de google o de sun (servlet). Las herramientas integradas se centran más en la integración con sus servidores, debido a la naturaleza comercial de google o sun. Para aprovechar el poder de la tecnología de GWT, uno debería ignorar más o menos parte de la hiper integración del servidor. Simplemente use GWT como herramienta de aplicación de cliente, debería ser más beneficioso para su futura carrera.

minghua
fuente
1

Depende de lo que quieras hacer (como para la mayoría de las herramientas de todos modos).

Si desea profundizar en los detalles del desarrollo web, use muchos trucos (a veces diferentes) del entorno del navegador, y las funciones más nuevas de ellos, tenga las agallas para luchar con pequeños trucos que hacen que su aplicación web 'se vea genial', GWT siempre estará en tu camino: si tienes el tiempo y la experiencia, puedes hacer todo y más con tus manos. Y sí, hay muchos otros juegos de herramientas que lo ayudarán a programar en JavaScript.

Sin embargo, si desea hacer una GUI "no tan elegante", pero estable para su aplicación que "debería", y en la mayoría de los casos realmente hace lo mismo, y se ve igual en varios navegadores sin trucos, GWT es una buena opción. elección, lo mejor que sé. Explicación: Google definitivamente está motivado para mantenerlo sincronizado con la mayoría de los navegadores y las tecnologías más recientes, y definitivamente tiene suficientes recursos para hacerlo. Sí, te adhieres a otro gigante en lugar de hacer tus propias cosas. Pregunta: ¿cuál es tu trabajo? Para proporcionar el mismo servicio a la furia más amplia de usuarios a través de una interfaz web con el menor esfuerzo, o crear un portal web brillante y excepcional que tenga las mejores características en las plataformas más nuevas.

Motivo +1: creo que es beneficioso mantener su aplicación en una base de código y en un idioma. Podrías hacer un buen truco en los scripts de la base de datos, pero te encierras en ese servidor de db. Puedes hacer cosas externas con scripts de shell o archivos por lotes, pero te encierras en el sistema operativo. Puede implementar parte de la lógica del controlador en JavaScript para proporcionar una interfaz de cliente enriquecida en un navegador, pero puede encerrarse en un navegador. Para todos los casos, no es fácil mantenerlos sincronizados con los requisitos y la estructura de datos de la aplicación central (y quizás el más difícil es el entorno de herramientas de navegador + JS en constante cambio). Estoy convencido de que si la aplicación principal está en Java, todas las cosas deberían estar en Java, con una fracción muy pequeña de casos en los que realmente tienes que poner una parte de la lógica en otro entorno.

Elegí GWT debido a mis respuestas a las preguntas anteriores, y hace lo que quería que hiciera: en aproximadamente 2 semanas después de la instalación tuve una interfaz web aceptable para un sistema de monitoreo de servidor interno, aunque tenía experiencia con Swing. (No, no he usado el aspecto predeterminado y sí, he usado CSS y clases para presentar información lógica :-))

Verifique sus tareas actuales y planificadas, y elija la herramienta adecuada para ellas.

Lorand Kedves
fuente