
GAE + GWT 001
May 3, 2011Not a very useful heading but concisely states what this post is about – Google’s App-Engine and Web Toolkit.
With the recent influx of free time, I figured it would be best to learn and hone some new skills and dive into the world of app/web development. Obviously I’m using the term ‘app’ slightly differently to the round white fruit’s naming of an application on their magical phones or slate. Anyway, GAE I’ve found makes it very easy to create and deploy apps using their infrastructure and GWT helps build those apps using various widgets like buttons and input fields to create a desktop-like browser application.
Not sure what all that is about? Well, its not hard to notice that in the last few years, the web has transitioned very quickly into what is known as Web 2.0 with the introduction of AJAX . Go to almost any website and you’ll see that any action you perform now occurs immediately and doesn’t require the entire web page to refresh (as it once did traditionally). Even this blog I’m writing on allows me to move various windows about all seamlessly – it really is quite amazing.
Ok, enough ranting. The main reason for wanting to explore these solutions by Google is that I’ve been fortunate enough to play around with a lesser known tool known as Morfik. Possibly a pre-cursor to the Web2.0 model, Morfik was simple enough to use and developing web applications was almost akin to developing traditional desktop solutions. It was quite amazing what these guys have pulled off. Seemingly a few years later, GWT was announced but the push for it has not been as strong (possibly due to patent issues?).
Anyway, after installing the AppEngine and GWT SDK plug-ins for Eclipse, I moved onto playing around with the sample applications given. Click the magical run (or debug) button, and it’ll create a local instance of your app which you can point your browser to to see how your app will look and execute when it is actually deployed. This is very useful given the deployment times can range depending on the size of your application.
Moving on, I wanted to learn a bit more than just running the sample application. I stumbled across these tutorials, albeit slightly dated the main concepts were still relevant and split up into a nice 3 part tutorial for people with attention spans of a goldfish. Google’s StockWatcher tutorial is also a good place to start =)
Once I was happy testing my applications locally, obviously the next step was to deploy the application and show it off to my friends (who wouldn’t want to?). Using the Eclipse plugin certainly makes things easy: A simple click of a button and entering of user settings (such as application name and location) and the app begins to travel across the wire. Once complete, the app is available instantly to you for you to interact with and pass around to everyone – very cool indeed =)
One things I like about the deployment is that you can deploy different versions of your application and decide which one you want to be executing as the default. Useful for wanting to try out new versions without affecting the stable. Alternatively, I’ve decided to have a test location and deploy different apps as ‘different versions’ so I can essentially have multiple applications running under the same domain, though a prefix identifier is necessary to navigate to the specific one, for testing I don’t really care.
Currently I’m play around with the various services available such as messaging (email and chat) as well as standard web app serving. Most of these can be found at ‘[uname]-test ^ appspot * com‘ where uname is the same as this blog’s. The content serving from there is obviously volatile and will change at any time and simply serves as a place for me to test random things.
For now I’ll leave it there cos the blog post is getting to long which means less people will be bothered to read it. More progress updates to ensue! In the future I’ll try keep the word count to less than 500 (excluding notes)
*Yes, I know its bad to reference wikipedia but seriously, its a good source of information and the vast majority of people will trust it over a random page I’ve found.