Ganymede
No, not that one, this one! With the recent release of Eclipse 3.4, also known as Ganymede, I thought I'd write about my experiences with it so far. If you're doing web development using ColdFusion or Flex and you aren't using Eclipse yet... well, read on before you decide whether you should start now or not.
When the Eclipse project has one of these large releases, it's not just about the runtime application that houses all your favorite plug-ins, it's a large collection of loosely-related projects all releasing together. I think that's what makes these releases so interesting - because most of the projects under the Eclipse umbrella are maintained by separate groups, there's an awful lot of new stuff in a large Eclipse release. Eclipse 3.4 contains a slew of new features for Java developers, as well as a lot of productivity enhancements for RCP Plug-in developers. I am neither of those. In fact, truth be told, there wasn't any single compelling feature that has made me want to upgrade to 3.4. The driving force behind my desire to have the latest and greatest is just that - Eclipse, in my experience, has always improved in terms of performance, stability and overall usability with each release, and 3.3 was starting to feel a bit pokey (having nothing to do with the multitude of plugins I'd installed, I'm sure.) The one main reason I held off on upgrading was the Flex Builder plugin. I remember trying to get FB2 to work when Eclipse 3.3 came out, with dismal results, so when FB 3.0.1 was released, featuring support for Eclipse 3.4, it was the perfect opportunity to make the jump.
For those of you who have been using Eclipse for some time, you'll no doubt be familiar with its Windows-like partiality to complete reinstallation. While downloading, unpacking and setting up a fresh copy of Eclipse cannot hope to compare with the eye-gougingly good time that is reinstalling Windows, it's still a pain. Using extension folders (folders where one can store all of one's plugins, sharable amongst multiple Eclipse installs) made things less painful, but if you're like me, and you surely are, you cannot go through a reinstall without cleaning house, which means going through your plugins, making sure they're up to date, throwing away old versions, etc. All of this is to say that I started 100% fresh when I installed Ganymede, and I'd recommend you do too.
My first impressions are that it is noticeably faster, once it starts. It just 'feels' snappier, even compared to a clean install of 3.3. I opted for the JEE version, which includes the Java Development Tools, Web Development Tools, Mylyn and several other defaults. (I'll add a whole post about Mylyn soon.) Realizing that my trustworthy Subclipse SVN team provider hadn't been updated in quite awhile, I decided to try out the newly-adopted (by Eclipse) Subversive plugin instead. The most important thing about getting Subversive up and running is to get the SVN connectors, which aren't included in the update list by default. I'm not sure why this is (probably because they aren't hosted at eclipse.org) but it took longer than it should to figure this out. For reference, the update site URL can be found here at Polarion's site. The second thing to note is that if you wish to use Subversive with any projects previously managed by Subclipse, you'll need to disconnect them first. For me, this meant opening up Eclipse 3.3, selecting all projects under SVN control and disconnecting them using the Team menu. Be sure not to remove the .svn folders! I was hoping I could use Subversive's "Share Projects" feature, which appears to allow for sharing multiple projects from a common repository location, but it crapped out at the last form and I had to share each project manually. Not a big deal for the number of projects I have, but I can see how this could be a real pain.
Next up was Flex Builder. Well, this will be a short paragraph as it worked without a hitch. I haven't tried out any of the improvements in Flex 3.1 yet, but I plan on playing with the Astro (Flash Player 10 beta) features soon. I also added Aptana Studio, which seems to be working just fine. The instructions on the Aptana site mention Ganymede-specific steps to follow, but they aren't required, just use the update manager as normal.
Finally, it came time for CFEclipse. I love CFEclipse, I've been using it for years, it's the reason I started using Eclipse in the first place. I admire all the work done by Mark Drew, Stephen Miligan, Rob Rohan and everyone else who's worked on it over the years. Like so many open source projects, though, the folks maintaining it need to eat, and thus it tends to lag behind a little. Thus, I wasn't all that surprised to read a notice on the cfeclipse.org site advising users to stay with Eclipse 3.3 as CFEclipse was known to not work well with Ganymede. Undeterred, however, I decided to try out the bleeding edge beta, and I'm happy to say that, so far, it appears to work. I don't use much more than the syntax coloring and code completion, so your mileage may vary, but it was a relief to see. I'll update this post if any major issues crop up.
Speaking of updates, one of the new Ganymede features that I was directly looking forward to was the new "p2" update system. I'm finding it much cleaner and easier to use than the previous system. It basically combines the Software Update and Manage Configuration systems from previous version of Eclipse. It's almost too simple, actually, as I keep looking for conflict notices that have yet to appear.
Overall, I'm quite happy with Ganymede so far, and am looking forward to streamlining my development processes. Whether new developers should begin their relationship with Eclipse on Ganymede depends on what kind of developer you are. If you're doing Flex development, I say go for it! Just be sure you get the latest Flex Builder plugin. If you're doing ColdFusion development, and you aren't afraid to try bleeding edge versions of open source software, jump right in! If, however, you need more of a guarantee of stability, or don't want to muck about with deeply-nested config files, grab Eclipse 3.3 and the latest stable build of CFEclipse (1.3.1.6) - either way, you won't be sorry. Now if only I could get Apple to release Java 1.6 for 32-bit Intel machines...