Home > Programming > Thoughts on AppEngine and Java

Thoughts on AppEngine and Java


Coming soon to a cloud near you, apparently.

Thoughts :-

This already exists with these guys, who must be pissed at Google entering their market, although they say they always expected it. Nice thing about Stax is that you’re not bound to a single framework type; there are templates for standard JSP projects, Jython projects, JRuby on Rails projects. Will AppEngine/Java be quite as flexible ? Based on the Python implementation I’d say probably not.

Which web stack will they go for ? I imagine, like the Python version, Google will give you a default stack to get you up and running quickly. With the Python version you get

Of course you’re not stuck with these, but I imagine a large proportion of folk playing with the stack stick with the default options [why go to the bother of installing a full Django stack on AppEngine when a) you get the templates for free already and b) you can't use Django models as you're stuck with BigTable ? All that work just to get some controller logic!]

Last time I looked [2006], Java was plagued by overabundance of options at each of the MVC layers, and a multitude of different frameworks binding different MVC combinations together, with no obvious market leader. AppEngine is going to give a massive stamp of approval to whatever stack it choses as its default. My guess would be something proprietary at the model level [to deal with BigTable], no idea at the controller level, maybe simple JSP for the views.

Just please God don’t let them use GWT for the view.

This is Google going for the enterprise market. Who uses Python in the enterprise ? Undoubtedly some, but the Java market must be orders of magnitude bigger.

How does the individual developer benefit ?. If the Python example is anything to go by, Google will design something which is extremely simple to get up and running. No more stitching different frameworks together, no more looking for cheap Java hosting, no more reams and reams of boilerplate code. Hopefully you’ll be able to focus on getting your app code running, and getting it out there quickly. If you’re lucky, maybe your codebase will only be 3x the size of the Python version!

.. which would actually be a big win. . The one serious reason to use Java for webapps is the performance of the JVM versus something interpreted like Python. A lot of my recent enterprise stuff has Python/Ruby webapp front ends, but they have to call a separate Java server for anything performance intensive; a decent Java web stack would mean you might be able to integrate the two layers together and do away with all the request/response marshalling code between them. So here’s hoping.

Categories: Programming Tags: ,