For Java development, I use the best* Java IDE available, IntelliJ. My friend who I did some java programming with the other week uses Eclipse. Working together on the same project^, we thought we’d try using Dropbox to sync our work, since it was only a three day project with 2 people, so setting up a fully featured source repository wasn’t needed, and may have actually been harder to use than Dropbox for the same project.
Anyway, I thought I’d report back on how it went. It went really well, considering I was expecting it to break in the first 10 minutes. If having 2 IDE’s wasn’t enough to potentially cause problems, conflicting files was sure to halt us after 20 minutes. As it turns out, we didn’t really have any conflicting files that caused problems, though as I mentioned, it was only a small 3 day project, and we were both in the same room. 2 IDE’s? Well, naturally, Eclipse doesn’t support IntelliJ, so it was up to IntelliJ to support Eclipse, which it did better than expected. It did crash once when the .classfile was changed by my friend and Dropbox automatically synced it, but considering it was doing all the inter-IDE support and Eclipse was just using it’s own stuff, and we were using Dropbox for automatic syncing, I’ll let that small issue slip.
A few things to be aware of if you are going to try something like this out:
- It only really worked because it was a small project and we were in the same room. We were able to talk to each other to pretty much avoid any file conflicts. Becasue of this, I think it was better than using a source control system like SVN. That also said, start adding more people, or making it a bigger project, and all of a sudden source control is starting to look really good.
- Eclipse will need some setting’s changed to automatically refresh files when it detects changes. I think Eclipse has some form of caching system, so if a file gets changed on another computer, it will have an “out of sync” message. I don’t know how to do this, I don’t use Eclipse, and IntelliJ doesn’t have a problem with it.
* Subjective, I know.
^ Annoyingly IntelliJ and Eclipse use the word project to mean different things. We were working on the same task if that makes it better.