Showing posts with label Google App Engine. Show all posts
Showing posts with label Google App Engine. Show all posts

05 May 2009

Frameworks RIA basados en AJAX

Echo3, YUI, GWT y RAP .... por si fuera poco, aquí dejo "más madera" para aquellos que les guste divertirse con aplicaciones RIA hechas con AJAX (es decir que no usen Flash, Silverlight o JavaFX)


Echo3
Echo3 permite desarrollar aplicaciones web basadas en AJAX, en el lado servidor con Java o en el lado cliente con JavaScript. Las aplicaciones son desarrolladas orientadas a componentes y con un API que nos permite manejar sus eventos; de manera similar a las aplicaciones de escritorio, eliminando de esta manera la naturaleza basada en páginas de los navegadores. Para los desarrolladores Echo trabaja como un toolkit de interfaz de usuario.

Tal vez su característica más notable es la capacidad de crear aplicaciones completas del lado cliente utilizando JavaScript, sin necesitar un servidor de aplicaciones y además con la capacidad de ejecutarse enteramente offline.

Actualmente Netbeans tiene un plugin para Echo2 y para Eclipse existe un plugin llamado EchoStudio, el cual es de pago.

Enlaces relacionados:

Yahoo User Interface
La libreria YUI es un conjunto de utilidades y controles escritos en JavaScript para construir aplicaciones web RIA usando técnicas como DOM scripting, DHTML y AJAX; consume de forma natural datos en formato JSON; tiene una excelente documentación y ejemplos que hacen fácil el empezar a usarlos, lo único que me costo (a título personal) es aplicar estilos.

Actualmente existe un plugin para Eclipse llamado Aptana IDE.

Enlaces relacionados:

Google Web Toolkit
Framework desarrollado por Google, permite desarrollar aplicaciones web basadas en AJAX, programando y depurándolas usando Java con el IDE de preferencia. Al finalizar la escritura de nuestra aplicación (escrita en Java), GWT compila y traduce dicho programa a JavaScript y HTML compatible con cualquier navegador web.

Tiene su propio IDE basado en python, pero también tiene un plugin que se integra con Eclipse.

Enlaces relacionados:

Lo que no me gusta nada de GWT es que tenemos que escribir la GUI mediante código JAVA, me recuerda a otro framework similar que utilice en 2004, del cual un buen día elegí olvidarme su nombre :-P


Eclipse Rich Ajax Platform
RAP(a parte de ser un estilo musical :-p) nos permite crear aplicaciones RIA con front-ends Java, usando el modelo de componentes de Eclipse basado en el estándar OSGi(es decir : trata de llevar OSGi al lado cliente). OSGi es orientado a servicios, y basado en componentes, además promociona la interoperatibilidad de aplicaciones y servicios.

Su IDE es Eclipse.

Enlaces relacionados:

RAP y GWT son diferentes ya que RAP ejecuta la lógica en el servidor y genera JavaScript para los controles en tiempo de ejecución (NO en tiempo de compilación). Una implementación de SWT(Standard Widget Toolkit) se ejecuta en el servidor y los desarrolladores pueden extender sus vistas y perspectivas para añadir funcionalidad.


Lo mas interesante de todo esto es ver que sucedera en adelante con el matrimonio OSGi & Ajax (que merece todo un artículo de por si solo)!!!

P.D: Y todo este lio por que estoy explorando las posibilidades que me da Google App Engine (Por naturaleza GWT); en fin una cosa lleva a la otra ... y asi acabamos escribiendo a veces pequeños resumenes como este.

- FIN -

14 April 2009

Introducción a Google App Engine

Recientemente Google a ampliado su App Engine para dar soporte a aplicaciones Java además de Python, esto quiere decir que que nosotros como desarrolladores podemos crear a partir de ahora nuestras propias aplicaciones web con Java, y hospedarlas en los servidores de Google de forma gratuita con acceso los servicios proporcionados por este por defecto; con determinadas limitaciones claro.

El siguiente es un mini tutorial de como crear dichas aplicaciones, depurarlas y publicarlas en los servidores de google; abarca desde la creación/registro en el entorno de google, utilización de eclipse como IDE, hasta la publicación final de esta.

Crear una cuenta de aplicación Google App Engine
Hay que entrar en http://appengine.google.com/ con una cuenta de Google, una vez dentro debemos presionar el botón de "Crear una aplicacion" y asignamos un nombre y un título a nuestra nueva aplicación, a continuación presionamos el botón "Save".


emmerson-test será el nombre de mi aplicación en el entorno de google, más adelante este nombre se reutiliza para hacer el despliegue de la aplicación que se creará a continuación con Eclipse.


Eclipse como IDE

En nuestro Eclipse Ganymede debemos registrar el update site de Google Plugin for Eclipse (http://dl.google.com/eclipse/plugin/3.4) , a continuación marcamos todas las opciones y proseguimos con la instalación; una vez finalizada tendriamos que reiniciar eclipse.

Una vez reiniciado eclipse debemos crear un workspace para nuestros proyectos Google App Engine (C:\desarrollo\proyectos\GoogleAppEngine) , acto seguido habría que crear un proyecto web (File -> New -> Web Application Project) .


Para este caso el nombre de mi aplicación de test es TestGAE (Test Google App Engine) (como se puede apreciar el nombre puede ser distinto al registrado en el entorno de Google)


Cuando se crea un nuevo proyecto con esta opción, se añade por defecto una estructura con un conjunto de clases y páginas a manera de introducción o ejemplo, por defecto en el idioma inglés (Como se podrá apreciar en la estructura hay un fichero para log4j, el cual guarda en base de datos los registros ya que dentro del sandbox de ejecución de nuestras aplicaciones no se pueden crear ficheros desde código).

Vamos a elegir el servlet por defecto que da respuesta a nuestra peticiones (edu.emmerson.gae.Test.server.GreetingServiceImpl.java) y a continuación cambiaremos los textos que estan en inglés al castellano o el idioma preferido por cada uno.

return "Felicitaciones, " + input + "! Entorno de ejecución : " + serverInfo

+ ". Información de navegador: " + userAgent;

Ahora ejecutaremos la aplicación en modo debug



Se nos abrirán dos ventanas nuevas, una con el servidor que nos proporciona google con el sandbox correspondiente de java y otra ventana con nuestra aplicación, en la cual introduciremos un nombre y a continuación el botón "Send", acto seguido nos saldrá la respuesta con los textos que hemos modificado en nuestro servlet.



Ahora bien, ya tenemos lista nuestra primera aplicación web java en la cual se pueden apreciar los textos que hemos cambiado.



Publicación de la aplicación en el entorno de Google


Para finalizar nuestro desarrollo únicamente nos hace falta publicar nuestra aplicación en el entorno que nos proporciona Google App Engine, para ello activaremos el botón derecho del ratón sobre nuestro proyecto e iremos a la opción Google -> Deploy to App Engine .

Una vez introducidos nuestros datos de login en Google deberiamos configurar la aplicación sobre la cual desplegar nuestro proyecto, para ello debemos presionar la opción App Engine proyect settings e introducimos el nombre de la aplicación creada en los primeros pasos.


Una vez presionado el boton Ok, presionaremos el boton "Deploy" de la pantalla anterior
Finalmente, cuando termine el despliegue podremos ver el resultado en http://emmerson-test.appspot.com/ (NOTA : emmerson-test es el nombre de la aplicación creada en los primeros pasos y es una web operativa que se puede visualizar).

Intentaré divertirme con este juguete, haber si puedo forjar un mashup con lo que necesito utilizando los servicios de Google y Yahoo ;-)

Enlaces relacionados :


Debugging AppEngine application on NetBeans

- FIN -