Friday, March 12, 2010

App Engine Community Update

It's been a while since the last community update post, and you've probably been wondering what the App Engine community has been up to over the holiday period. There's been a lot of activity, so without further ado, here's your community update.

Open Source Projects

There were a lot of new App Engine Open Source projects released since the last update, for both Java and Python, and including everything from libraries to complete working apps.

gdispatch is an extension to the Python webapp framework that allows you to embed routes alongside your request handlers. SUAS is a Python library that provides straightforward authentication and session management for App Engine apps. If you're looking for a complete, lightweight framework, tipfy might be what you're looking for - it bills itself as "a cute little Python framework for App Engine which follows the basic concepts of web.py and webapp".

The Java community has been even busier, with members releasing simpleds and Objectify, both of which provide alternative interfaces to the App Engine datastore for those of you who prefer systems designed specifically with App Engine's datastore in mind over JPA or JDO. For your unit testing needs, there's Kotori Web JUnit Runner, which allows you to run JUnit unit tests in production. Finally, appleguice provides a sample application demonstrating how to integrate Guice dependency injection with GWT and App Engine.

Interesting Apps

The last few months have also seen a plethora of App Engine based apps released, many of which provide source code so you can deploy your own, or contribute to their development. We've picked out a few that we think you'll find of interest.

JobTracker is a Python app that provides an interface to allow tracking working hours and tasks in your team, and is licensed under the APL 2.

Nimbits provides a time series service on App Engine, allowing you to record regular measurements - be they server latencies or fishtank temperatures - and process and export them via APIs or a web interface.

nxdom is an interface designed to make picking the domain name for your next project easier; it operates on lists of recently expired domains, and its Python source is freely available.

OpenShare is a new banner exchange service targeted at open source projects; it's written in Python and is available under the GPL 2.

If you're feeling nostalgic, z-machine lets you play interactive text games through a browser interface, or over XMPP. You can even save a game in one interface, and continue playing in the other. If you're inspired by this, the Parchment project implements a z-machine interpreter in pure Javascript.

Worried about your app when out and about? App Engine Watch is an Android app that lets you monitor your app's quotas from your phone.

A lot of projects have centered around Twitter integration, with Pulse of the Planet letting you visualize tweets in real time on a map, while Lazytweet provides a friendly interface for convincing other people to do your work for you (or doing their work for them, if you're feeling generous). Tweet Engine makes tweeting using a shared Twitter account easier by allowing you to share an account with your group without needing to give them all the account password. It's also open source - you can get the source here and deploy your own, or just use the live instance at http://www.tweetengine.net/.

If that's still not enough microblogging for you, TypePad has released TypePad Motion, their open source community micro-blogging app. It's available here.

Runtimes

If your favorite language isn't Java or Python, that doesn't mean you're out of luck. As long as there's an implementation on the JVM, you can use it on App Engine! Several projects are improving integration between App Engine and other JVM languages.

This post discusses how to use Clojure on App Engine, while this post covers using Quercus - a PHP implementation for the JRE - with App Engine task queues. Finally, if Groovy is your language of choice, definitely give the gaelyk project a look, and if you prefer JavaScript, take a look at appenginejs.

Blogging

Many bloggers continue to turn out insightful and useful posts relating to App Engine. Here's a few that caught our eye:

If all the Twitter related projects interested you, and you're wondering about implementing your own, this article on building feedertweeter and this article on using Twitter's OAuth API on App Engine are probably of interest.

There's an excellent blog post on hitching.net about practical use of geohashing for geospatial apps on App Engine.

Just about everything on the gaejexperiments blog is worth a read if you're a Java coder. Recent posts cover topics such as using reCAPTCHA, using the Java blobstore API and using the task queue.

The Django-nonrel folks are showing some impressive progress - see their post on how to deal with noSQL databases, and read their blog for more information.

The wolfire blog has a great post on how AppScale helps prevent App Engine 'lock-in'. If you want to learn more, this post on the IBM developerworks site goes into more detail about AppScale.

If you want to keep up with blogs, articles, and news about App Engine, the App Engine reddit should be your first port of call. And if you want to see your own post or project up here, submit it to the reddit, or mention it in the groups!

No comments: