2010-04-21 19 views
9

Además de las obvias diferencias entre JavaScript y Java, ¿cuáles son las diferencias relevantes en el uso de SmartClient o SmartGWT?SmartClient o SmartGWT?

Respuesta

8

SmartGWT es el envoltorio GWT para SmartClient, que, como dices, significa que puedes escribir tu aplicación SmartGWT usando java.

Desde mi experiencia, la única diferencia que importa cuando se está programando es que el contenedor GWT es un poco más restrictivo que el uso de los componentes js directamente. Por ejemplo, el desplazamiento programático de TreeGrid desde java es un infierno, ya que el cuerpo de la tabla subyacente (que necesita obtener para desplazarse por el objeto volado) no se expone a través de SmartGWT, mientras que por supuesto es fácilmente accesible desde js.

En general, no basaría la elección entre los componentes js y la envoltura gwt en estas diferencias, pero consideraría otros factores en su proyecto. ¿Con qué técnicas te sientes más cómodo? ¿Cuánta anticoncepción piensas hacer?

+2

Déjenme decirlo de esta manera: si SmartGWT es solo un envoltorio, ¿tiene algún sentido usarlo en lugar de usar SmartClient directamente? Además de la naturaleza estática de tipeo de Java, ¿qué aporta SmartGWT a la mesa? – ivo

+0

Además de las ventajas estáticas de usar Java, no, no hay nada que se me ocurra. Al final, supongo que depende de qué tipo de proyecto esté ejecutando y qué tipo de habilidades tiene. –

+0

Tenga en cuenta que el problema específico al que se refiere (incapacidad para acceder al cuerpo) se resolvió hace mucho tiempo con esta y otras API: http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt /client/widgets/grid/ListGrid.html#getGridRenderer%28%29 –

2

SmartGWT le ofrece la ventaja de que puede usar editores potentes.

Puede depurar su propio código fácilmente (sin embargo, no es muy útil para sumergirse en el código del propio SmartClient).

Tiene a mano todas las funciones de autocompletado de eclipse/netbeans. Cuando comienza a trabajar con SmartClient/Gwt, lo ayuda a encontrar lo que está buscando porque el editor puede enumerar sus clases o los métodos disponibles y cierta documentación básica sobre lo que hace realmente la clase/método. Le ahorrará mucho tiempo al rastrear los documentos

+0

dube, esas son las diferencias encontradas en cualquier tecnología Java vs JavaScript. No son específicos de SmartGWT y SmartClient. – ivo

+0

Solo quería mencionarlo, ya que no puedo saber qué antecedentes tiene y para mí, hace la gran diferencia que use smartclient/gwt en primer lugar. También es la primera vez que puedes comparar esos dos idiomas porque realmente dan el mismo resultado. No tengo la intención de volver a tocar javascript directamente después de trabajar con gwt :) – dube

1

Banang: las API para acceder al cuerpo de ListGrid/TreeGrid ahora están expuestas en Smart GWT.

5

En mi caso, mantenibilidad del código.

Somos una casa de Python. Pero para el código del lado del cliente optamos por GWT, inicialmente con GXT, pero ahora con SmartGWT.

No nos gusta Java, pero JS no nos gusta mucho más, Ordene, mantenga librerías para varios widgets, amplíe objetos para dar funcionalidad personalizada, etc. entre hacer esto en JS o Java, la opción era obvia , Lado de Java. Aquí escribimos componentes reutilizables, y ahora escribimos un código muy mínimo para el lado del cliente, solo reutilizamos componentes y usamos REST para comunicarnos con nuestros backends de Python.

Sabemos que SmartGWT es más prolijo que SmartClient, pero con el autocompletado de Netbeans (algunos colegas aquí usan Eclipse) tenemos acceso directo a cada método, documentado, en lugar de ir a la vitrina o google cada vez que necesitamos prueba y prueba nuevas funcionalidades.

1

Elegimos usar Javascript (no SmartGWT) ... Lo prefiero de esa manera, aunque algunos de los miembros de nuestro equipo (más nuevos en Javascript) habrían preferido la manera SmartGWT. Ambos tienen sus pros y sus contras:

Una de las ventajas de utilizar SmartGWT es que se obtienen errores de compilación ya que el compilador de Java compila todo antes de que se procese en Javascript.

Uno de los inconvenientes de SmartGWT, es que no expone la API JavaScript Smartclient subyacente completa. Esto significa que, si desea hacer cosas más avanzadas, puede que necesite hacerlo en Javascript de todos modos.

Otro inconveniente de SmartGWT, en cuanto a la productividad, es que cada cambio que haga y quiera probar, debe pasar por el doloroso proceso de compilación/implementación Java EE, mientras que si lo hace en Javascript, puede modificar el lado del cliente código más rápido cambiando los archivos .js directamente sin la necesidad de todo el proceso de compilación/implementación.