Live from Barcamp – Day 2 – Session 3 [for me] Google Web Toolkit

Presenter – Robert Cooper

Had a good lunch – everything food-wise that you can possibly put on a stick – finishing with chocolate covered cheesecake on a stick.  Who can complain about that?
Now sitting in Cooper’s session on Google Web Toolkit – a Java to javascript compiler.  It’s certain to be way over my head [again] but I’ve got to be loyal to the old AnyDevice crew.

Some paraphrase, etc.:

“It’s a combinatorics problem” you don’t hear that very often.
full implementation for the DOM.  Specific implementation for all major browsers – 5 compilations per application based on user agent [expanding to 8]  Monolithic compile to all the customized environments.   Can be hacked to tailor experience per environment.

The application looks like a single unified app, but the model gets altered per environment — keeps the javascript footprint small.  Lots of squeezing happens in the compiler.   The shell is built with SWT system’s SWT browser component – uses the native browser for the environment.  Includes RPC system, but you’re not bound to use it.   Shell, standard development environment — take native browser and hook in controls to native byte code.  Supported on net beans, eclipse and others.  Shell dynamically compiles Java in the background so almost like working in an interpreted environment.  Translates everything back to regular running java code which enables use of a java debugger.  Platform includes a remote testing system.  Unit tests can be farmed out to each individual browser which can help isolate browser specific problems.  Includes an embedded Tomcat server, which is a little weird to work with compared to regular Tomcat.  GWT very similar to java 1.1 in experience.   Limited reflection implemented, can do simple data binding.  Binding a grid form to a data feed — continuous environment updates, support for data validation in forms.  Can use reflection to create animation effects — helps make it easier to build an application.   More return on javascript size when the application is more complex.  Very heavy footprint for simple, hello-world type stuff, but cleans up a lot as part of the library.  Better returns on file size over growth of application.  Has a very specific support for caching.  Automatic versioning system based on md5 hash of compilation.  Nocache.js is the bootstrap file.  That’s the only file that requires pragma nocache.  Some files can be cached permanently, because versioning will take care of them.

Helps protect application from cross-site scripting attacks.  Currently have 3 applications in production now, all used internally, but some have 5000+ users.

Show & tell: soft scroll module — force a button to be visible in a pane.   Nice for enhancing user experience.  Makes for a highly portable user experience — can be ported to many emergent platforms like Nintendo Wii and iPhone.  Abstraction over browser differences (like directx calls versus firefox canvas) simplifies keeping user experience consistent across platforms.

Still some problems as to where the web designer fits into the process – right now you really need a programmer on the UI.   The new version coming, GWT 1.5, will allow html to be compile to be regular gwt widgets so a designer can make a layout and have that dropped into the development process. 1.5 will also have have Java 1.5 syntax — will make life happier for working in the IDEs.  Google is starting to see widespread adoption so you’ll start to see some standardization and optimization.

Share
This entry was posted in Barcamp Atlanta, frameworks, java and tagged , , , , , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.


Warning: Use of undefined constant thematic_postcomment_text - assumed 'thematic_postcomment_text' (this will throw an Error in a future version of PHP) in /homepages/38/d219234922/htdocs/wordpress/wp-content/themes/buddymatic/library/extensions/comments-extensions.php on line 97

Warning: Use of undefined constant thematic_postreply_text - assumed 'thematic_postreply_text' (this will throw an Error in a future version of PHP) in /homepages/38/d219234922/htdocs/wordpress/wp-content/themes/buddymatic/library/extensions/comments-extensions.php on line 104
Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  • Doodle Delivery – Subscribe!

    Subscribe to occasionally brighten your inbox with a bundle of doodles wrapped in a few thoughtful thoughts on being a beacon in this crazy-wonderful world.
  • Search

  • Left Brain + Right Brain = My Blog

    This blog is chock full of joyful drawings and a few musings on personal branding, startups, creativity and being a beacon.

    Featured Posts


     
  • The Be A Beacon Show

  • Send a Free eCard

    If the drawings on this website give you a smile why not share one? I added a free ecard system so you can send "doodlegrams" to anyone you'd like. Go ahead, send a smile! Just click on the words eCard (free) below any doodle on the blog .
     
  • Categories

  •  

  • Archives

  •  

    Caitlín Mowbray"I adore your doodles... I swear looking at those bunnies lowers my blood pressure, calms my mind and makes me smarter. Who needs meditation when there are bunnies?"
    ~Caitlín Mowbray - Meditation Teacher, Astrologer and Soul Provocateur

    Find David on Bloggers.com