The IDE I'll be using for this project is Eclipse.
For the course, the computer labs will already have Eclipse installed and configured. Most of the students will also already have Eclipse installed on their home machines and/or laptops. But, they probably have the Eclipse IDE for Java Developers, not the one for Java EE Developers. We're moving into web programming now, so let's move to the version of Eclipse that has tools specifically for web programming (at this point, I have no idea if we'll need the extra tools or not...that's how software development goes when you're trying something new, you seem wise only after you've made your mistakes).
Head over to the Eclipse downloads page, and download the latest Eclipse IDE for Java EE Developers. Have some coffee, or take a walk in the sun, while you wait for the download to complete.
What the download gets you is a zip file. If you've never installed Eclipse before, just unzip this file somewhere (the root of your C: drive is traditional, but if you have another version of Eclipse there and don't want to overwrite it, anywhere will do). You'll end up with an Eclipse directory with a whole bunch of files and directories under it. One of those files immediately under it will be Eclipse.exe. Make a shortcut to that somewhere handy, like on your Desktop.
Start Eclipse, and wait for a bit more. When it asks you about the workspace, you can accept the default or change it. You should know where your workspace is if you aren't going to be using a hosted version control system, so you can regularly back up your code.
Now, for the plugins. Note that everything but the Google Plugin was part of the Pro Web 2.0 toolset, so credit goes to Jeff Dwyer for choosing them for his project. I'm just following his lead.
Google Plugin
This is an important one, since it takes what used to be a bunch of command line typing for managing GWT and App Engine projects and instead gives us Eclipse menus. See the Google page about installing this plugin. To find out what version of Eclipse you have (if you've forgotten what you downloaded), in Eclipse look at Help->About Eclipse Platform.
Once you figure out which of the URLs you need, copy that and then go into Eclipse's Help->Software Updates menu. Click on the Available Software tab, and then on the Add Site button. Paste in the URL from you copied from Google's page and click OK.
You should see now the option to download not only the plugin, but also the latest versions of GWT and Java App Engine. Go ahead and check all three and click the Install button. It'll take a few seconds to calculate dependencies, and then will display an Install wizard. Go ahead and click Next, and then accept the terms of the license agreements. Click the Finish button, and it'll actually do the install. Click Yes when it asks if you want to restart Eclipse.
We now have the Google Eclipse plugin, plus the GWT and App Engine files we need to develop those sorts of applications.
Subclipse Plugin
This plugin allows Eclipse to work with a Subversion repository (a particular type of online version control). That's the sort used by Google Code, so if you're making your project Open Source then you'll be able to use Google Code to host it. If you aren't making it Open Source, then you'll have to find another Subversion server to use (do a Google Search on free subversion hosting and you'll find some that are suitable for single person projects).
To install Subclipse, go to the Subclipse web site and click the Download and Install link on the left. Scroll down a bit to where it lists the links for the most recent version. Copy the link that's labeled Eclipse Update Site URL.
In Eclipse, go back to Help->Software Updates, and back to the Available Software tab to Add Site with the URL for Subclipse. Click the box next to that URL when it shows up in the list to install everything from that site. Click Install, Next, agree to the license agreements, and Finish.
Restart Eclipse again.
Find Bugs Plugin
Install the Find Bugs plugin. This plugin will look for some common causes of errors in Java programs. These sorts of errors will pass the compiler, but cause you problems. There's a huge variety of bugs that are looked for as part of this. Most you won't ever see, but if it saves you the time tracking down even one obscure bug, it'll have been worth installing.
That's it for Eclipse.
Showing posts with label java. Show all posts
Showing posts with label java. Show all posts
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)