Another day has passed at the conference and here are a few notes (organized by sessions):
How eRCP stacks up against Android and other Mobile Rich Client Platforms by Ken Walker and David Girle
Ken and David built web apps using the following technologies:
- eRCP: Supports a very small user base. Not many apps are developed using eRCP.
- Android: Easy to setup. Only needs the SDK and ADT (Eclipse plugin). Really brings the desktop and mobile world together. Supports JDK 1.5.0. UI is a bit ugly though. Easiest to use but works in an emulator only as no devices exist yet.
- WebKit: Has a popular and large user base due to the iPhone. Works on Android.
- Others (things to consider): Java ME + MIDP 2.0, Adobe Flash/AIR, Silverlight, and GWT + Google Gears.
Based on this discussion, I would focus on the WebKit since it has a good user base already and can be easily tweaked to run on Android as well.
Java Annotations by Walter Harley
I’m glad I don’t have to work with annotations much.
Android and OSGi: Can they work together? by Neil Bartlett and BJ Hargrave
The answer is yes. Neil and BJ demonstrated running Equinox and Concierge on Android and made mention of a couple other OSGi technologies:
Code from the demo can be found here.
Introduction to the Jazz Technology Platform by John Wiegand
- Jazz is built upon layers (listed from top to bottom): Clients (Eclipse, Visual Studio, etc.), Jazz Server Kernal (works with Jetty and Tomcat), Databases (state is stored as structured items stored as XML and arbitrary content stored as BLOBs), and finally the Equinox OSGi Framework.
- Supports Lucene full-text search.
- Authentication is performed by the Jazz Team Server communicating with a corporate directory server (LDAP).
- Teams have projects and projects have processes.
- In the future, Jazz will support more of a Web UI and communication protocol.
Probably best if you just check out the Jazz Demo Videos rather than refer to my notes.
Android, OSGi & Cloudsmith: Cool Things Come in Threes by Ken Gilmer, Lucas McGregor and Henrik Lindberg
Interesting talk that discussed using web technologies to develop, test, and use applications and hardware. For instance:
The demo showed a picture taken by a Bug Labs device and uploaded to an Android emulator.
Introduction to Groovy by Andres Almiray
- Groovy is a an agile and dynamic language built on Java.
- Looks like Java code which means the learning curve is very low for a Java developer.
- Compiles to Java byte code so that it can run anywhere Java does.
- You can use dynamic or static typing.
- Variable interpolation can be used: ${my-variable-to-substitute}
- Exceptions can be caught but if you choose not too catch them, they will be promoted as runtime exceptions by Groovy.
- Supports annotations (JSR 175), generics, enums, and closures.
- Supports operator overloading.
- There is an Ecipse plugin for developing Groovy code in Eclipse.
In case you are looking for other languages that can compile to Java byte code, they are: Scala and JRuby.