Part of the problem with teaching something that's still changing as quickly as GWT and App Engine is finding a suitable text book. GWT is at version 1.6 right now, and the books I've seen haven't caught up yet.
So far, I've received evaluation copies of Pro Web 2.0 Application Development with GWT, and Accelerated GWT. Kudos to Apress for getting those out to me very quickly! I'm still waiting to hear from Manning Publications on a review copy of their GWT In Practice.
Which book I end up using will depend in part on how this sample project goes. So far, I'm very impressed with the topics covered in Pro Web 2.0 Application Development with GWT. The author, Jeff Dwyer, takes you through the development cycle for a full web 2.0 application. Along the way he talks about how he solved those issues that always come up when you start to move away from toy sample applications. In particular, his discussions of real web 2.0 security concerns are excellent.
But, the tool stack Dwyer chose for his project may not match what I'll end up using. I'll give some of the tools he chose a try, but since I'm using App Engine for the server and he didn't, not everything will match. So I'm not sure it'll be a good text for the course, even though I consider it to be an invaluable reference for web 2.0 development issues.
Accelerated GWT looks very nice, although it's more of a general book, and not focused on developing one specific application. It covers GWT 1.4, though, and the version I'll be using will be 1.6 (it's hard to tell what it'll be up to by spring 2010, when the course runs).
Even so, it seems like it would function better as a general text, since it nicely covers server integration but doesn't rely on a particular tool stack.
We'll see what other books I can come up with to review, but I'm not going to wait on picking the text to start development. My free time is pretty limited, so it'll take most of the summer to put this together.
If I only knew what I was going to develop...
Tuesday, May 19, 2009
Monday, May 18, 2009
Hello World
This blog exists for one purpose only, to document my sample GWT & Google App Engine project. This will be used as a guide for students in a Web Applications class to be held Spring 2010. I'll start by assuming you know what GWT and App Engine are, because otherwise the other posts are going to be either boring or mystifying, or both.
I haven't decided what the project will be yet; I'm leaning toward something more complicated than a typical to-do list sample, because that'll give my students a better guide (along with giving them the odd laugh or two as they see my mistakes along the way).
I'll be using GWT for the client side because my students already know Java. Not all of them will have had Swing programming yet, but I'm confident they'll come up to speed on that quickly enough. Which wouldn't be the case if I decided to go with Java Script for the client side.
For the server side I'd really like to use Python, and would if it were just my own project. But again, my students will already know Java so it's hard to justify switching languages on the server. Especially since App Engine is available in a Java version that plays well with GWT Serialization.
So, GWT on the client, and Java App Engine on the server. The next few posts will be about getting the environment set up. We'll be using Eclipse with some relevant plugins for both client and server code.
I'm going to be using SVN for managing my project. My students are welcome to follow along and do that, too. That isn't required, but if you've ever deleted a big Java file from your hard drive accidentally, you know the motivation for having every version saved somewhere safe.
That's it for the first post. Hopefully by the time I've done all the setup posts, I'll have figured out what this project is!
Important Note: I'll be posting Java code in many of the posts. Code does not format well on the blog posts, so don't expect to be able to simply copy and paste the code into your files. Treat the code as a text book example...type it in yourself to get a feel for what it's doing, rather than copying and pasting.
I haven't decided what the project will be yet; I'm leaning toward something more complicated than a typical to-do list sample, because that'll give my students a better guide (along with giving them the odd laugh or two as they see my mistakes along the way).
I'll be using GWT for the client side because my students already know Java. Not all of them will have had Swing programming yet, but I'm confident they'll come up to speed on that quickly enough. Which wouldn't be the case if I decided to go with Java Script for the client side.
For the server side I'd really like to use Python, and would if it were just my own project. But again, my students will already know Java so it's hard to justify switching languages on the server. Especially since App Engine is available in a Java version that plays well with GWT Serialization.
So, GWT on the client, and Java App Engine on the server. The next few posts will be about getting the environment set up. We'll be using Eclipse with some relevant plugins for both client and server code.
I'm going to be using SVN for managing my project. My students are welcome to follow along and do that, too. That isn't required, but if you've ever deleted a big Java file from your hard drive accidentally, you know the motivation for having every version saved somewhere safe.
That's it for the first post. Hopefully by the time I've done all the setup posts, I'll have figured out what this project is!
Important Note: I'll be posting Java code in many of the posts. Code does not format well on the blog posts, so don't expect to be able to simply copy and paste the code into your files. Treat the code as a text book example...type it in yourself to get a feel for what it's doing, rather than copying and pasting.
Subscribe to:
Posts (Atom)