• Save
XKE - GWT Galaxy
Upcoming SlideShare
Loading in...5

XKE - GWT Galaxy



GWT overview : language basics, frameworks, tools...

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



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds


Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    XKE - GWT Galaxy XKE - GWT Galaxy Presentation Transcript

    • GWT GalaxyQuick tour on frameworks, APIs, tools… on GWT’s world By Romain MATON November 6th, 2008 www.xebia.fr / blog.xebia.fr
    • GWT Galaxy Summary Language Plug-ins Frameworks integration Graphics APIs Generals APIs Conclusion 2
    • 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
    • Plug-ins WYSIWYG GWT Designer (widgets, remote service, i18n…) VistaFei (widgets) Project Generation Googlipse Cypal Studio IntelliJ IDEA GWT Studio Plugin 4
    • 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 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
    • Spring GWTSpringControler Intermediate abstract class in gwt.xml module SpringRemoteService instead of RemoteServiceServlet Application-Context.xml in Web.xml 11
    • GWT-SL et WL Spring Date and Calendar (SimpleDateFormat…) SVG Utils … 12
    • Hibernate Standard (Server side) … DTO ! With Dozer, beanLib… Hibernate4GWT : Only POJO ! 13
    • 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
    • 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
    • Graphics APIs Core GWT-Ext Ext-GWT Rialto GWT Tatami (Dojo) Gquery GWTaculous (Wrapper) 16
    • 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 runtime, in JSP or in URL Logs Differents log level (compile) : info, debug, warning, error and fatal Maps Maths BigDecimal and BigInteger 23
    • Conclusion Galaxy ? Possible ? Maybe… Puzzle ! Integration and stabilization 24
    • Questions ? 25