Compilaci n y depuraci n modos de ejecuci n gwt google web toolkit prof ing esteban ram rez
This presentation is the property of its rightful owner.
Sponsored Links
1 / 46

Compilación y depuración Modos de ejecución GWT Google Web Toolkit Prof. Ing. Esteban Ramírez PowerPoint PPT Presentation


  • 57 Views
  • Uploaded on
  • Presentation posted in: General

Compilación y depuración Modos de ejecución GWT Google Web Toolkit Prof. Ing. Esteban Ramírez. Contenido. Etapas de un proyecto GWT. Debugging in Development Mode. Compilador GWT. Code Spliting. GWT History Mechanism. Etapas de un proyecto GWT. Etapas de un proyecto GWT.

Download Presentation

Compilación y depuración Modos de ejecución GWT Google Web Toolkit Prof. Ing. Esteban Ramírez

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Compilaci n y depuraci n modos de ejecuci n gwt google web toolkit prof ing esteban ram rez

Compilación y depuraciónModos de ejecuciónGWTGoogle Web ToolkitProf. Ing. Esteban Ramírez


Contenido

Contenido

Etapas de un proyecto GWT

Debugging in Development Mode.

Compilador GWT

Code Spliting

GWT History Mechanism


Etapas de un proyecto gwt

Etapas de un proyecto GWT


Etapas de un proyecto gwt1

Etapas de un proyecto GWT


Debugging in development mode

Debugging in Development Mode

Debug

Run


Run development mode

Run - Development Mode

Run

Static

Content

HTTP

SERVER

Servlets

Developer

PlugIn

IDE

ClientSide

Code

CODE

SERVER


Run development mode1

Run - Development Mode

Static

Content

HTTP

SERVER

Servlets

Developer

PlugIn

IDE

ClientSide

Code

CODE

SERVER

Jetty is a pure Java-based 

HTTP server and Servlet container


Development mode gwt

Development Mode - GWT


Development mode gwt1

Development Mode - GWT


Development mode gwt2

Development Mode - GWT


Development mode gwt3

Development Mode - GWT


Development mode eclipse

Development Mode - Eclipse


Development mode eclipse1

Development Mode - Eclipse


Development mode chrome plugin

Development Mode – Chrome Plugin

En caso que el servidor no este disponible

el Plugin emite este mensaje.


Debug in development mode

Debug - in Development Mode

Debug


Debug in development mode1

Debug - in Development Mode

Terminate

Suspend

Resume

StepInto (F5)

StepReturn (F7)

Use stepfilters

Droptoframe

StepOver (F6)


Compilador

Compilador

Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación.

Lenguaje 2

Lenguaje 1

http://es.wikipedia.org/wiki/Compilador


Compilador gwt

Compilador GWT


Compilador javascript

CompiladorjavaScript


Compilador javascript detailed

CompiladorjavaScript - Detailed

java.lang.StringBufferappend(String valor)


Compilador javascript pretty

CompiladorjavaScript - Pretty

java.lang.StringBufferappend(String valor)


Compilador javascript obfuscated

CompiladorjavaScript - Obfuscated

java.lang.StringBufferappend(String valor)


Compilador javascript1

CompiladorjavaScript


Compilador javascript2

CompiladorjavaScript


Compilador javascript3

CompiladorjavaScript


Compilador javascript4

CompiladorjavaScript

<Module>.nocache.js

<MD5>.cache.html

<MD5>.gwt.rpc

Host HTML <Module>.html


Compilador javascript5

CompiladorjavaScript


Compilador javascript6

CompiladorjavaScript

  • Optimizaciones:

    • DeadCodeElimination.

    • ConstantFolding.

      • Window.alert( “Hello” + “World”)

      • $wnd.alert(“HelloWorld”)

    • CopyPropagation.

      • a=15; int b= a*a+5;

      • a=15; b=230

    • StringInterning.

    • CodeInlining.

    • Monolithiccompilation


Compilador javascript7

CompiladorjavaScript

  • Puntos a tener en cuenta:

    • Paquetes soportados en client – side:

      • java.lang(includes exceptions, classes, general utility methods)

      • java.util(three classes useful for date/time processing)

      • java.io (sorely restricted! including just the Serializable interface)

      • java.sql(also quite limited, includes three classes useful for date/time)

    • obj.getClass().getName() isn’t available,

    • but GWT.getTypeName(obj) is.

    • Class.forName("MyClass"), which has GWT.create(MyClass)


Deploy module

Deploy module


Compilador javascript8

CompiladorjavaScript


Compile report

Compile Report

-compileReport


Compile report1

Compile Report

-compileReport


Compile report2

Compile Report

-compileReport


Compile report3

Compile Report

-compileReport


Compile report4

Compile Report

-compileReport


Compile report5

Compile Report

-compileReport


Compile report6

Compile Report

-compileReport


Compile report7

Compile Report

-compileReport

Have four major use cases:

To reduce total download size

To reduce download size of initial fragment

To reduce download size of specific code fragments as produced by code splitting

To compare between permutations, for example, differences between user agents


Gwt code splitting

GWT Code Splitting

En las aplicaciones AJAX los fuentes de JavaScripts suelen crecer fácilmente.

Para ayudar en este inconveniente GWT provee Dead-for-now (DFN) code splitting.

Para implementar la segmentacion del codigo simplemente se dbe insertar llamadas al metodoGWT.runAsync en los lugares donde el programa pausará la descarga. Estos puntos son llamados splitpoints.


Gwt code splitting1

GWT Code Splitting


Gwt code splitting2

GWT Code Splitting


Gwt code splitting3

GWT Code Splitting

Sin splitpoints

Con splitpoints


Gwt code splitting4

GWT Code Splitting


Gwt history mechanism

GWT History Mechanism

  • Historial del Navegador

    • GWT provee un mecanismo para administrar el historial del navegador que funciona con aplicaciones del tipo Ajax. Para acceder al mismo, es necesario escribir un manejador de eventos que implemente la interfaz HistoryListenery luego éste debe ser registrado en el objeto History:

History.newItem("overview");

….

History.newItem("reports");


Ejercicios

Ejercicios

1- Probar el debug con puntos de corte en el calculo del promedio del curso del proyecto .

2 - Compilar todos los proyectos realizados en los diferentes modos de optimización y comparar los tamaños de los .js generados.

3- Publicar y probar los .war generados en el Apache Tomcat.

4- Probar la generación del reporte de compilación y analizar su contenido.

5- Crear dos proyectos, uno TestSinSplit y otro TestConSplit implementando el ejemplo de esta presentación.

6- Probar el proyecto GestionAcademicaWebHist donde se implementó el mecanismo de histórico de navegación.


  • Login