SlideShare una empresa de Scribd logo
Tema I
Comenzando con
    GWT



        Willy Hurtado Vela
• Comprender la razones del uso de
  GWT.
• Conocer sus ventajas y desventajas.
• Adquirir la habilidad de crear
  proyectos GWT en eclipse.



Objetivos
1. ¿Por qué usar GWT?
       1.1. ¿Por qué Java?
       1.2. Algunas Desventajas Actuales
 2. Componentes GWT
       2.1. Compilador
       2.2. Librería JRE – Emulación
       2.3. Librería UI
3. Creando un proyecto GWT
       3.1. Arquitectura de un proyecto
       3.2. Archivo de configuración GWT
       3.3. Punto de entrada
       3.4. Servicios GWT

Contenido
3.5. GWT Plugin para Eclipse
  3.6. GWT Plugin para navegadores
  3.7. Corriendo y desplegando código




Contenido
1. ¿Porque usar GWT?
Navegador Web            Servidor Web/Aplicaciones

Tecnología                      CSS
                                HTML
   desde         CSS            Javascript
                                               JSP
                                               JSF
  Cliente      HTML             Datos          PHP
              Javascript                       ASP


                                               Servlet
Tecnología      CSS
                                                PHP
                                Datos          Python
    del       HTML                              JMS
  Cliente    Javascript                      WebServices
                                              RESTful
     GWT, Pyjamas, Openlaszlo


                   1. ¿Porque usar GWT?
• Desarrollo del lado del cliente.
• Codificas en java y tienes un compilado en javascript
• Interfaz gráfica de usuario esta a nivel del las
  aplicaciones de escritorio pero en Aplicaciones Web.
• Mínimas necesidades de interacción con el código del
  servidor
• Código rápido y mejor que un humano pueda
  escribir.
• Código compilado multi navegador.



                 1. ¿Porque usar GWT?
• Lenguaje de alto nivel, fácil de mapear los diseños.

• Curva de aprendizaje para GWT no es difícil.

• Evitar el uso de javascript de aprovechar las
  capacidad de corrección de errores (Debugging).

• Fácil de acoplar a las metodologías agiles como XP y
  Scrum. A tiempo de usar TDD y JUnit

• Aprovechar las técnicas comunes de la programación
  en Escritorio, como Swing, SWT, etc.


1.1. ¿Por qué Java?
                  1. ¿Porque usar GWT?
• Las paginas web no son indexsables por los motores
  de búsqueda

• Las páginas GWT no se degradan correctamente en
  navegadores antiguos.

• Son mas propensos a ataques por javascript

• Desarrollo y compilación es lenta.




                 1. ¿Porque usar GWT?
Interfaz de Usuario

 Emulación Librería JRE

Compilador Java - Javascript



        2. Componentes GWT
Navegadores Soportados



   Safari - Todas                     Chrome - Todas                 IE 6-8



                    Firefox - Todas                    Opera > 9.x

Optimizaciones del compilador

     Propagar Copia               Código Muerto            Código Revestido

                Plegar Constantes            Internación de Cadenas


  2.1. Compilador Java - Javascript
                                  2. Componentes GWT
java.lang
   java.lang.annotation
   java.util
   java.io
   java.sql
https://developers.google.com/web-toolkit/doc/1.6/RefJreEmulation

 2.2. Emulación Librería JRE
                       2. Componentes GWT
2.3. Interfaz de Usuario
               2. Componentes GWT
C:proyectosmiProyectowebAppCreator -out StockWatcher
Comando
                -junit "C:eclipsepluginsorg.junit_3.8.2.v200706111738junit.jar"
webAppCreator
                com.google.gwt.sample.stockwatcher.StockWatcher




                                  GWT Plugin                  Proyecto GWT
                                  para eclipse


                    C:proyectosmiProyectomvn archetype:generate 
                    -DarchetypeGroupId=org.codehaus.mojo 
                    -DarchetypeArtifactId=gwt-maven-plugin 
                    -DarchetypeVersion=2.5.0-rc2



                  3. Creando un proyecto GWT
Código fuente cliente y servidor

                                                      Librerías Java
                                            Librerías GWT



              Contenido del web para despliegue




3.1. Arquitectura de un Proyecto
           3. Creando un proyecto GWT
Configuración de lado cliente

Código cliente
                                          Punto de entrada EntryPoint
                                            Servicios RPC

Código servidor                            Implementación del Servicio

                                         Librerías GWT

                       Contenido del web para despliegue

                            Conjuntos de librerías (jars) para despliegue

                                 Configuración de lado servidor
                                  Estilos CSS
                                   HTML principal
    3.1. Arquitectura de un Proyecto
                  3. Creando un proyecto GWT
Archivo xml

     Etiqueda de un modulo GWT

          Herencia de módulos

 <?xml version="1.0" encoding="UTF-8"?>
 <!-- <module rename-to='proyectogwt'> -->
 <module>

        <inherits name="com.google.gwt.user.User"/>
        <inherits name="com.google.gwt.user.theme.standard.Standard"/>

       <entry-point class="com.mycompany.project.client.ModuloGWT"/>
 </module>


Declaracion anternativa de un módulo         Clase main – Punto de entrada


   3.2. Archivo de configuración GWT
                      3. Creando un proyecto GWT
<?xml version="1.0" encoding="UTF-8"?>
<module>

      <inherits name="com.google.gwt.user.User"/>
      <inherits name="com.google.gwt.user.theme.standard.Standard"/>

      <entry-point class="com.mycompany.project.client.ModuloGWT"/>
</module>



 /**
   * Clase punto de entrada que define <code>onModuleLoad()</code>.
   */
 public class ModuloGWT implements EntryPoint {
        public void onModuleLoad() {
               Window.alert("Hola mundo con GWT");
        }
 }



    3.3. Punto de entrada
                    3. Creando un proyecto GWT
Cliente               Servidor




3.4. Servicios GWT
           3. Creando un proyecto GWT
ServicioGWTRPC.java
@RemoteServiceRelativePath("ServicioGWTRPC")
public interface ServicioGWTRPC extends RemoteService {

         public BigDecimal calcularIntereses(Long idUsuario);

}


                                web.xml
<servlet>
      <servlet-name>ServicioGWTRPC</servlet-name>
      <servlet-class>com.mycompany.project.server.ServicioGWTRPCImpl</servlet-class>
</servlet>
<servlet-mapping>
      <servlet-name>ServicioGWTRPC</servlet-name>
      <url-pattern>/com.mycompany.project.ModuloGWT/ServicioGWTRPC</url-pattern>
</servlet-mapping>



    3.4. Servicios GWT
                      3. Creando un proyecto GWT
GWT Plugin
                                 para eclipse




                                 GWT Designer




3.5. GWT Plugin para Eclipse
           3. Creando un proyecto GWT
3.6. GWT Plugin para Navegadores
          3. Creando un proyecto GWT
GWT Plugin
                  para eclipse




3.7. GWT Corriendo y Desplegando código
          3. Creando un proyecto GWT
GWT Designer




3.7. GWT Corriendo y Desplegando código
                3. Creando un proyecto GWT
• Essential GWT. Building for Web the Google Web Toolkit
  2. Federico Kereki. 322p. Addison-Wesley

• Google Web Toolkit. https://developers.google.com/web-
  toolkit

• Java Community Process (JSR). http://www.jcp.org

• Eclipse. http://www.eclipse.org




 Bibliografía

Más contenido relacionado

PDF
Desarrollo de aplicaciones web con Google Web Toolkit
PDF
Desarrollo de aplicaciones Web 2.0 Google Web Toolkit
PPTX
PPT
Desarrollo de aplicaciones AJAX con GWT
PPTX
Desarrollo de Aplicaciones Web 2.0 con GWT
PDF
Presentacion Google Web Toolkit
PDF
GWT y SmartGWT - Introducción
PDF
Aprendiendo GWT
Desarrollo de aplicaciones web con Google Web Toolkit
Desarrollo de aplicaciones Web 2.0 Google Web Toolkit
Desarrollo de aplicaciones AJAX con GWT
Desarrollo de Aplicaciones Web 2.0 con GWT
Presentacion Google Web Toolkit
GWT y SmartGWT - Introducción
Aprendiendo GWT

La actualidad más candente (19)

PDF
Gwt seminario java_hispano_manolocarrasco
PDF
Gwt I - entendiendo gwt
PDF
GWT: Why GWT, GQuery, and RequestFactory
PDF
Manual jquery
PPTX
WebRTC y Kurento en el T3cgFest 2015
PDF
OpenVidu Commitconf 2018
PDF
WebRTC en tu web con OpenVidu
PDF
J query el framework de la web luc van lancker-1504
PPTX
Java completo y agragado
PDF
¿Cómo poner software de calidad en manos del usuario de forma rápida?
PDF
Deletreando Android
PDF
Google Web Toolkit (GWT) en entornos empresariales
PDF
Migrando a Android O
PDF
Dev Tools para Kubernetes - Codemotion 2019
PPTX
Java Scripts
PPTX
Proyect Evenge. Event manager
PPTX
Mi lenguaje de Programación de Preferencia: Javascript
PDF
Genasys sigte2011 open_geogadget_framework (OGF)
PPTX
Dreamweaver
Gwt seminario java_hispano_manolocarrasco
Gwt I - entendiendo gwt
GWT: Why GWT, GQuery, and RequestFactory
Manual jquery
WebRTC y Kurento en el T3cgFest 2015
OpenVidu Commitconf 2018
WebRTC en tu web con OpenVidu
J query el framework de la web luc van lancker-1504
Java completo y agragado
¿Cómo poner software de calidad en manos del usuario de forma rápida?
Deletreando Android
Google Web Toolkit (GWT) en entornos empresariales
Migrando a Android O
Dev Tools para Kubernetes - Codemotion 2019
Java Scripts
Proyect Evenge. Event manager
Mi lenguaje de Programación de Preferencia: Javascript
Genasys sigte2011 open_geogadget_framework (OGF)
Dreamweaver
Publicidad

Destacado (15)

PPT
PPTX
Aplicaciones de escritorio con base de datos
PPT
Introduccion Aplicaciones Web en java j2ee
PPTX
Línea del tiempo sobre los Sistemas Gestores de Bases de Datos
PDF
63997661 tecnologia-cliente-servidor-con-java
PPTX
Resolucion del monitor
PDF
2.trabajando connavegadores
PDF
Programacion web java
PPTX
Cuidado e instalación de cartuchos de tinta
PDF
Manual de Netbeans
PDF
Java web Lección 04 - JSTL
PDF
Java web 01 - servlets
PDF
Java Web Lección 02 - JSP
PDF
Java Web Lección 03 - MVC
PDF
Java Web 00 - Contexto
Aplicaciones de escritorio con base de datos
Introduccion Aplicaciones Web en java j2ee
Línea del tiempo sobre los Sistemas Gestores de Bases de Datos
63997661 tecnologia-cliente-servidor-con-java
Resolucion del monitor
2.trabajando connavegadores
Programacion web java
Cuidado e instalación de cartuchos de tinta
Manual de Netbeans
Java web Lección 04 - JSTL
Java web 01 - servlets
Java Web Lección 02 - JSP
Java Web Lección 03 - MVC
Java Web 00 - Contexto
Publicidad

Similar a Comenzando con GWT (20)

PDF
Gwt II - trabajando con gwt
PDF
Gwt intro adwe_murcia
PDF
Gwt III - Avanzado
PDF
GWT - Una introducción
PPTX
PPTX
Exposicion GWT
PPT
Imagina Upna 2010
PPS
Google Web Toolkit
PDF
Gwt manual de instalacion
PDF
SERVLET BASICS
PPTX
Presentacion Tesis
PDF
GWT - EL ESCRITORIO EN LA WEB
PDF
Java Primeros Pasos Revista- Edición 2
PPTX
Charla
PDF
PDF
200405 - Aplicaciones Web
PDF
Tutor Java Web
PDF
Serlets java pre
PDF
Serlets java pre
Gwt II - trabajando con gwt
Gwt intro adwe_murcia
Gwt III - Avanzado
GWT - Una introducción
Exposicion GWT
Imagina Upna 2010
Google Web Toolkit
Gwt manual de instalacion
SERVLET BASICS
Presentacion Tesis
GWT - EL ESCRITORIO EN LA WEB
Java Primeros Pasos Revista- Edición 2
Charla
200405 - Aplicaciones Web
Tutor Java Web
Serlets java pre
Serlets java pre

Comenzando con GWT

  • 1. Tema I Comenzando con GWT Willy Hurtado Vela
  • 2. • Comprender la razones del uso de GWT. • Conocer sus ventajas y desventajas. • Adquirir la habilidad de crear proyectos GWT en eclipse. Objetivos
  • 3. 1. ¿Por qué usar GWT? 1.1. ¿Por qué Java? 1.2. Algunas Desventajas Actuales 2. Componentes GWT 2.1. Compilador 2.2. Librería JRE – Emulación 2.3. Librería UI 3. Creando un proyecto GWT 3.1. Arquitectura de un proyecto 3.2. Archivo de configuración GWT 3.3. Punto de entrada 3.4. Servicios GWT Contenido
  • 4. 3.5. GWT Plugin para Eclipse 3.6. GWT Plugin para navegadores 3.7. Corriendo y desplegando código Contenido
  • 6. Navegador Web Servidor Web/Aplicaciones Tecnología CSS HTML desde CSS Javascript JSP JSF Cliente HTML Datos PHP Javascript ASP Servlet Tecnología CSS PHP Datos Python del HTML JMS Cliente Javascript WebServices RESTful GWT, Pyjamas, Openlaszlo 1. ¿Porque usar GWT?
  • 7. • Desarrollo del lado del cliente. • Codificas en java y tienes un compilado en javascript • Interfaz gráfica de usuario esta a nivel del las aplicaciones de escritorio pero en Aplicaciones Web. • Mínimas necesidades de interacción con el código del servidor • Código rápido y mejor que un humano pueda escribir. • Código compilado multi navegador. 1. ¿Porque usar GWT?
  • 8. • Lenguaje de alto nivel, fácil de mapear los diseños. • Curva de aprendizaje para GWT no es difícil. • Evitar el uso de javascript de aprovechar las capacidad de corrección de errores (Debugging). • Fácil de acoplar a las metodologías agiles como XP y Scrum. A tiempo de usar TDD y JUnit • Aprovechar las técnicas comunes de la programación en Escritorio, como Swing, SWT, etc. 1.1. ¿Por qué Java? 1. ¿Porque usar GWT?
  • 9. • Las paginas web no son indexsables por los motores de búsqueda • Las páginas GWT no se degradan correctamente en navegadores antiguos. • Son mas propensos a ataques por javascript • Desarrollo y compilación es lenta. 1. ¿Porque usar GWT?
  • 10. Interfaz de Usuario Emulación Librería JRE Compilador Java - Javascript 2. Componentes GWT
  • 11. Navegadores Soportados Safari - Todas Chrome - Todas IE 6-8 Firefox - Todas Opera > 9.x Optimizaciones del compilador Propagar Copia Código Muerto Código Revestido Plegar Constantes Internación de Cadenas 2.1. Compilador Java - Javascript 2. Componentes GWT
  • 12. java.lang java.lang.annotation java.util java.io java.sql https://developers.google.com/web-toolkit/doc/1.6/RefJreEmulation 2.2. Emulación Librería JRE 2. Componentes GWT
  • 13. 2.3. Interfaz de Usuario 2. Componentes GWT
  • 14. C:proyectosmiProyectowebAppCreator -out StockWatcher Comando -junit "C:eclipsepluginsorg.junit_3.8.2.v200706111738junit.jar" webAppCreator com.google.gwt.sample.stockwatcher.StockWatcher GWT Plugin Proyecto GWT para eclipse C:proyectosmiProyectomvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo -DarchetypeArtifactId=gwt-maven-plugin -DarchetypeVersion=2.5.0-rc2 3. Creando un proyecto GWT
  • 15. Código fuente cliente y servidor Librerías Java Librerías GWT Contenido del web para despliegue 3.1. Arquitectura de un Proyecto 3. Creando un proyecto GWT
  • 16. Configuración de lado cliente Código cliente Punto de entrada EntryPoint Servicios RPC Código servidor Implementación del Servicio Librerías GWT Contenido del web para despliegue Conjuntos de librerías (jars) para despliegue Configuración de lado servidor Estilos CSS HTML principal 3.1. Arquitectura de un Proyecto 3. Creando un proyecto GWT
  • 17. Archivo xml Etiqueda de un modulo GWT Herencia de módulos <?xml version="1.0" encoding="UTF-8"?> <!-- <module rename-to='proyectogwt'> --> <module> <inherits name="com.google.gwt.user.User"/> <inherits name="com.google.gwt.user.theme.standard.Standard"/> <entry-point class="com.mycompany.project.client.ModuloGWT"/> </module> Declaracion anternativa de un módulo Clase main – Punto de entrada 3.2. Archivo de configuración GWT 3. Creando un proyecto GWT
  • 18. <?xml version="1.0" encoding="UTF-8"?> <module> <inherits name="com.google.gwt.user.User"/> <inherits name="com.google.gwt.user.theme.standard.Standard"/> <entry-point class="com.mycompany.project.client.ModuloGWT"/> </module> /** * Clase punto de entrada que define <code>onModuleLoad()</code>. */ public class ModuloGWT implements EntryPoint { public void onModuleLoad() { Window.alert("Hola mundo con GWT"); } } 3.3. Punto de entrada 3. Creando un proyecto GWT
  • 19. Cliente Servidor 3.4. Servicios GWT 3. Creando un proyecto GWT
  • 20. ServicioGWTRPC.java @RemoteServiceRelativePath("ServicioGWTRPC") public interface ServicioGWTRPC extends RemoteService { public BigDecimal calcularIntereses(Long idUsuario); } web.xml <servlet> <servlet-name>ServicioGWTRPC</servlet-name> <servlet-class>com.mycompany.project.server.ServicioGWTRPCImpl</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServicioGWTRPC</servlet-name> <url-pattern>/com.mycompany.project.ModuloGWT/ServicioGWTRPC</url-pattern> </servlet-mapping> 3.4. Servicios GWT 3. Creando un proyecto GWT
  • 21. GWT Plugin para eclipse GWT Designer 3.5. GWT Plugin para Eclipse 3. Creando un proyecto GWT
  • 22. 3.6. GWT Plugin para Navegadores 3. Creando un proyecto GWT
  • 23. GWT Plugin para eclipse 3.7. GWT Corriendo y Desplegando código 3. Creando un proyecto GWT
  • 24. GWT Designer 3.7. GWT Corriendo y Desplegando código 3. Creando un proyecto GWT
  • 25. • Essential GWT. Building for Web the Google Web Toolkit 2. Federico Kereki. 322p. Addison-Wesley • Google Web Toolkit. https://developers.google.com/web- toolkit • Java Community Process (JSR). http://www.jcp.org • Eclipse. http://www.eclipse.org Bibliografía