1 / 46

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

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Contenido Etapas de un proyecto GWT Debugging in Development Mode. Compilador GWT Code Spliting GWT History Mechanism

  3. Etapas de un proyecto GWT

  4. Etapas de un proyecto GWT

  5. Debugging in Development Mode Debug Run

  6. Run - Development Mode Run Static Content HTTP SERVER Servlets Developer PlugIn IDE ClientSide Code CODE SERVER

  7. 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

  8. Development Mode - GWT

  9. Development Mode - GWT

  10. Development Mode - GWT

  11. Development Mode - GWT

  12. Development Mode - Eclipse

  13. Development Mode - Eclipse

  14. Development Mode – Chrome Plugin En caso que el servidor no este disponible el Plugin emite este mensaje.

  15. Debug - in Development Mode Debug

  16. Debug - in Development Mode Terminate Suspend Resume StepInto (F5) StepReturn (F7) Use stepfilters Droptoframe StepOver (F6)

  17. 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

  18. Compilador GWT

  19. CompiladorjavaScript

  20. CompiladorjavaScript - Detailed java.lang.StringBufferappend(String valor)

  21. CompiladorjavaScript - Pretty java.lang.StringBufferappend(String valor)

  22. CompiladorjavaScript - Obfuscated java.lang.StringBufferappend(String valor)

  23. CompiladorjavaScript

  24. CompiladorjavaScript

  25. CompiladorjavaScript

  26. CompiladorjavaScript <Module>.nocache.js <MD5>.cache.html <MD5>.gwt.rpc Host HTML <Module>.html

  27. CompiladorjavaScript

  28. 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

  29. 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)

  30. Deploy module

  31. CompiladorjavaScript

  32. Compile Report -compileReport

  33. Compile Report -compileReport

  34. Compile Report -compileReport

  35. Compile Report -compileReport

  36. Compile Report -compileReport

  37. Compile Report -compileReport

  38. Compile Report -compileReport

  39. 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

  40. 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.

  41. GWT Code Splitting

  42. GWT Code Splitting

  43. GWT Code Splitting Sin splitpoints Con splitpoints

  44. GWT Code Splitting

  45. 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");

  46. 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.

More Related