4

I now this question has been asked somewhat similarly before, but I have done hours of research into some sort of application, whether browser based or not, that will allow multiple people (ie my friend and I) to collaboratively work on a Java project. In the past, my friend and I have simply been using a flash drive or dropbox to periodically send each other files and changes, but that has quickly become tedious.

I've gone through a number of different sources, such as EtherPad, Cloud9, and EFC DocShare, but none of them worked the way I wanted them to.

At the very least, I wanted something that:

  1. Can display changes in real time. In the past, we had to have one person code while we discussed changes and new content to be added, so being able to both code at the same time is ideal.
  2. Stores a project on a cloud/synchronizes files between the users.
  3. Acts like an IDE, such as Eclipse or Netbeans, in that errors (such as missed brackets and semicolons) show up in real time, and not after the program is compiled.

Things I have tried:

  • The browser based Cloud9 application, but they don't have native Java support. There are, however, compilers and runners that can be easily made to allow Java support for Cloud9 here: https://docs.c9.io/v1.0/docs/java-runner.
    Despite this, it was rather confusing to set up, and even when it was finally working I had to compile and then scan the console for all the locations of errors in the program. The whole point I use an IDE is so it will catch small "grammar" errors when I type them, not after I compile it. Maybe that means I'm a bad programmer, I don't know.
  • I then moved to using ECF's native DocShare support, which is an Eclipse plugin. The documentation for that, https://wiki.eclipse.org/ECF/DocShare_Plugin, is not plentiful, and it is outdated. I was able to send and receive messages from my friend via eclipse, but we could not get file sharing to work. Had the file sharing worked, it would be exactly what I needed since it synchronizes each person's workspace, allows for multiple users to type at the same time, and will "spellcheck" as you code.
  • Etherpad I looked at too, but it does not have native Java syntax support. As such, it not only does not check the code as I type, but it doesn't highlight stuff as an actual IDE does.

So in summary, what is there that can allow for real-time multi-user programming, cloud or synchronized file sharing, and compiles code whilst you type.

2

I would suggest you Koding.

What is Koding?

Koding is a developer community and cloud development environment where developers come together and code in the browser – with a real development server to run their code. (source)

Koding is web-based development, so you can access that through browser. You will be given a virtual machine in the cloud where runs on Ubuntu OS. Koding supports many programming languages. If you want to know more what the features will you get, you may check it out here.

The sum up, you will be given by Koding:

  • Virtual Machine
  • IDE
  • Community

In collaboration case, there is Koding Collaboration. You can share your resources with your team, students, peers or friends. Resources here mean not only your structure file/directory but also your VM, IDE, Terminal, and Drawing Board. This collaboration happens in real time. I recommend you learning this amazing guide which provided by Koding.com.

I hope this answer is what you need. I feel something is missing here, though.

  • @This is great, thanks. The only problem, is that it is quite costly, but I have not found any freeware that is even close to this. Thanks! – Rezkin Jun 29 '15 at 17:24
  • You're right, @Acejhm. It's quite costly. Me too, I haven't found any free service out there. You're welcome. – meisyal Jun 30 '15 at 4:12
  • @ Shokatsuryō I didn't look because I can't really afford it atm, but does Koding correct your code as you type? By that I mean, if I type a syntax error, does it catch it real-time? – Rezkin Jul 1 '15 at 0:47
  • Unfortunately, No, it doesn't. There isn't syntax error highlighting. But, the IDE provides autocomplete based on the grammar you choose (programming language detection). Sorry. – meisyal Jul 1 '15 at 4:51
  • It's fine, to be honest, I doubt there is anything that exists that is essentially a full fledged ide with collaborative support. A new project...I guess... :P – Rezkin Jul 1 '15 at 16:09
2

Another tool I have only heard of is Upsource which is really more of Code Review tool but it sounds like it might have some nice features for Java programming.

1

Note this doesn't answer with exactly what you are looking for as I have never heard of any such program. So I am proposing something that might be better then what you have tried in the past.

You might consider using Github or Bitbucket to share your code these are based on software version control and they are how a lot of professional developers share code with each other. For software development they would be a lot better then Dropbox. I would probably lean towards Bitbucket because:

  1. Can have private repos for free.
  2. I like Mercurial better then Git. (I use the Tortoise clients for both on Windows)

If that isn't enough you might consider a desktop sharing app like Google Hangouts. This way one of you can be typing but you can both see what is being updated and could pair program this way.

1

I think there are two other options to consider:

https://www.nitrous.io/pricing/ & https://c9.io/pricing

I have limited experience with both... and they're both capable.

The way I look at it, if you have the budget to start, then Koding might be the best option; however, if you're starting with a very small team and/or want to really "work" on something before deciding to commit, nitrous & cloud9 are better options to start.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.