GWT session?

3 views
Skip to first unread message

davis

unread,
Nov 22, 2009, 7:38:47 PM11/22/09
to Michigan GTUG
Hi, I submitted a GWT topic idea on the Detroit JUG, and I thought I'd
cross post it here. I created a small abstract. I'd be happy to do a
session on GWT for GTUG if there is interest. I also proposed a topic
on maven/builds for the Detroit JUG -- which isn't really relevant for
GTUG, but I'm taking advantage of the cross post, so let me know if
you'd be interested in the topic. :)

BTW: Google Wave was built with GWT, and I've got 8 invites -- shoot
me an email if you want one.

Best regards,
Davis

GWT Abstract

Your next webapp may have to be a slick RIA site. You could use Flex
and require the flash runtime. You could use Silverlight and require
the sliverlight runtime. You could use JavaScript – but if you’re a
Java shop, are you also an expert in JavaScript, and do you understand
well all the browser quirks between IE 6, 7, 8, 9, Firefox, Chrome,
Opera, Safari, etc.? You could use a JavaScript library like JQuery –
or you could re-use all your Java knowledge and write your UI in a
Swing-like Java API and have Google cross-compile it down to
JavaScript that works in all browsers for you. You get the advantage
of staying in one language, and all the tools it provides: IDE re-
factoring, debugging, testing, etc. You can also share common code
between the client and server -- assuming you build your backend in
Java.

GWT is a powerful tool, but there is a learning curve. This session
aims to shorten that learning curve – and provide you with some up-to-
date examples of best practices and patterns that have emerged from
the community of GWT developers.

1. GWT Overview
a. Anatomy of a GWT project (client/server, GWT modules,
webapp structure)
b. GWT Remote Services – GWT-RPC, REST, SOAP
c. Security – what to do and what not to do
d. Standard Widget Overview and Overview of 3rd Party
libraries
e. Taking the burden off the server – why GWT apps scale
better
2. Best practice for UI Design
a. Model View Presenter (MVP)
b. Testing the UI with JUnit and EasyMock
c. Event Bus – decouple everything
3. UI Dependency Injection with Google Gin/Guice
4. Real World Examples
a. Integrating File Upload with Spring WebMVC
b. Displaying remote service data effectively
c. How site navigation works in GWT applications

Maven Abstract

Have you ever stepped into a project where the other developers
quietly chuckle when you ask something akin to, “so…how do I get my
environment set up?” I have, and it is no fun. In one instance, it
took about a week of weeding through an absolute mess before I could
execute the test cases. You also may have experienced the infamous:
well…it works on my machine response to test failures. These are
indications that the project setup is in need of repair.

The fact is: builds matter, but they are more often than not a
secondary concern, typically set up with as little effort as
possible. As projects grow, it gets harder to maintain them, and
bootstrapping new employees is tough.

It doesn’t have to be this way. Enter Apache Maven. Maven is a
complete framework for managing projects. It is a set of tools, plug-
ins, standards, and a very active community that can make setting up
and controlling your project easy from start to finish.

In this session I will delve into Maven, and show you how to apply it
effectively. I’ll show you tips and tricks to see how easy it is to
make portable builds (i.e. check out the code and everything just
works).

1. Overview of Maven
2. Create a simple project for any IDE (Eclipse, IDEA, Netbeans)
3. How to organize large projects effectively for code re-use
4. Managing dependencies with maven; how to setup a local maven
repository and why you should.
5. How to tie maven into your SCM provider
6. How to integrate maven into your favorite continuous
integration tool
7. How to use maven to break up your test builds (unit,
integration, etc.)
a. Example: Testing a persistence layer (JPA/Hibernate) with
DbUnit + maven surefire plug-in
8. How to create webapp projects with maven
a. Example: Deploy/Run in any container with the maven cargo
plug-in
b. Example: Testing the web layer with HttpUnit/Selenium +
maven surefire plug-in
9. Reporting
a. Example: setting up project reports for code coverage /
code health, dependencies, javadoc, etc.
10. How to re-factor an existing legacy build from Ant to Maven

Timothy Fisher

unread,
Nov 23, 2009, 9:26:06 AM11/23/09
to mi-...@googlegroups.com
Davis,
 
Yes Michigan GTUG would be interested in adding your presentation to our calendar.  I'd like to get another meeting in before the end of the year.  Would you be able to present in December?  I'll nail down a date and location.
 
Tim


--

You received this message because you are subscribed to the Google Groups "Michigan GTUG" group.
To post to this group, send email to mi-...@googlegroups.com.
To unsubscribe from this group, send email to mi-gtug+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/mi-gtug?hl=.



Davis Ford

unread,
Nov 23, 2009, 9:39:25 AM11/23/09
to mi-...@googlegroups.com
Hi Tim, I could do December no problem.  Let me know the time and place.

Regards,
Davis
Reply all
Reply to author
Forward
0 new messages