Sunday, June 13, 2010

Day 4 Epicenter 2010

Gaelyk: Groovy in the Cloud - Tim Berglund

One hears suspiciously little about practical applications running on Google App Engine (GAE). And yet it offers lots of features to the developer, mostly for free. You get to run on Google's infrastructure so you get high availability and scalability. There is a good selection of services provided like a datastore, authentication, caching, messaging, email, task queue, etc.

GAE supports Java too (and Python). Unfortunately limitations of the environment mean we can't bring all of our favourite Java tools to the party. Grails, for example, is not really an option at the moment. It's wedded to Hibernate and thus to relational databases. There is a plugin for Google App Engine but it "feels goofy" according to Tim Berglund.

Enter Gaelyk, a lightweight Groovy toolkit for Google App Engine. It wraps the various GAE services making their use less verbose. It injects various variables (eg for the datastore) so they are always available when needed. It also supplies Groovlets (like servlets) and Groovy templates for serving web pages. It's more than a little retro but it's fine for small applications.

Worth a try.


jQTouch - Marc Grabanski
Being a Java developer myself and not even owning a Mac, I feel a certain reluctance to switch to Objective-C just to write an iPhone app. Marc Grabanski reminded us that web-based apps can often do the job just as well. They can also look like native apps, be responsive like native apps, and take advantage of the HTML 5 and CSS 3 features already built into WebKit.

With this in mind, the jQTouch jQuery plugin has been developed to make iPhone web app development a breeze. It's got attractive visual themes and CSS animations for wow factor. It also supports a clever nested menu navigation system that is not dependent on page loads so response time is instant.

It's important to note that at this point you have, really, a website that looks well on an iPhone, and not something you can sell via the app store. That might be enough but if you want to make a downloadable app, PhoneGap can apparently do the conversion. I'm unclear how this works - perhaps it wraps the HTML in a WebKit control? - but it was emphasised that however it does it, PhoneGap does not fall foul of Apple's new rules on cross-compilation.

I see PhoneGap supports quite a few phone platforms (including WebOS, which is what my Palm uses). jQTouch itself seems limited to iPhone for the moment though. Probably because it takes advantage of cutting edge browser features.

According to Marc, jQuery's next focus is mobile. John Resig is consulting widely among interested parties to find out what makes most sense for mobile platforms.


Enterprise Java Hybrids for Cloud Computing - Eugene Ciurana
This was quite a high-level architectural discussion that covered the many components of a real-life company's IT infrastructure, the split between in-house and cloud servers, and the migration from a restricted to a scalable system as the company grew.

As usual from Eugene, it was a very well-informed presentation from someone who works at the coalface.


Java developer to iPhone coder - Matthew McCullough
If the aforementioned jQTouch and PhoneGap don't suffice then you will just have to get your hands dirty with Objective-C. Matthew McCullough introduced the development environment and language from the point of view of a Java developer. He squeezed an awful lot of information into one hour. I don't think I've ever been to a talk delivered so fast and with so little fluff. However he does it though, it works.

It was extremely practical, even advising how to avoid the iPhone Developer registration fee (up until you want to test on a real phone or sell through the app store anyway).

He explained actual lines of Objective-C code and highlighted the differences in terminology with the Java world.

Matthew also tried to tempt us with stories of enormous cheques paid out by Apple to iPhone developers.

Objective-C is a little less scary now, though it still doesn't look beautiful. I have an iPad but I don't have a Mac so I won't be dipping my toes in the water just yet.

0 comments: