3 ms·
Hi: I am the eclipse che project lead & founder of codenvy. If you are playing with it - try out 4.0 branch, it has the new designs & architecture which makes
by TylerJewell 11y ago
Hi: I am the eclipse che project lead & founder of codenvy.
If you are playing with it - try out 4.0 branch, it has the new designs & architecture which makes it near localhost.
What we are doing behind the scenes is binding your workspace into an environment which is powered by machines. You can either have a localhost machine or a docker machine. Right now each workspace can only be bound to a single machine environment, but in a couple months we'll release multi machine bindings, so that you could launch a docker compose, for example, as a way to bind your workspace.
The binding of your workspace happens behind the scenes. When you boot or shutdown the workspace, we take care of managing the machines. If you are using docker, then those machines are running out of process. If on linux we use docker natively. We use docker machine on mac or windows.
Once the machines are booted, we bind all of your projects into the workspace, which are mounted into the machines. Inside of the workspace machine, we launch another version of che. Based upon the programming language you choose, we are running intellisense services inside of the machines. For java, we actually run the native JDT code.
We then put RESTful wrappers around this, which enables the browser to have full intellisense capability. We have more work to do in integrating the JDT code with our restful wrappers and the UI, but it works well.
We now support refactoring, a lot of content suggestions, find usages, and so forth.
You can snapshot your workspace and use that image to load it again.
Your files are dual mounted between Che the workspace manager and your workspace environment. If you edit files in one, they are updated in the other. so you can ssh into your workspace or not. We provide a terminal into the workspace as well.
When you execute a command, we translate that into a process and then docker exec it inot a machine as well.