GWT + Gears : The browser is the platform

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

2 comments

Comments 1 - 2 of 2 previous next Post a comment

  • david.motta David Motta baldarrago 1 week ago
    GWT in Action: Easy Ajax with the Google Web Toolkit
    Download http://www.lulu.com/content/multimedia/gwt-in-action-easy...
  • Palcomweb Palcomweb 2 years ago
    Design 'all browsers compatible' website.



    A website should be designed in accordance to the W3 standrads.These

    standards have been set to improve the functionality, design and look of

    websites, thus saving time and making them all browser compatible.

    We have many web browsers now a days as Mosaic, Cello, Lynx (2.0),

    Arena, Internet Explorer , Netscape,, Opera 3.0,fireFo.Now a days mozilla

    fire fox the most popular web browser that is being used. But the problems

    with mozilla are that is does not support java script and flash, the loading

    time is more.

    Therefore always design a website that is browser compatible so that your

    users don't have to adjust. It's you who should have a browser compatible

    website and not visitors should change their browsers to be able to see your

    website.
Post a comment
Embed Video
Edit your comment Cancel

Notes on slide 1

Enter Title of Presentation Here Google Confidential

18 Favorites

GWT + Gears : The browser is the platform - Presentation Transcript

  1. GWT-Gears The Browser is the Platform Didier Girard – girard.d@sfeir.com Sfeir CTO Member of OSSGTP
  2. Before starting, some questions
    • Who knows javascript ?
    • Who is a javascript expert ?
    • Who knows java ?
    Google Confidential
  3. Content
    • Ajax : the good, the bad and the coward
    • Demonstrations
    • GWT for Chief (whatyouwant) Officer
    • GWT for developers
    • Gears for early adopters
    Google Confidential
  4. Content
    • Demonstrations
    • Why GWT ?
    • GWT features
    • Google Gears
  5. Ajax : Asynchronous updates
    • Fresh data without reload
  6. Ajax : Rich Widgets
    • Widgets : One more beautiful than the other
  7. Ajax : Partial update of the screen
    • No more « Blank page » effect
  8. Single Page Interface : Better scalability
    • Stateless Server
    • Stateful client
    Data Base Data Application GUI+Business + Session
  9. At first, Ajax is really cool
    • So wonderful, incredible, marvellous
    • So efficient
    • Customers love it
  10. Some boring comments about javascript
    • … cross-browser
    • … memory leak
    • … loading latency
    • … « Javascript PhD »
    • … ajax IDE
    • … bugs (javascript is a dynamic language)
    • … cross browser javascript debugger
    • … security
  11. The solution – First step
    • Build the prototype of the application
      • It is really fun
      • Everybody will admire you
  12. The solution – Second step
    • Your customer purchases : leave the project :-)
  13. But I’m not a coward
  14. Do something else
  15. But What ?
  16. My manifest
    • I want a technology that
      • helps to code stable, efficient and cross-browser applications
      • Is a friend to me as a developer
        • Compatible with IDE, support debugging, refactoring, strong typing…
    • The base line could be : « Good for the user, good for the developer »
  17. That is what GWT is !
  18. Content
    • Demonstrations
    • Why GWT ?
    • GWT features
    • Google Gears
  19. Démonstrations
  20. Demonstrations
    • http://stuff.ongwt.com
  21. Content
    • Demonstrations
    • Why GWT ?
    • GWT features
    • Google Gears
  22. GWT is simple
    • Developing a web application with GWT is as simple as developing a Windows application with VB
  23. GWT is cheap Google Confidential
  24. GWT cuts costs
    • Building a GWT application is 5 times faster than building a J2EE application
  25. GWT applications are efficient
    • Local computation, bandwidth optimization
  26. GWT is offline compatible
    • A GWT application doesn’t need a server
  27. Compatible with mobile Google Confidential
  28. GWT is MDI compatible *
    • GWT applications could have windows residing under a single parent window.
    *MDI : Multiple Document Interface
  29. GWT, better ergonomically http://swissmiss.typepad.com/weblog/2007/11/task-clips.html Web 1.0 GWT
  30. Content
    • Demonstrations
    • Why GWT ?
    • GWT features
    • Google Gears
  31. The approach
    • Code in java
    • Compile the java to Javascript
  32. Hello World
    • Demonstration
  33. How easy do you find GWT to use ?
    • Very Easy, Easy, Medium, Hard, Very Hard ?
    Google Confidential Source : http://www.ongwt.com/post/2008/02/21/How-easy-do-you-find-GWT-to-use
  34. Architecture Browser IE, Firefox, Safari, Opera RWA in Java Java Runtime Library java.lang java.util Java.io GWT GUI Library GWT Compiler Application code Panels Popup Stack Absolute Vertical … Widgets Button MenuBar Radio Tree Check Table TextArea … . Javascript Application GWT Runtime 100Ko
  35. Content
    • Demonstrations
    • Why GWT ?
    • GWT features
    • Google Gears
  36. Widgets : « 100% java »
    • Demonstration (Kitchen Sink)
    http://code.google.com/webtoolkit/examples/kitchensink/
  37. Third party GWT Widgets
    • It is really easy to build its own widget
    • Many libraries
      • GWT Ext
      • MyGWT
      • GWT Rialto
      • Tatami
      • GWT Widget
      • GWTaculous
    Google Confidential
  38. History support
    • « Single Page Interface » with history support !
    • Demonstration (Kitchen Sink)
    • Code :
      • History. addHistoryListener(myCommand);
  39. RPC Support (JSON/XML-RPC)
    • AJAX is a story of asynchronous request
      • With GWT, it is simple !
  40. I18N/L10N support
    • Simple and powerful
  41. GWT is compatible with unit testing
    • Compatible with Junit
    • Compatible with Selenium
    Google Confidential
  42. Cross browser, cross platform
  43. CSS
    • GWT widgets are CSS compatible
  44. Debugger
    • Demonstration
  45. Javascript integration
    • JSNI, a clever API
    • Many javascript libraries are already wrapped : Dojo, Extjs,…
    • Demonstration
    public static native void alert(String msg) /*-{ $wnd.alert(msg); }-*/;
  46. Optimization
    • Compiled javascript is optimized
    • Only the necessary javascript is downloaded by the browser
      • IE downloads only javascript for IE, Firefox downloads only javascript for Firefox
      • Unused APIs are removed from the compiled javascript
  47. Good scalability
    • GWT server could be stateless
    • No more session affinity
  48. Tools
    • GWT is supported by all the java IDE : Eclipse, NetBeans, IntelliJ IDEA, JDeveloper,…
    • Advertisement : my favorite tool is GWT Designer
  49. GWT 1.4 is fast
    • Example : ImageBundle, kind of database for images
      • From 12 requests to 1 request…
    ClippedImage timeIcon = new ClippedImage("icons.png", 22, 0, 22, 22); http://roberthanson.blogspot.com/2007/02/gwt-clippedimage-optimizing-image.html
  50. 2008 : GWT 1.5
    • The Java 1.5 syntax is fully supported, including generics, enums, nice "for" loops, autoboxing, static imports, annotations, and so on
    • The ability to subclass JavaScriptObject for very straightforward JavaScript interop
    • Thurs, Mar 6 2008 : GWT 1.5 M1 is available for download
    Google Confidential
  51. Google Gadget with GWT
  52. Gadget definition
    • <Module> <ModulePrefs title=&quot;Hello World” author=“Didier Girard” author_email=“Didier.Girard@gmail.com”> </ModulePrefs> <Content type=&quot;html&quot;> <![CDATA[ Your application goes here ]]> </Content> </Module>
  53. Gadget definition with GWT : 1 line
    • <Module> <ModulePrefs title=&quot;Hello World” author=“Didier Girard” author_email=“Didier.Girard@gmail.com”> </ModulePrefs> <Content type=&quot;html&quot;> <![CDATA[ <script src=&quot;http://..../com.mycompany.project.ImageViewer -xs.nocache.js &quot;>
    • </script> ]]> </Content> </Module>
  54. Opensocial
  55. Who's Using It?
  56. Opensocial Definition with GWT : 2 lines
    • <Module> <ModulePrefs title=&quot;Hello World” author=“Didier Girard” author_email=“Didier.Girard@gmail.com”> <Require feature=&quot;opensocial-0.7&quot;/> </ModulePrefs> <Content type=&quot;html&quot;> <![CDATA[ <script src=&quot;http://..../com.mycompany.project.ImageViewer -xs.nocache.js &quot;>
    • </script> ]]> </Content> </Module>
  57. Simple, Efficient and Powerful ?
  58. Content
    • Demonstrations
    • Why GWT ?
    • GWT features
    • Google Gears
  59. I need offline applications
    • Do you ever miss your application
      • Pubs
      • Trains
    • Are you sure that your user want its data in the cloud ?
  60. Classic web architecture Browser Server DataBase HTTP
  61. My needs in offline mode Browser Server DataBase DataBase Server
  62. I need Browser Server DataBase Install DataBase Server
  63. The solution
    • Google Gears
      • Browser Plugin (FireFox, Internet Explorer)
      • Features:
        • LocalServer (“programmable cache”)
        • Database
        • Worker Threads for JavaScript
        • http://gears.google.com
  64. Content
    • Demonstrations
    • Why GWT ?
    • GWT features
    • Google Gears
  65. Architecture Google Confidential Browser Gears Javascript API Your GWT Application Your JS Application Dojo GWT Wrapper
  66. Demo
    • Live coding
  67. Perspectives of Gears : future APIs
    • Notification API
    • Crypto API
    • Factory API updates
    • Blob API
    • Logging API
    • Messaging API
    • Location API
    • Desktop Shortcut API
    • Image Manipulation API
  68. Content
    • Demonstrations
    • Why GWT ?
    • GWT features
    • Google Gears
  69. Think differently!
    • Rethink application ergonomic.
    • Forget browsing
    • MDI is possible
    • Stateless server, statefull client
    Google Confidential
  70. Misc
    • DOM manipulation is costly
      • Your user can have : «  slow script message » 
      • -> Use « IncrementalCommand » ( DEMO )
    • No need to send tones of asynchronous request
    • Deal with RPC error by subclassing AsyncCallback
    • Forget javascript
    • Use Selenium ( DEMO )
    • Use Maven
    Google Confidential
  71. Content
    • Demonstrations
    • Why GWT ?
    • GWT features
    • Google Gears
  72. You must used java on the server
    • No, GWT is server free
  73. Compiled javascript is impossible to debug
    • It is possible to change compilation option
    • But you never need to it,
    • -> Demo
  74. GWT applications are heavy
    • Compiled javascript is light and gzippable
      • KitchenSink is around 60Ko !
  75. GWT is HTML incompatible
    • Wrong
      • It is possible to include GWT components in a standard HTML page
  76. GWT applications are applets
    • Applets, no thanks :-)
      • Java is compiled to javascript !
  77. Content
    • Demonstrations
    • Why GWT ?
    • GWT features
    • Google Gears
  78. Who are the challengers
    • Silverlight
    • AIR/Flex
    • Firefox with the XUL/Prism stuff
  79. GWT and Gears Google Confidential
  80. GWT : THE Community
    • Millions of downloads
    • 12000 subscribers to the users forum
    • 700 subscribers to the contributors forum
    • Books
    • Tons of articles
    • Tons of tutorials
    • Blogs
  81. Faster and faster
    • GWT application are efficient
    • It is 5 times faster to build a GWT application
  82. This might surprise you but
    • This pair of tools is the least disruptive
      • It is based on the most used langage : java
      • It doesn’t challenge the current web architecture which is mainly based on browsers
  83. No Future PHP, Struts, JSF, ASP.NET,…
  84. « GWT + Gears » The browser is the platform ! I thank the GWT Team, I thank the community! Reminder
  85. SFEIR
    • 6 projects with GWT
      • 5000 days of coding
      • It is just fun
      • Clients are very happy with their applications
      • Our stack : GWT/Spring/Hibernate
    • Jobs: girard.d@sfeir.com
    Google Confidential
  86. Ressources GWT : http://code.google.com/webtoolkit/ Forum : http://groups.google.com/group/Google-Web-Toolkit GWT Blog : http://googlewebtoolkit.blogspot.com/ onGWT, Tracking news on GWT : http://www.ongwt.com/ GWT and GEARS : http://www.ongwt.com/post/2008/01/28/Presentation-%3A-Gears-and-GWT

dgirarddgirard, 2 years ago

custom

11170 views, 18 favs, 10 embeds more stats

GWT and Gears : The browser is the platform

More Info

© All Rights Reserved

Go to text version
  • Total Views 11170
    • 11001 on SlideShare
    • 169 from embeds
  • Comments 2
  • Favorites 18
  • Downloads 300
Most viewed embeds
  • 92 views on http://www.sfeir2.com
  • 33 views on http://www.kowen.idv.tw
  • 17 views on http://www.tica2.ro
  • 15 views on http://localhost:8888
  • 5 views on http://ongwt.googlecode.com

more

All embeds
  • 92 views on http://www.sfeir2.com
  • 33 views on http://www.kowen.idv.tw
  • 17 views on http://www.tica2.ro
  • 15 views on http://localhost:8888
  • 5 views on http://ongwt.googlecode.com
  • 3 views on file://
  • 1 views on http://static.slideshare.net
  • 1 views on http://nouvellecuisine.googlecode.com
  • 1 views on http://www.ongwt.com
  • 1 views on http://nomadicwhales.com

less

Flagged as inappropriate Flag as inappropriate
Flag as innappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel

Categories