2.5. Crear un Proyecto con Maven

La librería principal de Vaadin y todo los complementos Vaadin están disponibles a través de un repositorio Maven y por lo tanto puede utilizarse fácilmente con Apache Maven. Puede utilizar Maven con un interfaz-grafica de Eclipse o NetBeans, o utilizando la línea de comandos como se describe en esta sección.

Puede crear un nuevo proyecto Maven con el siguiente comando:
$ mvn archetype:generate
    -DarchetypeGroupId=com.vaadin
    -DarchetypeArtifactId=vaadin-archetype-clean
    -DarchetypeVersion=LATEST
    -DgroupId=tu.compania -DartifactId=nombre-proyecto -Dversion=1.0 -Dpackaging=war
Los parámetros son los siguientes:

archetypeGroupId
El group ID del arquetipo es com.vaadin para arquetipos Vaadin.

archetypeArtifactId
El archetype ID. Vaadin es compatible actualmente con los siguientes arquetipos:

  • vaadin-archetype-clean es un nuevo proyecto con un esqueleto barebone para una aplicación Vaadin regular. El archivo pom.xml incluye como-comentario las definiciones para los widgets adicionales.
  • vaadin-archetype-widget es un esqueleto para un proyecto con widgets personalizados.
  • vaadin-archetype-sample también es para el proyecto con widgets personalizados, pero el esqueleto incluye el ejemplo Color Picker utilizado en el Capítulo 11, Desarrollar Nuevos Componentes.
  • vaadin-archetype-addon es para proyectos de complementos Vaadin. Este empaqueta el complemento para que pueda ser publicado en el Directorio Vaadin. El arquetipo es para complementos del lado del servidor y no incluye las definiciones necesarias para la construcción de un conjunto de widgets. Si su complemento incluye o requiere que no sean los widgets de la librería principal Vaadin, debe copiar las definiciones necesarias desde un POM de un proyecto vaadin-arquetipo-clean.
  • vaadin-archetype-touchkit es para proyectos con Vaadin TouchKit, descrito en el Capítulo 19, Aplicaciones Mobiles con TouchKit. Tenga en cuenta que este arquetipo utiliza la versión con licencia AGPL de TouchKit, que exige que el proyecto también debe ser licenciado bajo la licencia AGPL.

archetypeVersion
Versión del arquetipo a usar. Este normalmente debería ser LATEST.

groupId
Este es utilizado para el nombre del paquete Java y normalmente debe ser su nombre de dominio invertido, tal como com.example.myproject. El group ID es utilizado también para el nombre del paquete fuente de Java de su proyecto, por lo que debe ser compatible con Java - sólo caracteres alfanuméricos y un subrayado.

artifactId
Identificador del artifact, este es, su proyecto. El identificador puede contener caracteres alfanuméricos, menos, y subrayado.

version
Número de la versión inicial de su aplicación. El número debe obedecer al formato de la numeración de la versión de Maven.

packaging
Como será empaquetado el proyecto. Normalmente este es un war.

La creación de un proyecto puede tardar un poco ya que Maven busca todas las dependencias. La estructura del proyecto creado se muestra en la Figura 2.8, "Un Nuevo Proyecto Vaadin con vaadin-archetype-clean".

Figura 2.8. Un Nuevo Proyecto Vaadin con vaadin-archetype-clean

Compilar y Ejecutar la Aplicación

Antes de que la aplicación pueda ser desplegada, debe ser compilada y empaquetada como un paquete WAR. Usted puede hacer esto con el goal package de la siguiente manera:

$ mvn package
La ubicación del paquete WAR resultante debe mostrarse en el comando de salida. Luego puede desplegarlo en su servidor de aplicaciones favorito.

La forma más fácil de ejecutar aplicaciones Vaadin con Maven es utilizar el servidor web ligero Jetty. Después de compilar el paquete, todo lo que necesita hacer es teclear:

$ mvn jetty:run
El goal especial arranca el servidor Jetty en el puerto 8080 y despliega la aplicación. Luego puede abrirlo en un navegador web en http://localhost:8080/nombre-proyecto.

Utilizar Complementos y Conjuntos de Widget Personalizados

Si utiliza complementos Vaadin que incluyen un conjunto de widgets o hace sus widgets personalizados, necesita habilitar la compilación de conjunto de widget en el POM. La configuración requerida se describe en la Sección 15.5, "Usar Complementos en un Proyecto Maven".



Anterior
2.4. Crear un Proyecto con Netbeans
Siguiente
Capítulo 3. Arquitectura

2.4 Crear un Proyecto con NetBeans

Vaadin no tiene un plugin oficial para NetBeans en este momento, por lo que las tareas tienen que hacerse más manualmente que con Eclipse.

Tiene dos opciones para crear un proyecto Vaadin en NetBeans: como un proyecto de aplicación web regular o como un proyecto Maven. Abarcamos estas dos formas en las siguientes secciones.

2.4.1. Proyecto de Aplicación Web Regular

En esta sección se describe la manera básica de crear un proyecto de aplicación Vaadin en NetBeans. Este enfoque es útil si no desea utilizar Maven, pero requiere más trabajo manual.

  1. Abra Archivo → Proyecto Nuevo....
  2. Seleccione Java Web → Web Application y haga clic en Next.
  3. Proporcione un nombre al proyecto, como miproyecto. Como el nombre del proyecto también se utiliza por defecto como la ruta de contexto, este debe contener sólo caracteres alfanuméricos, subrayado y signo menos. Haga clic en Siguiente.
  4. Seleccione un servidor. La referencia de herramienta de programación recomienda Apache Tomcat, ya que muchas instrucciones en este libro se dan específicamente para Tomcat, pero cualquier otro servidor debería funcionar igual de bien. Haga clic en Siguiente.
  5. Haga clic en Finish.

El proyecto es creado. Sin embargo, es un simple esqueleto para un proyecto web basado en una aplicación JSP. Para que sea un proyecto Vaadin adecuado, es necesario incluir la librería Vaadin, crear la clase application y definir el descriptor de despliegue web.xml.

2.4.2. Proyecto Maven desde un Arquetipo Vaadin

La creación de un proyecto Maven con el arquetipo Vaadin es más simple que un proyecto de aplicación web regular en NetBeans. Este crea un esqueleto de la aplicación, define el descriptor de despliegue web.xml, y también recupera automáticamente la librería más reciente de Vaadin.

  1. Seleccione Archivo → Proyecto Nuevo....
  2. Seleccione Maven → Project from Archetype y haga clic en Siguiente.
  3. Seleccione un arquetipo desde un repositorio:

    • Si ha utilizado Vaadin con Maven antes, puede que ya tenga el arquetipo en el repositorio local - seleccione Archetypes from Local Repository.
    • Agregue un nuevo arquetipo haciendo clic en Add. Para Group Id, poner com.vaadin. Para Artifact Id, poner vaadin-archetype-clean para un proyecto normal, vaadin-archetype-widget para un proyecto widget GWT personalizado, o vaadin-archetype-sample para un esqueleto más avazado de application. Para Version, poner LATEST o especificar el número de la versión. A continuacion, haga clic en OK.

      Figura 2.6. Agregar un Nuevo Arquetipo en NetBeans
      A continuacion seleccione el Arquetipo personalizado - vaadin-archetype-clean (LATEST) desde el arbol de seleccion.
    Haga clic en Siguiente.
  4. En el paso Nombre y ubicación, introduzca el Nombre del Proyecto, el cual se recomienda que sea sólo carácteres alfabéticos en minúsculas, ya que también es utilizado como una sugerencia para el nombre del paquete Java del proyecto. Modifique los otros parámetros de su proyecto y haga clic en Terminar.

    Figura 2.6. Agregar un Nuevo Arquetipo en NetBeans

La creación del proyecto puede tomar un tiempo ya que Maven carga todas las dependencias necesarias. Una vez creado, se puede ejecutar haciendo clic derecho sobre el proyecto en la vista Proyectos y seleccionando Ejecutar. En la ventana Select deployment server que se abre, seleccione Apache Tomcat y haga clic en Aceptar. Si todo va bien, NetBeans inicia el servidor y lanza el navegador por defecto para mostrar la aplicación web.



Anterior
2.3. Tu Primera Proyecto con Vaadin
Siguiente
2.5. Crear un Proyecto con Maven

2.3. Tu Primer Proyecto con Vaadin

Esta sección proporciona instrucciones para la creación de un nuevo proyecto de Eclipse utilizando el plugin Vaadin. La tarea incluirá los siguientes pasos:

  1. Cree un nuevo proyecto
  2. Escriba el código de fuente
  3. Configure y arranque Tomcat (o algún otro servidor web)
  4. Abra un navegador web para poder usar la aplicación web

También mostramos cómo puede depurar la aplicación en modo de depuración en Eclipse.

En este tutorial asume que ya tiene instalado el Plugin Vaadin y configurado su entorno de desarrollo, como se indicó en la Sección 2.2.2, "Instalar el Paquete JAR" y la Sección 2.1, "Configurar el Entorno de Desarrollo".

2.3.1. Crear el Proyecto

Vamos a crear el proyecto de la primera aplicación con las herramientas instaladas en la sección anterior. En primer lugar, inicie Eclipse y siga los siguientes pasos:

  1. Empiece creando un nuevo proyecto seleccionando en el menú File → New → Project....
  2. En la ventana New Project que se abre, seleccione Web → Vaadin Project y haga clic en Next.
  3. En el paso Vaadin Project, es necesario establecer los ajustes básicos del proyecto web. Tiene que dar por lo menos el project name y el runtime, los valores por defecto deberían estar bien para los otros ajustes.

    Project name
    Dé un nombre al proyecto. El nombre debe ser un identificador válido utilizable multiplataforma como un nombre de archivo y dentro de una URL, así que utilice sólo caracteres alfanuméricos en minúsculas, subrayado y el signo menos es lo recomendado.

    Use default
    Define el directorio en el cual se crea el proyecto. Normalmente, debe dejarlo como está. Puede que tenga que establecer el directorio, por ejemplo, si está creando un proyecto de Eclipse en la parte superior de un árbol de fuentes con control de versiones.

    Target runtime
    Define el servidor de aplicaciones a utilizar para desplegar la aplicación. El servidor que tiene instalado, por ejemplo Apache Tomcat, se debe seleccionar de forma automática. Si no, haga clic en New para configurar un nuevo servidor en Eclipse.

    Configuration
    Seleccione la configuración a utilizar, que normalmente debería utilizar la configuración predeterminada para el servidor de aplicaciones. Si tiene que modificar aspectos del proyecto, haga clic en Modify.

    Deployment configuration
    Esta configuración define el entorno en que la aplicación se desplegará, para generar el diseño apropiado del directorio del proyecto y los archivos de configuración. Las opciones son:

    • Servlet (default)
    • Google App Engine Servlet
    • Generic Portlet (Portlet 2.0)
    • Old Portlet (Portlet 1.0)

    Los pasos adicionales en el asistente New Project dependen de la configuración de despliegue seleccionada; los pasos enumerados en esta sección son para la configuración del servlet por defecto. Vea la Sección 12.8, "Integración con el Motor de Google App" y el Capítulo 13, Integracion con Portal para obtener más información sobre el uso de Vaadin en ambientes alternativos.

    Vaadin version
    Seleccione la versión Vaadin a utilizar. La lista desplegable muestra, de forma predeterminada, la última versión disponible de Vaadin. Si desea utilizar otra versión, haga clic en Download. El diálogo que se abre lista todas las versiones oficiales de Vaadin.
    Si deseas utilizar una versión preliminar o una versión nightly builds, seleccione Show pre-release versions and nightly builds. Seleccione una versión y haga clic en Ok para descargarlo. Aparecerá como una opción en la lista desplegable.

    Si quiere cambiar el proyecto para utilizar otra versión de Vaadin, por ejemplo, para actualizarlo a uno más nuevo, puedes ir a la configuración del proyecto y descarga y seleccionar otra versión.

    Aquí puede hacer clic en Finish para utilizar los valores predeterminados para el resto de la configuración, o hacer clic en Next.

  4. Los ajustes en el paso Web Module definen los ajustes básicos relacionados con el servlet y la estructura del proyecto de la aplicación web. Todos los ajustes son precargados, y normalmente debes aceptarlos como son.

    Context Root
    El context root (de la aplicación) identifica la aplicación en la dirección URL utilizada para acceder a ella. Por ejemplo, si el servidor se ejecuta en el contexto apps y la aplicación tiene el contexto miproyecto, la dirección sería http://example.com/app/url. El asistente le sugerirá miproyecto para el nombre de contexto.

    Content Directory
    El directorio que contiene todo el contenido que debe incluirse en el servlet y servido por el servidor web. El directorio es relativo al directorio raíz del proyecto.

    Java Source Directory
    El directorio fuente por defecto que contiene las fuentes de la aplicación. Se sugiere el directorio src; otra convención común en aplicaciones web es utilizar WebContent/WEB-INF/src, en cuyo caso las fuentes se incluyen en el servlet (pero no servidas en peticiones HTTP).

    Generate deployment descriptor
    El asistente debería genera el descriptor de despliegue web.xml necesario para ejecutar el servlet en el directorio WebContent/WEB-INF. Muy recomendado. Consulte la Sección 4.8.3, "El Descriptor de Despliegue web.xml" para obtener más detalles.

    Esta será la sub-ruta en la URL, por ejemplo http://localhost:8080/miproyecto. El valor predeterminado para la raíz de la aplicación será / (root).

    Usted puede simplemente aceptar los valores predeterminados y hacer clic en Next.
  5. Los pasos de la página Vaadin project tiene varios parámetros específicos de la aplicación Vaadin. Si está trabajando Vaadin por primera vez, no tiene por qué cambiar nada. Puede establecer la mayor parte de los ajustes más tarde, a excepción de la creación de la configuración del portlet.
    Create project template
    Hace que el asistente cree una parte de la clase application.

    Application Name
    Nombre de la aplicación que aparece en el título de la ventana del navegador.

    Base package name
    Nombre del paquete Java bajo el cual la clase application debe ser colocada.

    Application class name
    Nombre de la clase application Vaadin.

    Create portlet configuration
    Cuando se selecciona esta opción, el asistente creará los archivos necesarios para ejecutar la aplicación en un portal. Vea el Capítulo 13, Integración con Portal para obtener más información sobre los portlets.

    Por último, haga clic en Finish para crear el proyecto.

  6. Eclipse le puede pedir que cambie a la perspectiva J2EE. Un Proyecto Web Dinámico utiliza un servidor web externo y la perspectiva J2EE proporciona herramientas para controlar el servidor y gestionar el despliegue de la aplicación. Haga clic en Yes.

2.3.1. Explorar el Proyecto

Después de que el asistente New Project existe, este ha hecho todo el trabajo por nosotros: las librerías Vaadin son instalada en el directorio WebContent/WEB-INF/lib, un esqueleto de la clase application se ha escrito en el directorio src, y WebContent/WEB-INF/web.xml ya contiene un descriptor de despliegue.

Figura 2.3. Un Nuevo Proyecto Web Dinámico
La clase application creada por el plugin contiene el siguiente código:
package com.example.miproyecto;

import com.vaadin.Application;
import com.vaadin.ui.*;
public class MiproyectoApplication extends Application
{
   @Override 
   public void init() {
      Window mainWindow = 
         new Window("Myproject Application");
      Label label = new Label("Hello Vaadin user");
      mainWindow.addComponent(label);
      setMainWindow(mainWindow);
 }
}

Vamos a agregar un botón a la aplicación para que sea un poco más interesante. El metodo init() resultante podría ser algo como:
public void init() {
   final Window mainWindow = 
      new Window("Aplicacion Mi Proyecto");

   Label label = new Label("Hola usuario Vaadin");
   mainWindow.addComponent(label);

   mainWindow.addComponent(
      new Button("Qué hora es?",
         new Button.ClickListener() {
         public void buttonClick(ClickEvent event) {
            mainWindow.showNotification(
               "La hora es " + new Date());
         }
      }));
 
 setMainWindow(mainWindow);
}

El descriptor de despliegue WebContent/WEB-INF/web.xml define el servlet del framework Vaadin, la clase application y el servlet mapping:

Ejemplo 2.1. El Descriptor de Despliegue web.xml para su proyecto
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
  id="WebApp_ID" version="2.5">

  <display-name>myproject</display-name>

  <context-param>
   <description>Vaadin production mode</description>
   <param-name>productionMode</param-name>
   <param-value>false</param-value>
  </context-param>

  <servlet>
   <servlet-name>Aplicación Mi Proyecto</servlet-name>
   <servlet-class>
     com.vaadin.terminal.gwt.server.ApplicationServlet
   </servlet-class>
   <init-param>
      <description>Vaadin application class to start</description>
      <param-name>application</param-name>
      <param-value>
        com.example.miproyecto.MiproyectoApplication
      </param-value>
 </init-param>
 </servlet>
 
 <servlet-mapping>
 <servlet-name>Aplicacion Mi Proyecto</servlet-name>
 <url-pattern>/*</url-pattern>
 </servlet-mapping>
</web-app>

Para un tratamiento más detallado del archivo web.xml, Vea la Sección 4.8.3, "El Descriptor de Despliegue web.xml".

2.3.3. Configurar e Iniciar el Servidor Web

Eclipse IDE for Java EE Developers tiene instalado el paquete Web Standard Tools, que soporta el control de varios servidores web y el despliegue automático de contenidos web en el servidor cuando se realizan cambios a un proyecto.

Asegúrese de que Tomcat fue instalado con permisos de usuario. La configuración del servidor web en Eclipse fallará si el usuario no tiene permisos de escritura en los directorios de configuración y despliegue en el directorio de instalación de Tomcat.

Siga los siguientes pasos.

  1. Cambie a la pestaña Servers en el panel inferior en Eclipse. La lista de servidores debería estar vacía después de que Eclipse es instalado. Haga clic derecho en el área vacía en el panel y seleccione New → Server.
  2. Seleccione Apache → Tomcat v7.0 Server y establezca Server's host name a localhost, que debería ser el valor predeterminado. Si sólo tiene un Tomcat instalado, Server runtime tiene sólo una opción. Haga clic en Next.
  3. Añada su proyecto al servidor seleccionándolo en la parte izquierda y haciendo clic en Add para agregarlo a los proyectos configurados en la parte derecha. Haga clic en Finish.
  4. El servidor y el proyecto se han instalado ahora en Eclipse y se muestran en la pestaña Servers. Para iniciar el servidor, haga clic derecho en el servidor y seleccione Debug. Para iniciar el servidor en modo no-depuración, seleccione Start.
  5. El servidor se inicia y el directorio WebContent del proyecto es publicado en el servidor en http://localhost:8080/miproyecto/.

2.3.4. Ejecutar y Depurar

Iniciar su aplicación es tan fácil como seleccionar miproyecto desde el Project Explorer y luego en Run → Debug As → Debug on Server. Eclipse entonces, abre la aplicación en el navegador web incorporado.

Figura 2.4. Ejecutar una Aplicación Vaadin
Puede insertar puntos de interrupción en el código Java, haciendo doble clic en la barra de lado izquierdo de la ventana de código fuentes. Por ejemplo, si inserta un punto de interrupción en el método buttonClick() y haga clic en el botón Que hora es?, Eclipse le pedirá que cambie a la perspectiva Debug. La perspectiva Debug aparecerá donde se detuvo la ejecución en el punto de interrupción. Puede examinar y cambiar el estado de la aplicación. Para continuar con la ejecución, seleccione Resume en el menú Run.

Figura 2.4. Depurar una Aplicación Vaadin
El procedimiento descrito anteriormente permite la depuración de la aplicación del lado del servidor. Para obtener más información sobre la depuración de los widgets del lado del cliente, Vea la Sección 11.8.6, "El Modo de Desarrollo GWT".

Reiniciar la Sesión de la Aplicación

Cuando abre la dirección URL de la aplicación, se crea una nueva sesión de usuario. La sesión se conserva incluso si vuelve a cargar la página. Además, ya que a Eclipse le gusta hacer el despliegue en caliente para Tomcat, y a Tomcat le gusta persistir sesiones en el cierre del servidor, usted puede experimentar un problema y es que la aplicación no vuelve a su estado inicial después de modificar el código o incluso reiniciar el servidor.

Añadiendo el parámetro ?restartApplication en la URL le indica al servlet Vaadin que cree una nueva instancia de Application cuando se recarge la página.



Anterior
2.2. Instalar Vaadin
Siguiente
2.4. Crear un Proyecto con NetBeans

2.2. Instalar Vaadin

Esta sección proporciona instrucciones para instalar Vaadin in su entorno de desarrollo. Tiene dos opciones básicas para instalar:

  1. Si utiliza Eclipse, recomendamos que instale el Plugin de Vaadin para Eclipse, tal como se describe en la Sección 2.2.1, "El Plugin Vaadin para Eclipse"
  2. De lo contrario, descarge e instale el paquete JAR, tal como se describe en la Sección 2.2.2, "Instalar el Paquete JAR".

Estas opciones son explicadas en detalle en las secciones siguientes.

2.2.1. El Plugin Vaadin para Eclipse

Si está utilizando el IDE Eclipse, utilizar el plugin de Vaadin debería ayudarle mucho. El plugin incluye:

  • Una integración del plugin con los asistentes para la creación de nuevos proyectos Vaadin basados en temas y widgets del lado del cliente y conjuntos de widgets.
  • Un editor visual para la edición de componentes personalizados compuesto de una interfaz de usuario en modo WYSIWYG. Con el soporte completo ida y vuelta desde el código fuente para el modelo visual y detrás, el editor se integra perfectamente con su proceso de desarrollo.
  • Una versión del Libro de Vaadin que puede ver en el sistema de Ayuda de Eclipse.

Puede instalar el plugin de la siguiente manera:

  1. Inicie Eclipse.
  2. Selecione Help → Software Updates....
  3. Selecione la pestaña Available Software.
  4. Añada el sitio de actualización del plugin de Vaadin haciendo clic en Add Site....
    Escriba la URL del Sitio de Actualización de Vaadin: http://vaadin.com/eclipse y haga clic en OK. El sitio Vaadin debería aparecer ahora en la ventana Software Updates.
  5. Seleccione todos los plugins Vaadin en el árbol.
    Por último, haga clic en Install.

Las instrucciones de instalación detalladas y actualizadas para el plugin de Eclipse se pueden encontrar en http://vaadin.com/eclipse.

Actualizar el Plugin Vaadin
Si tiene habilitadas las actualizaciones automáticas en Eclipse (véa Window → Preferences → Install/Update → Automatic Updates), el plugin Vaadin se actualizará de forma automática junto con otros plugins. De lo contrario, puedes actualizar el plugin Vaadin (realmente hay varios plugins) manualmente de la siguiente manera:

  1. Seleccione Help → Software Updates..., se abrirá la ventana Software Updates and Add-ons.
  2. Seleccione la pestaña Software Updates and Add-ons.
  3. Si desea actualizar sólo los plugins Vaadin, selecciónelos en la lista haciendo clic en los plugins y manteniendo pulsada la tecla Ctrl para todos excepto el primero.
  4. Haga clic en Update.

Observe que la actualización del plugin de Vaadin solo actualiza el plugin y no la librería Vaadin, que es el proyecto específico. Vea a continuación las instrucciones para actualizar la librería.

Actualizar la Librería Vaadin
La actualización del plugin Vaadin no actualiza la librería Vaadin. La librería es para proyectos específicos, como una versión diferente puede ser requerido para diferentes proyectos, por lo que tiene que actualizarlo por separado para cada proyecto. Para cambiar la librería a una versión más nueva (o algún otro), haga lo siguiente:

  1. Seleccione el proyecto en Project Explorer y seleccione Project → Preferences o presione Alt+Enter.
  2. En la ventana project preferences que se abre, seleccione Vaadin → Vaadin Version.
  3. Si la versión que desea utilizar no está incluida en la lista desplegable Vaadin version, haga clic en Download para abrir la ventana de descarga.
    Si desea utilizar una versión en desarrollo, seleccione Show pre-release versions and nightly builds. Seleccione la versión que desea descargar y de clic en OK.
  4. Seleccione la versión que desee utilizar en la lista desplegable Vaadin version y haga clic en Apply.

Puede observar que la nueva librería aparece en la carpeta WebContent/WEB-INF/lib.

2.2.2. Instalar el Paquete JAR

Puede instalar el paquete de instalación Vaadin en unos sencillos pasos:

  1. Descargue el paquete de instalación Vaadin más reciente desde la página de descarga en http://vaadin.com/download/.
  2. Coloque el JAR en la carpeta de librería web WEB-APP/lib del proyecto.

La ubicación de la carpeta WEB-APP/lib depende de la organización del proyecto.

  • En los proyectos de Eclipse: WebContent/WEB-INF/lib.
  • En los proyectos de Maven: src/main/webapp/WEB-INF/lib.



Anterior
Capítulo 2. Primeros Pasos con Vaadin
Siguiente
2.3. Tu Primer Proyecto con Vaadin

Capítulo 2. Primeros Pasos con Vaadin

Este capítulo proporciona instrucciones prácticas para la instalación del conjunto de herramientas de programación recomendadas, o bien sea el Plugin Vaadin para Eclipse o, si usted utiliza otro o ningún IDE en lo absoluto, el JAR de Vaadin.

2.1. Configurar el Entorno de Desarrollo

Esta sección proporciona una guía paso a paso para configurar un entorno de desarrollo. Vaadin soporta una amplia variedad de herramientas, para que pueda utilizar cualquier IDE para escribir código, para ver los resultados en la mayoría de los navegadores web, cualquier sistema operativo o procesador con el soporte de la plataforma Java 1.5, y casi cualquier servidor web de Java para desplegar la aplicación.

En este ejemplo, usamos las siguientes herramientas de programación:


La anterior referencia de herramientas de programación es una buena selección de herramientas, pero puede utilizar casi cualquier herramienta con la cual se sienta cómodo.

Figura 2.1. Desarrollo de Procesos y Herramientas de Programación
La Figura 2.1, "Desarrollo de Procesos y Herramientas de Programación" ilustra el entorno de desarrollo y de proceso. Desarrolla tu aplicación como un proyecto de Eclipse. El proyecto debe incluir, además de su código fuente, la Librería Vaadin. También puede incluir sus temas específicos del proyecto.

Debe compilar y desplegar un proyecto en un contenedor web antes de poder utilizarlo. Puede implementar un proyecto a través de la Plataforma de Herramientas Web de Eclipse, que permiten la implementación automática de las aplicaciones web de Eclipse. También puede implementar un proyecto de forma manual, creando un archivo de aplicación web (WAR) y desplegándolo a través de la interfaz de los contenedores web.

2.1.1. Instalar Java SDK

Java SDK es requerido por Vaadin y también por el IDE Eclipse. Vaadin es compatible con Java 1.5 y ediciones posteriores.

Windows
  1. Descargue Sun Java 2 Standard Edition 6.0 desde http://java.sun.com/javase/downloads/index.jsp
  2. Instale el Java SDK ejecutando el instalador. Las opciones por defecto están bien.
Linux / UNIX
  1. Descargue Sun Java 2 Standard Edition 6.0 desde http://java.sun.com/javase/downloads/index.jsp
  2. Descomprímalo en un directorio base adecuado, como /opt. Por ejemplo, para Java SDK, escriba (ya sea root o con sudo en Linux):

    # cd /opt # sh (path-to-installation-package)/jdk-6u1-linux-i586.bin y siga las instrucciones del instalador.
2.1.2. Instalar el IDE Eclipse

Windows
Eclipse está instalado ahora en C:\dev\eclipse y se puede iniciar desde allí (haciendo doble clic en eclipse.exe).
  1. Descargue el IDE Eclipse for Java EE Developers (versión Ganymede) desde http://www.eclipse.org/downloads/
  2. Descomprima el paquete del IDE Eclipse en un directorio adecuado. Es libre de seleccionar cualquier directorio y utilizar cualquier descompresor ZIP, pero en este ejemplo descomprimimos el archivo ZIP solo con un doble clic en él y seleccionando "Extraer todos los archivos" en Windows seleccionando la carpeta de trabajo. En nuestro ejemplo de instalación, utilizamos C:\dev como el directorio de destino.
Linux / UNIX
Tiene dos opciones básicas para instalar Eclipse en Linux y UNIX: puedes instalarlo con el administrador de paquetes de su sistema operativo o descargando e instalando los paquetes manualmente. Se recomienda el método de instalación manual, debido a que las últimas versiones de los paquetes disponibles en el repositorio de paquetes de Linux pueden ser incompatibles con los plugins de Eclipse que no se instalan mediante el administrador de paquetes.
  1. Descargue el IDE Eclipse for Java EE Developers (versión Ganymede) desde http://www.eclipse.org/downloads/
  2. Descomprima el paquete del IDE Eclipse en un directorio adecuado. Es importante asegurarse de que no haya una antigua instalación de Eclipse en el directorio destino. La instalación de una nueva versión encima de una antigua probablemente deja inutilizable Eclipse.
  3. Eclipse normalmente se debe instalar como un usuario normal, ya que esto hace más fácil la instalación de plugins. Eclipse también almacena algunas configuraciones de usuario en el directorio de instalación. Para instalar el paquete, escriba:

    $ tar zxf (path-to-installation-package)/eclipse-jee-ganymede-SR2-linux-gtk.tar.gz
    Esto extraerá el paquete en un subdirectorio con el nombre de eclipse.
  4. Es posible que desee agregar el directorio de instalación de Eclipse y el subdirectorio bin en el directorio de instalación de Java SDK a su sistema o PATH del usuario.
Una alternativa al procedimiento anterior es utilizar el sistema de administración de paquetes de su sistema operativo. Por ejemplo, en Ubuntu Linux, que incluye Sun Java SDK y Eclipse en su repositorio APT, puedes instalar los programas desde un administrador de paquetes GUI o desde la línea de comandos con un comando como:

$ sudo apt-get install sun-java6-jdk eclipse
Sin embargo, esto no se recomienda, porque el paquete de Eclipse no puede incluir necesariamente todas las herramientas de Java EE, la más importante es la Herramienta Web Estándar, y puede provocar incompatibilidades con algunos componentes que no se instalan con el sistema de administración de paquetes de su sistema operativo.

2.1.3. Instalar Apache Tomcat

Apache Tomcat es un servidor ligero para Java Web propicio tanto para desarrollo como para producción. Hay muchas maneras de instalarlo, pero aquí simplemente descomprimimos el paquete de instalación.

Apache Tomcat debería estar instalado con permisos de usuario. Durante el desarrollo, ejecutarás Eclipse o algún otro IDE con permisos de usuario, pero el despliegue de aplicaciones web en el servidor Tomcat que se instala en todo el sistema requiere permisos de administrador o root.
  1. Descargue el paquete de instalación:

    Apache Tomcat 7.0 (Core Binary Distribution) desde http://tomcat.apache.org/

  2. Descomprima el paquete de Apache Tomcat en un directorio de destino adecuado, tal como C:\dev (Windows) o /opt (Linux o Mac OS X). El directorio de inicio de Apache Tomcat será C:\dev\apache-tomcat-7.0.x ó /opt/apache-tomcat-7.0.x, respectivamente.
2.1.4. Firefox y Firebug

Vaadin soporta muchos navegadores web, y puedes utilizar cualquiera de ellos para el desarrollo. Si vas a crear un tema personalizado, diseños personalizados o nuevos componentes de interfaz de usuario, le recomendamos que utilice Firefox con Firebug para la depuración.

Si no tiene Firefox instalado, vaya a www.getfirefox.com y descargue y ejecute el instalador. En Linux, también puede instalarlo con el administrador de paquetes.

Opcional. Después de instalar Firefox, utilícelo para abrir http://www.getfirebug.com/. Siga las instrucciones en el sitio para instalar la última versión estable de Firebug disponible para el navegador. Puede que tenga que decirle a Firefox que permita la instalación haciendo clic en la barra de advertencia de color amarillo en la parte superior de la ventana del navegador.

Cuando Firebug está instalado, puedes activarlo en cualquier momento desde la esquina inferior derecha de la ventana de Firefox. La Figura 2.2, "Depurador Firebug para Firefox" muestra un ejemplo de como se ve Firebug.

Figura 2.2. Depurador Firebug para Firefox
Ahora que ha instalado el entorno de desarrollo, puedes proceder a la creación de su primera aplicación.



Anterior
1.5. Antecedentes
Siguiente
2.2. Instalar Vaadin

1.5. Antecedentes

El framework Vaadin no fue escrito de la noche a la mañana. Después de trabajar con interfaces de usuario web desde el comienzo de la Web, en el 2000, un grupo de desarrolladores se reunieron para formar IT Mill. El equipo tuvo el deseo de desarrollar un nuevo paradigma de programación que soportaría la creación de interfaces de usuario real para aplicaciones reales utilizando un lenguaje de programación real.

La librería fue originalmente llamada Library Millstone. La primera versión fue utilizada en una aplicación de producción grande que IT Mill diseño e implemento para una empresa farmacéutica internacional. IT Mill hizo la aplicación al rededor del año 2001 y todavía está en uso. Desde entonces, la compañía ha producido docenas de aplicaciones de negocios grandes con la librería y ha demostrado su capacidad para resolver problemas difíciles con facilidad.

La siguiente generación de la librería, IT Mill Toolkit Versión 4, fue lanzada en el 2006. Se introdujo un motor de interpretación completamente nuevo basado en AJAX. Esto permitió el desarrollo de aplicaciones AJAX, sin necesidad de preocuparse por las comunicaciones entre el cliente y el servidor.

Versión 5 a la Luz Pública

IT Mill Toolkit 5, fue lanzada inicialmente a finales del 2007, dio un importante paso más en AJAX. El renderizado del lado del cliente de la interfaz de usuario fue reescrito por completo con GWT, Google Web Toolkit.

IT Mill Toolkit 5 introdujo muchas mejoras significativas tanto en la API del lado del servidor como en la funcionalidad. Reescribir el motor del lado del cliente con GWT permitió el uso de Java, tanto en el cliente como el servidor. La transición de JavaScript a GWT hicieron posible el desarrollo e integración de componentes personalizados y la personalización de componentes existentes mucho más fácil que antes, y esto también permite una fácil integración de los actuales componentes GWT. La adopción de GWT en el lado del cliente no causó, por sí mismo, ningún cambio en la API del lado del servidor, ya que GWT es una tecnología de navegador que se oculta muy por detrás de la API. También se revisó completamente la tematización en IT Mill Toolkit 5.

La versión 5 fue publicada bajo la Licencia Apache 2, una licencia sin restricciones de código abierto, para crear una expansión más rápida del número de usuarios y hacer posible la formación de una comunidad de desarrolladores.

Nacimiento de la Versión 6 de Vaadin

IT Mill Toolkit pasó a llamarse Vaadin Framework, o Vaadin en resumen, en la primavera de 2009. Más tarde la empresa, IT Mill, fue renombrada como Vaadin Ltd. Vaadin significa un reno hembra adulto de montaña semi-domesticada en Finlandés.

Junto con Vaadin 6 fue lanzado el plugin Vaadin para Eclipse. La versión inicial experimental del editor visual, fue incluida con el plugin, desde entonces ha crecido hasta convertirse en la herramienta de desarrollo estable.

Con Vaadin 6, el número de desarrolladores que utilizan el framework realmente explotó. La introducción del Directorio Vaadin a principios del 2010 le dio un nuevo impulso, ya que el número de componentes disponibles se multiplicó de la noche a la mañana. Muchos de los componentes al principio experimentales han madurado desde entonces y ahora son utilizados por miles de desarrolladores. En el 2012, estamos viendo un enorme crecimiento en el ecosistema alrededor de Vaadin. El tamaño de la comunidad de usuarios, por lo menos, si se mide por la actividad en el foro, ya ha ido más allá de la competencia de frameworks del lado del servidor, e incluso de GWT. Si Vaadin ya ha pasado el punto crítico puede verse muy pronto.

Para más detalles técnicos sobre la historia de Vaadin puede encontrarlos en las notas de lanzamiento de cada versión.



Anterior
1.4. Objetivos y Filosofía
Siguiente
Capítulo 2. Primeros Pasos con Vaadin

1.4. Objetivos y Filosofía

En pocas palabras, la ambición de Vaadin es ser la mejor herramienta posible cuando se trate de la creación de interfaces de usuario para aplicaciones web de negocios. Es fácil de adoptar, ya que está diseñado para soportar tanto a nivel novato como a programadores avanzados, así como a expertos en usabilidad y diseñadores gráficos.

Al diseñar Vaadin, hemos seguido la filosofía inscrita en las siguientes reglas.

Herramienta correcta para el objetivo correcto

Debido a que nuestras metas son altas, el enfoque debe ser claro. Este conjunto de herramientas están diseñadas para crear aplicaciones web. No está diseñada para crear sitios web o demos de publicidad. Para tales efectos, puede encontrar (por ejemplo) JSP/JSF o Flash más adecuado.

Simplicidad y facilidad de mantenimiento

Hemos optado por hacer énfasis en la robustez, simplicidad y facilidad de mantenimiento. Esto implica seguir las mejores prácticas bien establecidas en los frameworks de interfaz de usuario y la garantía de que nuestra aplicación representa una solución ideal para su propósito, sin cargar o presumir.

XML no está diseñado para la programación

La Web es de por sí centrada en el documento y muy ligado a las presentaciones declarativas de interfaces de usuario. El framework Vaadin libera al programador de estas limitaciones. Es mucho más natural crear interfaces de usuario mediante la programación que definiéndolos en plantillas declarativas, que no son lo suficientemente flexibles para la interacción compleja y dinámica del usuario.

Las herramientas no deberían limitar su trabajo

No debería haber límites en lo que puedes hacer con el framework: si por alguna razón, los componentes de interfaz de usuario no lo apoyan en lo que necesitas lograr, debe ser fácil añadir otros nuevos para su aplicación. Cuando es necesario crear nuevos componentes, la función del framework es fundamental: se hace más fácil crear componentes reutilizables que son fáciles de mantener.



Anterior
1.3. Soporte para el IDE Eclipse
Siguiente
1.5. Antecedentes

1.3. Soporte para el IDE Eclipse

Si bien, Vaadin no está atado a ningún IDE específico, y de hecho, puede fácilmente usarlo por completo sin ningún tipo de IDE, proporcionamos un soporte especial para el IDE Eclipse, que se ha convertido en el entorno más usado para el desarrollo de Java. El soporte proporcionado en el Plugin Vaadin para Eclipse, le permite:

  • Crear nuevos proyectos Vaadin.
  • Crear temas personalizados.
  • Crear widgets personalizados.
  • Crear componentes compuestos con un diseñador visual.
  • Actualizar fácilmente a una versión más reciente de la librería Vaadin.

El Plugin Vaadin para Eclipse es nuestro método recomendado para instalar Vaadin para desarrollo. Utilizando solamente el JAR o también es posible cargar Vaadin desde un repositorio de Maven.

La instalación y actualización del plugin para Eclipse está cubierto en la Sección 2.2.1, "El Plugin Vaadin para Eclipse" y la creación de un nuevo proyecto utilizando el plugin Vaadin en la Sección 2.3.1, "Crear el Proyecto". Vea la Sección 8.4, "Crear un Tema en Eclipse", la Sección 11.2, "Hacerlo de la Manera Simple en Eclipse", y el Capítulo 7, Diseño Visual de la Interfaz de Usuario con Eclipse para obtener instrucciones sobre el uso de las diferentes características del plugin.



Anterior
1.2. Ejemplo de Aplicación Paso a Paso
Siguiente
1.4. Objetivos y Filosofía

1.2. Ejemplo de Aplicación Paso a Paso

Vamos a seguir la larga tradición de los primeros diciendo "Hola Mundo!" en el aprendizaje de un nuevo entorno de programación.

Ejemplo 1.1. HolaMundo.java
import com.vaadin.ui.Label;
import com.vaadin.ui.Window;

public class HolaMundo extends com.vaadin.Application {

  public void init() {
    Window principal = new Window("Hola ventana");
    setMainWindow(principal);
    principal.addComponent(new Label("¡Hola Mundo!"));
  }
}

Lo primero a resaltar es que cada aplicación Vaadin extiende de la clase com.vaadin.Application. Las instancias de Application son esencialmente las sesiones de usuario, y se crea una para cada usuario que utiliza la aplicación. En el contexto de nuestra aplicación HolaMundo, es suficiente saber que el objeto application es creado cuando el usuario accede por primera vez y en ese momento el método init() es invocado.

La inicialización de la aplicación primero crea un nuevo objeto window y establece "Hola ventana", como su título. "window" se refiere a la ventana o pestaña del navegador, aunque los objetos window también se utilizan cuando las aplicaciones Vaadin son embebidas en páginas HTML. window se establece como la ventana principal de la aplicación; una aplicación en la práctica puede tener muchas ventanas (o pestañas o embebidas). Esto significa que cuando un usuario inicia la aplicación en un navegador, se muestran los contenidos de la "ventana principal" al usuario en la página web. El rótulo se muestra como el título de la ventana (el navegador).

El ejemplo crea un nuevo componente de interfaz de usuario Label. el cual puede mostrar un texto simple, y establece el texto a "¡Hola Mundo!". Finalmente, el label se agrega a la ventana principal. Por lo tanto, cuando la aplicación se abre en un navegador, la página muestra el texto "¡Hola Mundo!".

El resultado de la aplicación Hola Mundo se muestra en la Figura 1.2. Aplicación Hola Mundo.

Figura 1.2. Aplicación Hola Mundo

Observe que el código fuente de ejemplo está completo y no necesita definir ninguna declaración adicional de archivos de plantilla para ejecutarlo. Para ejecutar el programa, puede solamente empaquetarlo como una aplicación web y desplegarlo en un servidor, como se explica en la Sección 4.8, "Configurar el Entorno de la Aplicación".



Anterior
Capítulo 1. Introducción
Siguiente
1.3. Soporte para el IDE Eclipse

Capítulo 1. Introducción

Este capítulo proporciona una introducción al desarrollo de software con Vaadin. Examinamos la filosofía del diseño detrás de Vaadin, su historia, y los últimos cambios importantes.

1.1 Información General

La pieza principal de Vaadin es la librería de Java que está diseñada para facilitar la creación y el mantenimiento de interfaces de usuario de alta calidad basadas en la web. La idea clave en el modelo de programación de Vaadin orientado en el servidor consiste en que este le permite que se olvide de la web y de programar interfaces de usuario como lo haría con cualquier programa de aplicación de escritorio de Java con herramientas convencionales, tales como AWT, Swing o SWT. Pero mucho más fácil.

Mientras que la programación web tradicional es una forma divertida de pasar el tiempo aprendiendo las nuevas tecnologías web, probablemente desee ser productivo y concentrarse en la lógica de la aplicación. Con el modelo de programación basado en el servidor, Vaadin se encarga de la gestión de la interfaz de usuario en el navegador y las comunicaciones AJAX entre el navegador y el servidor. Con el enfoque de Vaadin, no necesita aprender y depurar tecnologías del navegador, tales como HTML o JavaScript.

Figura 1.1. Arquitectura General de Vaadin

La Figura 1.1., "Arquitectura General de Vaadin" ilustra la arquitectura básica de las aplicaciones web hechas con Vaadin. Vaadin consiste en un framework del lado del servidor y un motor del lado del cliente que se ejecuta en el navegador como un programa de JavaScript, renderizando la interfaz de usuario y entregando la interacción del usuario con el servidor. La aplicación se ejecuta como una sesión de Servlets de Java en un servidor de aplicaciones Java.

Debido a que HTML, JavaScript y otras tecnologías de navegador son esencialmente invisibles a la lógica de la aplicación, puede pensar en el navegador web como una sola plataforma de cliente ligero. Un cliente ligero muestra la interfaz de usuario y comunica eventos del usuario con el servidor en un nivel bajo. El control de la lógica de la interfaz de usuario se ejecuta en un servidor web basado en Java, junto con su lógica de negocio. Por el contrario, una arquitectura normal de cliente-servidor con una aplicación cliente dedicada que incluye una gran cantidad de comunicaciones de aplicaciones específicas entre el cliente y el servidor. Esencialmente, eliminando el nivel de la interfaz de usuario de la arquitectura de la aplicación hace nuestro enfoque un método muy eficaz.

Así como el Motor del Lado del Cliente de JavaScript se ejecuta en el navegador, no se necesitan plugins del navegador para usar aplicaciones hechas con Vaadin. Esto le da una ventaja fuerte sobre frameworks basados en Flash, applets de Java, u otros plugins. Vaadin cuenta con el apoyo de GWT para una amplia gama de navegadores, de modo que al desarrollador no tiene que preocuparle la compatibilidad del navegador.

Detrás del modelo de desarrollo impulsado por el servidor, Vaadin hace el mejor uso de las técnicas de AJAX (JavaScript y XML Asíncrono) que hacen posible la creación de Aplicaciones Dinámicas de Internet (RIA) que son tan sensibles e interactivas como aplicaciones de escritorio. Si eres un principiante en AJAX, vea la Sección 3.2.1, "AJAX" para saber qué es y cómo las aplicaciones AJAX se diferencian de las aplicaciones web tradicionales.

Ocultos y bajo la capucha, Vaadin utiliza GWT, Google Web Toolkit, para renderizar la interfaz de usuario en el navegador. Los programas GWT están escritos en Java, pero compilados en JavaScript, liberando así al desarrollador de aprender JavaScript y otras tecnologías del navegador. GWT es ideal para implementar componentes avanzados de interfaz de usuario (o widgets en la terminología GWT) y la lógica de interacción en el navegador, mientras que Vaadin se encarga de la lógica de la aplicación real en el servidor. Vaadin está diseñado para ser extensible, y en efecto fácilmente puede utilizar cualquier tercera parte de los componentes GWT, además del repertorio de componentes ofrecidos en Vaadin. El uso de GWT significa también que todo el código tiene que ser escrito en Java puro.

El Framework Vaadin define una clara separación entre la presentación de la interfaz de usuario y la lógica y le permite desarrollarla por separado. Nuestro enfoque para esto son los temas, que determinan la apariencia visual de las aplicaciones. Los temas controlan el aspecto de las interfaces de usuario utilizando CSS y plantillas de páginas HTML (opcionales). Como Vaadin proporciona excelentes temas predeterminados, por lo general no necesita hacer mucha personalización, pero puede hacerlo si lo necesita. Para más información sobre temas, véase el Capítulo 8, Temas.

Esperamos que esto sea suficiente acerca de las características y la arquitectura básica de Vaadin por ahora. Puede leer más sobre esto más adelante en el Capítulo 3, Arquitectura, o saltar directamente a cosas más prácticas en el Capítulo 4, Escribir una Aplicación Web.



Anterior
Parte I: El Núcleo del Framework Vaadin
Siguiente
1.2. Ejemplo de Aplicación Paso a Paso





Parte I: El Núcleo del Framework Vaadin



Anterior
Prólogo
Siguiente
Capítulo 1. Introducción

Prólogo
Este libro ofrece una visión general del Framework Vaadin y cubre los temas más importantes que pueden surgir en el desarrollo de aplicaciones con él. Una documentación más detallada de las distintas clases, interfaces y métodos figura en la Referencia del API de Vaadin.

Escribir este manual es un trabajo continuo y pocas veces se encuentra totalmente actualizado con la rápida evolución del producto. Esta revisión representa un instante en el tiempo mientras se trabaja hacia Vaadin 6.8. Después de la 4ta Edición original, el libro se ha reorganizado en dos partes de modo que la Parte I documenta el núcleo del framework y la segunda parte los componentes de los complementos oficiales.

Usted puede ver una versión en línea de este libro en el sitio web de Vaadin http://vaadin.com/book. También puede encontrar allí las versiones del libro en formato PDF y EPUB. Puede encontrar otras versiones con más facilidades de búsqueda que este libro impreso, pero el contenido es el mismo.

Esta edición incluye un índice, que aún no ha concluido. Se está trabajando en muchas secciones y será ampliado en el futuro.

¿Para Quién es Este Libro?

Este libro está dirigido a desarrolladores de software que utilizan, o están considerando usar, Vaadin para desarrollar aplicaciones web.

El libro asume que tiene alguna experiencia con la programación en Java, pero si no, es tan fácil empezar a aprender Java con Vaadin como con cualquier otro framework de interfaz de usuario (UI), si no más fácil. No es necesario tener conocimientos de AJAX, ya que está bien escondido del programador.

Puede que haya utilizado algunos frameworks de interfaz de usuario orientado al escritorio para Java, como AWT, Swing o SWT. O una librería como Qt para C++. Tal conocimiento es útil para comprender el alcance de Vaadin, el modelo de programación orientada a eventos, y otros conceptos comunes de los frameworks de interfaz de usuario, pero no es necesario.

Si no tiene un diseñador gráfico web a la mano, puede ayudarle conocer lo básico de HTML y CSS, de modo que pueda desarrollar temas de presentación para su aplicación. Se proporciona una breve introducción a CSS. Puede serle útil conocer acerca de Google Web Toolkit (GWT) si desarrolla o integra nuevos componentes del lado del cliente.

Organización de Este Libro

El Libro de Vaadin proporciona una introducción a lo que es Vaadin y cómo utilizarlo para desarrollar aplicaciones web.

Parte I: El Núcleo del Framework Vaadin

Capítulo 1, Introducción
Este capítulo proporciona una introducción a la arquitectura de la aplicación con el soporte de Vaadin, las ideas del diseño básico detrás del framework, y algunos antecedentes históricos.

Capítulo 2, Primeros Pasos con Vaadin
Este capítulo proporciona instrucciones prácticas para la instalación de Vaadin y referencia a las herramientas de programación, incluyendo el plugin Vaadin para Eclipse, cómo ejecutar y depurar las demostraciones, y cómo crear su propio proyecto de aplicación en el IDE Eclipse.

Capítulo 3, Arquitectura
Este capítulo proporciona una introducción a la arquitectura de Vaadin y sus principales tecnologías, incluyendo AJAX, Google Web Toolkit, JSON, y la programación orientada a eventos.

Capítulo 4, Escribir una Aplicación Web
Este capítulo proporciona todos los conocimientos prácticos necesarios para la creación de aplicaciones con Vaadin, tales como la gestión de ventanas, ciclo de vida de la aplicación, su despliegue en un contenedor de servlets, y la gestión de eventos, errores y recursos.

Capítulo 5, Componentes de Interfaz de Usuario
Este capítulo proporciona esencialmente la documentación de referencia para todos los componentes básicos de la interfaz de usuario en Vaadin y sus características más significativas. El texto proporciona ejemplos para el uso de cada uno de los componentes.

Capítulo 6,
En este capítulo se describen los componentes de diseño, que se utilizan para la administración del diseño de la interfaz de usuario, como en cualquier framework de aplicación de escritorio.

Capítulo 7,
Este capítulo proporciona instrucciones para utilizar el editor visual para Eclipse, que está incluido en el plugin Vaadin para el IDE Eclipse.

Capítulo 8,
En este capítulo se proporciona una introducción a las Hojas de Estilo en Cascada (CSS) y explica cómo se pueden utilizar para crear temas visuales personalizados para su aplicación.

Capítulo 9,
En este capítulo se proporciona una visión general del modelo de datos incorporado en Vaadin, que consiste en propiedades, ítems y contenedores.

Capítulo 10,
En este capitulo se proporciona una documentación para SQLContainer, el cual permite vincular los componentes de Vaadin a las consultas SQL.

Capítulo 11,
En este capítulo se describe el proceso para crear nuevos widgets del lado del cliente con Google Web Toolkit (GWT) e integrarlos con su equivalente del lado del servidor. El capítulo también proporciona instrucciones prácticas para la creación de proyectos widget en Eclipse, y usar el Modo de Desarrollo GWT para depurar los widgets.

Capítulo 12,
Este capítulo proporciona muchos temas especiales que son comúnmente necesarios en aplicaciones, tales como abrir nuevas ventanas del navegador, incorporar aplicaciones en páginas web normales, administracion de recursos de bajo nivel, teclas de acceso directo, depuración, etc.

Capítulo 13,
En este capitulo se describe el desarrollo de aplicaciones Vaadin como portlets que se pueden desplegar en cualquier portal que soporte Java Portlet API 2.0 (JSR-286). El capítulo también describe el soporte especial para Liferay y el Panel de Control, IPC, y complementos WSRP.

Capítulo 14,
Este capitulo es un tutorial para un desarrollo rápido de aplicaciones Vaadin con Spring Roo y el Plugin Vaadin para Eclipse. El tutorial incluye aspectos como la internacionalización, pruebas, y vinculación a base de datos con el complemento JPAContainer.

Parte II: Complementos Vaadin

Capítulo 15,
Este capitulo proporciona instrucciones para descargar e instalar los componentes del complemento desde el Directorio de Vaadin.

Capítulo 16,
Este capítulo proporciona documentación para desarrolladores para el componente del complemento Calendar.

Capítulo 17,
Este capítulo proporciona una introducción al componente del complemento Timeline. La documentación completa está incluida en el manual del producto.

Capítulo 18,
Este capítulo proporciona documentación para el complemento JPAContainer, el cual permite vincular los componentes de Vaadin directamente a las bases de datos relacionales y otras utilizando Java Persistence API (JPA).

Capítulo 19,
Este capítulo proporciona ejemplos y documentación de referencia para el uso del complemento Vaadin TouchKit para el desarrollo de aplicaciones móviles.

Capítulo 20,
Este capítulo proporciona la documentación completa para el uso de la herramienta Vaadin TestBench para la grabación y ejecución de pruebas de regresión de interfaz de usuario para aplicaciones Vaadin.

Apéndice A,
En este apéndice se proporciona un resumen del lenguaje de mensajería de bajo nivel UIDL, normalmente oculto para el desarrollador. El capítulo incluye la descripción de la API de serialización necesaria para sincronizar el estado del componente entre los componentes del lado del cliente y del lado del servidor.

Apéndice B,
Antecedentes mitológicos del nombre de Vaadin.

Material Complementario

Los sitios web de Vaadin ofrecen un montón de material que le puede ayudar a entender que es Vaadin, lo que puede hacer con él, y cómo puede hacerlo.

Aplicaciones de Demostración
La aplicación de demostración más importante para Vaadin es Sampler, la cual demuestra el uso de todos los componentes y características básicas. Puede ejecutarlo en línea en http://demo.vaadin.com/ o descargarlo como un archivo WAR de la página de descarga de Vaadin.

La mayor parte de los ejemplos de código de este libro y muchos otros se pueden encontrar en línea en http://demo.vaadin.com/book-examples/book/.

Apunte Escondido
El apunte escondido de dos-páginas muestra la jerarquía de la relación básica de la interfaz de usuario y clases de vinculación a datos e interfaces. Se puede descargar en http://dev.vaadin.com/browser/doc/trunk/cheatsheet/vaadin-cheatsheet-duplex.pdf.

Refcard
Las seis páginas de DZone Refcardz ofrecen una visión general del desarrollo de aplicaciones con Vaadin. Incluye un diagrama de la interfaz de usuario y clases de vinculación a datos e interfaces. Puede encontrar más información al respecto en https://vaadin.com/refcard.

Tutorial Libreta de Direcciones
La Libreta de Direcciones es una aplicación de ejemplo acompañada de un tutorial que proporciona instrucciones detalladas paso a paso para crear una aplicación web de la vida real con Vaadin. Puede encontrar el tutorial en la página web del producto.

Sitio Web del Desarrollador
El Sitio del Desarrollador de Vaadin en http://dev.vaadin.com/ proporciona varios recursos en línea, tales como el sistema de tickets, wiki de desarrollo, repositorio de código fuente, cronograma de actividades, etapas de desarrollo, etcétera.

El wiki proporciona instrucciones para los desarrolladores, especialmente para aquellos que desean comprobar y compilar Vaadin propiamente desde el repositorio de código fuente. Los artículos técnicos tratan de la integración de aplicaciones Vaadin con diversos sistemas, tales como JSP, Maven, Spring, Hibernate, y portales. El wiki también ofrece Respuestas a las Preguntas más Frecuentes (FAQ).

Documentación en Línea
Puede leer este libro en línea en http://vaadin.com/book. Gran cantidad de material adicional, incluyendo HOWTO's técnicos, Respuestas a las Preguntas más Frecuentes y otra documentación también está disponible en el sitio web Vaadin.

Soporte

¿Atascado con un problema? No hay necesidad de perder el pelo, la comunidad de desarrollo del Framework Vaadin y la empresa Vaadin ofrece soporte para todas sus necesidades.

Foro Comunitario de Soporte
Puede encontrar el usuario y el foro de la comunidad de desarrolladores de Vaadin en http://vaadin.com/forum. Por favor, utilice el foro para discutir cualquier problema que pueda surgirle, deseos de características, y así sucesivamente. La respuesta a sus problemas puede que ya estén en los archivos del foro, por lo que buscar en los debates siempre es la mejor manera de empezar.

Reporte de Errores
Si ha encontrado un posible fallo en Vaadin, aplicaciones de demostración, o la documentación, por favor informe llenando un ticket en el sitio de desarrollo de Vaadin en http://dev.vaadin.com/. Es posible que desee comprobar los tickets existentes antes de presentar uno nuevo. También puede hacer un ticket para hacer una solicitud de una nueva característica, o para sugerir modificaciones en una ya existente.

Soporte Comercial
Vaadin ofrece soporte comercial completo y servicios de capacitación para el Framework Vaadin y productos relacionados. Para más detalles lea más acerca de los productos comerciales en http://vaadin.com/pro.

Acerca del Autor

Marko Grönroos es un escritor profesional y desarrollador de software que trabajan en Vaadin Ltd en Turku, Finlandia. Ha estado involucrado en el desarrollo de aplicaciones web desde 1994 y ha trabajado en varios frameworks de desarrollo de aplicaciones en C, C++ y Java. Ha participado activamente en muchos proyectos de software de código abierto y tiene una Maestría Licenciada en Ciencias de la Computación de la Universidad de Turku.

Agradecimientos

Gran parte del libro es el resultado del trabajo en conjunto con el equipo de desarrollo de Vaadin Ltd. Joonas Lehtinen, Consejero Delegado de Vaadin Ltd, escribió el primer esbozo del libro, que se convirtió en la base de los dos primeros capítulos. Desde entonces, Marko Grönroos se ha convertido en el autor principal. El equipo de desarrollo ha contribuido en varios pasajes, respondió numerosas preguntas técnicas, revisó el manual, e hizo muchas correcciones.

Los colaboradores son (en orden cronológico):
  • Joonas Lehtinen
    Jani Laakso
    Marko Grönroos
    Jouni Koivuviita
    Matti Tahvonen
    Artur Signell
    Marc Englund
    Henri Sara
    Jonatan Kronqvist
    Mikael Grankvist (TestBench)
    Teppo Kurki (SQLContainer)
    Tomi Virtanen (Calendar)
    Risto Yrjänä (Calendar)
    John Ahlroos (Timeline)
    Petter Holmström (JPAContainer)

Acerca de Vaadin Ltd
Vaadin Ltd es una compañía de software Finlandesa especializada en el diseño y desarrollo de Aplicaciones Dinámicas de Internet. La compañía ofrece la planificación, implementación y servicios de soporte a los proyectos de software de sus clientes, así como el desarrollo de la subcontratación de software. El Framework Vaadin, antes conocido como IT Mill Toolkit, es el producto estrella de código abierto de la compañía, el cual proporciona desarrollo comercial y servicios de soporte.



Anterior
El Libro de Vaadin
Siguiente
Parte I: El Núcleo del Framework Vaadin