You will be surprised, but we decided to create a new IDE from scratch and put together a bold team with a proven success track in creating tools inside JB. And right now we have a prototype and a bunch of bicycles.
Our program consists of several parts that communicate with each other over the network.
The first part is an editor that is written in a new cross-platform UI framework. When we made this framework, we were inspired by React.js and Swift UI.
The second part is a small program written in Rust that tells about the arrangement of files on disk and starts processes. File watcher, process monitor and HTTP client in one binary.
The third part is a server that analyzes the source code of the project. It can be IntelliJ, ReSharper, or LSP server.
This architecture adds flexibility: if you run all the parts on one computer, you get a classic IDE. And if on different machines, it will be convenient to work in the cloud or in a container.