En este artículo describo el framework GWT y comento por qué creo que es buena idea usarlo para mi proyecto de doctorado.
¿Qué es GWT?
Google Web Toolkit (GWT) en un framework o toolkit que permite construir y optimizar aplicaciones web complejas. Básicamente, lo que permite es construir aplicaciones en Java y después usar el compilador de GWT para que esa aplicación se traduzca a Javascript y HTML. Una de las ventajas de utilziar GWT es que la aplicación resultante será compatible con todos los navegadores Web.
Su principal objetivo es producir aplicaciones web sin que el desarrollador tenga que ser un experto en las tecnologías de navegadores web como (MLHttpRequest, y JavaScript). Muchas aplicaciones de Google están programadas en GWT como GoogleWave y Google AdWords.
GWT es gratis, código abierto y y es usado por miles de desarrolladores en el mundo.
4 partes importantes de GWT
La herramienta de desarrollo GWT tiene 4 grandes partes:
- SDK. Es un conjunto de librerías api, un compilador y un servidor de desarrollo. Te permite crear aplicaciones en Java y desplegarlas en JavaScript.
- Speed Tracer. Es una extensión fdel navegador Google Chrome que te permite medir el desempeño de la aplicación e identificar problemas.
- Plugin de Eclipse. Tiene un plugin del IDE Eclipse. La ventaja de esto es que se puede programar en el entorno de desarrollo Eclipse y alli mismo compilar y correr pruebas.
- GWT Designer. Te permite crear interfaces de usuario (gui) de forma muy fácil y rápida. Puedes arrastrar botones, poner menús, hacer funcionalidades tipo arrastra y suelta y el código de esa interfaz se generará automáticamente.
Ejemplos
Existe una galería de proyectos que utilizan GWT: http://gwtgallery.appspot.com/. En ella figuran 3 proyectos que esán relacionados con mi trabajo de tesis.
- GWT-DND. Librerías para hacer objetos que se puedan arrastrar y soltar. Este lo tengo que estudiar y seguramente me facilitará mucho el trabajo, además de que creo que es un buen ejemplo para aprender a programar cosas similares. Aquí pueden ver el demo.
- Mathlets. Es un conjunto de applets para enseñar distintos temas de matemáticas como cálculo y funciones, parece que la mayoría están hechos en Java y no en GWT, pero puedo investigar más.
- NetCalc. Es una calculadora en línea que permite graficar, evaluar funciones, calcular derivadas, etc. Parece que está hecho totalmente en GWT.
- LatexLab. Es un proyecto que integra Latex en Google Docs. Con este proyecto se pueden crear proyectos en Latex dentro de Google Docs y ver un preview compilado en línea.
Motivación para dejar Haxe y empezar a utilizar GWT
A pesar de que ya tengo una demo funcionado que hace una conexión con Maxima y despliega expresiones matemáticas en Flash, creo conveniente mejor empezar a estudiar GWT por varias razones.
La primera, y muy poderosa es por la comunidad. La comunidad de Haxe no es mucha y no hay muchos ejemplos ni documentación tan abundante. Esto hace que me tarde mucho en programar algo muy sencillo. La comunidad de GWT es mucho mayor y hay varios libros dedicados completamente a enseñar GWT para hacer aplicaciones Web.
La segunda es porque, aunque yo no lo quiera, cada vez viene más fuerte la tendencia de no usar Flash para aplicaciones Web, esto se debe sobre todo a que Apple ha decidido hacerle guerra a Adobe Flash y sus principales y populares productos el Iphone y la Ipad no soportan las aplicaciones Flash.
Es por esto que creo conveniente aprender a usar GWT para poder crear aplicaciones Web que sean muy ricas en interacción pero que no tienen Flash.
Material para estar estudiando
En estos días estuve revisando los tutoriales del sitio oficial de GWT y algunos libros, El que más me gustó para estudiar es el siguiente:
Daniel Guermeur and Amy Unruh. Google App Engine Java and GWT Application Development. Build powerful, scalable, and interactive web applications in the cloud. Editorial Packt Publishing. 2010.
Además de eso creo que me conviene estudiar un poco el código del proyecto GWT-DND que es el proyecto que hicieron para hacer todas las funcionalidades de arrastrar y soltar en aplicaciones GWT.
Objetivo
Mi objetivo es dedicar algunos días más a aprender GWT teniendo como objetivo hacer una conexión con Maxima y hacer una aplicación web que reciba una instrucción matemática, que la procese con Maxima y la despliegue con una bonita imágen usando Latex.
buenas noches, ya hace tiempo que colocaste el post y veo que no recibiste muchas retroalimentaciones; espero que aun con este impace pudieras sacar adelante tu proyecto. Esta interesante la herramienta investigare un poco cualquiera cosa, seria bastante estimulante me contaras como te termino de ir y tus conclusiones. Gracias por el post esta buenisimo.
ResponderEliminarHola
ResponderEliminarGracias por escribir! ya avancé con este proyecto y sí! tienes razón! no recibí retroalimentaciones! Voy a escribir otro post con detalles de programación y el demo funcionando en GWT con Maxima ya montado en un servidor. Un saludo y gracias de nuevo!!