GWT GalaxyQuick tour on frameworks, APIs, tools… on GWT’s world                                                  By Romain...
GWT Galaxy  Summary    Language    Plug-ins    Frameworks integration    Graphics APIs    Generals APIs    Conclusion     ...
Language  1.4    @typeArgs in javadoc    *ServiceAsync and *Service : only return to void and add AsyncCallBack parameter…...
Plug-ins   WYSIWYG     GWT Designer (widgets, remote service, i18n…)     VistaFei (widgets)   Project Generation     Googl...
GWT Designer               5
VistaFei           6
Cypal Studio (1/2)                     7
Cypal Studio (2/2)                     8
Frameworks  Maven  Spring  GWT-SL et WL  Hibernate  Struts2  JSF                 9
Maven    Run the GWTShell (Hosted mode, both with embedded Tomcat and    -noserver)    Run the GWTShell and connect to it ...
Spring   GWTSpringControler     Intermediate abstract class in gwt.xml module     SpringRemoteService instead of RemoteSer...
GWT-SL et WL    Spring    Date and Calendar (SimpleDateFormat…)    SVG    Utils    …                                      ...
Hibernate     Standard (Server side)     … DTO ! With Dozer, beanLib…     Hibernate4GWT : Only POJO !                     ...
Struts 2 MyServiceAsync service = (MyServiceAsync) GWT.create(MyService.class); AsyncCallback callback = new AsyncCallback...
JSF  G4JSF          ComponentEntryPoint          GwtFacesServiceAsync      <?xml version="1.0" encoding="UTF-8"?>      <!D...
Graphics APIs   Core   GWT-Ext   Ext-GWT   Rialto GWT   Tatami (Dojo)   Gquery   GWTaculous (Wrapper)                     ...
Core       17
GWT-Ext (Sanji Jivan)                        18
Ext-GWT          19
Rialto GWT             20
Tatami         21
GWTaculous             22
Generals APIs   I18N     Interface management (I18NConstants, I18NMessages…)     In module gwt.xml (compile)     Locale at...
Conclusion   Galaxy ?   Possible ? Maybe…   Puzzle !   Integration and stabilization                                   24
Questions ?              25
Upcoming SlideShare
Loading in...5
×

XKE - GWT Galaxy

644

Published on

GWT overview : language basics, frameworks, tools...
Given at Xebia during XKE (November 6th, 2008).

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
644
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "XKE - GWT Galaxy"

  1. 1. GWT GalaxyQuick tour on frameworks, APIs, tools… on GWT’s world By Romain MATON November 6th, 2008 www.xebia.fr / blog.xebia.fr
  2. 2. GWT Galaxy Summary Language Plug-ins Frameworks integration Graphics APIs Generals APIs Conclusion 2
  3. 3. Language 1.4 @typeArgs in javadoc *ServiceAsync and *Service : only return to void and add AsyncCallBack parameter… Can be generated but have to write it !!! new AsyncCallback() { public void onSuccess(Object result) { … } … } Very small JRE emulation (Some java.util… No TreeMap…) Throwable not really functional 1.5 Annotations Generics Large JRE emulation new AsyncCallback() { public void onSuccess(MyObject result) { … } … } Better Javascript integration : public native String getFirstName() /*-{ return this.FirstName; }-*/; *ServiceAsync and *Service : only return to void and add AsyncCallBack parameter… Can be generated but have to write it !!! Allways… 3
  4. 4. Plug-ins WYSIWYG GWT Designer (widgets, remote service, i18n…) VistaFei (widgets) Project Generation Googlipse Cypal Studio IntelliJ IDEA GWT Studio Plugin 4
  5. 5. GWT Designer 5
  6. 6. VistaFei 6
  7. 7. Cypal Studio (1/2) 7
  8. 8. Cypal Studio (2/2) 8
  9. 9. Frameworks Maven Spring GWT-SL et WL Hibernate Struts2 JSF 9
  10. 10. Maven Run the GWTShell (Hosted mode, both with embedded Tomcat and -noserver) Run the GWTShell and connect to it with a debugger Run the GWTCompiler Run GWTTestCase and GWTTestSuite based tests Generate I18N Constants and Messages interfaces Creation of Web Application Archive (WAR) deployable files for GWT projects Creation of Java Application Archive (JAR) files for GWT module/library projects Automatically download and extract GWT on build machines 10
  11. 11. Spring GWTSpringControler Intermediate abstract class in gwt.xml module SpringRemoteService instead of RemoteServiceServlet Application-Context.xml in Web.xml 11
  12. 12. GWT-SL et WL Spring Date and Calendar (SimpleDateFormat…) SVG Utils … 12
  13. 13. Hibernate Standard (Server side) … DTO ! With Dozer, beanLib… Hibernate4GWT : Only POJO ! 13
  14. 14. Struts 2 MyServiceAsync service = (MyServiceAsync) GWT.create(MyService.class); AsyncCallback callback = new AsyncCallback() { public void onSuccess(Object result) { Window.alert(result.toString()); } public void onFailure(Throwable caught) { Window.alert(caught.toString()); } }; ServiceDefTarget endpoint = (ServiceDefTarget) service; endpoint.setServiceEntryPoint("Hello.action"); service.hello("Hi There!", callback); 14
  15. 15. JSF G4JSF ComponentEntryPoint GwtFacesServiceAsync <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc. //DTD JavaServer Faces Config 1.1//EN« "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"> <faces-config> <managed-bean> <managed-bean-name>greetingBean</managed-bean-name> <managed-bean-class>demo.gwt.app.GreetingBean</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>name</property-name> <property-class>java.lang.String</property-class> <value>GWT and JSF</value> </managed-property> </managed-bean> <application> <view-handler>com.sun.facelets.FaceletViewHandler</view-handler> </application> </faces-config> 15
  16. 16. Graphics APIs Core GWT-Ext Ext-GWT Rialto GWT Tatami (Dojo) Gquery GWTaculous (Wrapper) 16
  17. 17. Core 17
  18. 18. GWT-Ext (Sanji Jivan) 18
  19. 19. Ext-GWT 19
  20. 20. Rialto GWT 20
  21. 21. Tatami 21
  22. 22. GWTaculous 22
  23. 23. Generals APIs I18N Interface management (I18NConstants, I18NMessages…) In module gwt.xml (compile) Locale at runtime, in JSP or in URL Logs Differents log level (compile) : info, debug, warning, error and fatal Maps Maths BigDecimal and BigInteger 23
  24. 24. Conclusion Galaxy ? Possible ? Maybe… Puzzle ! Integration and stabilization 24
  25. 25. Questions ? 25

×