This is a quick review of Codenvy from a Java perspective, but applies to other languages too.
I think it is time to make a point in time and think about the evolution of Java IDEs overtime.
Now, the time seems to have finally come. There are some multi languages online IDEs that in some ways support Java, but one of them I think requires a special look: Codenvy.
Don’t think of Codenvy as a replacement for a native full-featured development environment, but simply as an easy, quick and really funny way to code/test/run and debug applications with just a modern browser and nothing else. You can think of it as an alternative approach with unique features that it’s worth to give it a try.
There are many great features in Codenvy, but I’m simply enumerating quite a few that I think make Codenvy unique. For further information go to the codenvy documentation page (link below).
Simplicity as the way to go (Zero configuration)
One of the major advantages of Codenvy is the speed to get started. It is really fast to get started in a new project or get involved in one project you have gained access to.
You don’t need to install, administer or configure any server your project depends on. Instead you define/use a simple dockerfile (you can use many already available dockerfiles out there).
Starting a project from scratch and get running in a few seconds
By using factories you get started in seconds. Factories are one of the unique feature in the IDE that speed up your project. I think of Factories as some sort of template your project is based on, perhaps something similar to maven archetypes.
You can even use a factory without signing in. There is a concept of “Temporary” workspace, where you can use a project created from a factory and use it temporarily without signing in. In In that case, when you close your browser page, simply you lost your changes (nice to make some quick experimental tests).
Docker driven runners
When you build/run an application you are starting a docker container with the specified configuration for your project (defined in a recipe file) and then your application deploys and runs straightforward.
You can run your project in virtually any JavaEE Application Server. Just use/define a dockerfile and you’re done!
Many languages are supported by now (and many more might come!), but what really excites me about Codenvy is that it has great support for Java and JavaEE!
Multiple editors for you code with context help.
Management of datastores and execution of SQL queries.
Another dimension for collaboration
Distributed SCM such as Git or Mercurial are great ways to collaborate in a project. Codenvy already supports Git, but in addition to that, Codenvy brings another dimension for collaboration by sharing your workspace with other people.
Efficiency in resource consumption
From the server side point of view, when you develop in many other web IDEs, you’re consuming a lot of resources while you’re signed in; therefore you must pay a higher price (or get lower resources for free). In Codenvy, when developing, you’re just consuming Resources and releasing them as soon as possible, i.e. you run a docker VM when running a project, but no while in edition.
From the client side point of view, you have an html page for every client session, with so many less memory/cpu requirements than a full desktop IDE. In fact you can have many pages open within a low cost laptop.
What does the future bring to us?
This is just the beginning. Pandora box has been opened up… Desktop IDEs are not longer the only players in the game. Online IDEs are making his way and Codenvy has already made a big impact in the online IDE arena, differentiating from another online IDEs by incorporating key technologies such as Docker in its core.