2008

2007

IDE-driven development

▁ nov 18 2007

I’ve been playing around with Android lately, and since it comes with a very nice Eclipse plugin, I’ve been using Eclipse again. For the last 4 years, Emacs has been my only IDE, but before that I used Eclipse quite a lot. I was doing J2EE development back then, and Eclipse was a life saver.

Using the Android plug-in (ADT) got me thinking about a problem with these plug-ins … They can make things too easy. To build Android apps, you need some kind of logic. If you create a project with the Android SDK command line tool, activityCreator.py, then you get an Ant build file. With the ADT, you get no such thing because it does  it automatically.

“Great!” you might think. But no… The problem with this is that you make Eclipse a dependency. If you want to share your code with others, you’ll have to commit the Eclipse-specific files to make sure it’s recognized as an Android project in other Eclipse installations and everything is generated properly. The problem with this, of course, is that everyone has to use Eclipse… That might make it a little hard to do automated building, testing and such things.

The solution might be to  generate  an Ant build file, and add it to the project. That will work, except you’ll have problems running the Ant file in Eclipse, since there’s an auto-generated file that is set to be read only by the ADT. In this case the ADT is really just trying to be helpful, but the road to hell is paved with good intentions. sigh

Nothing wrong with IDE plug-ins that help out, but any plug-in that has magic such as this, is flawed. There are many things IDE plug-ins can do to help, but making projects IDE and IDE plug-in dependent is not something they should do.

← Previous: Using the Eclipse Android plugin  //  Next: Multi-hop remote editing with Emacs and Tramp

comments

powered by