Start of main content
Talk type: Talk
Making a desktop IDE distributed and collaborative
In the year 2021, two particular features landed in the IntelliJ family of IDEs. Code With Me—the ability to invite and collaborate with others on the same project. Remote development is the feature that allows launching the IDE as a backend on a remote machine or a cloud that users can get access to instead of setting up and developing code locally. While the product-wise and usage differences are clear, they have a lot in common from the IDE synchronization perspective and are created using the same technologies. In this talk, we’ll be exploring the way such synchronization is performed, how one can separate an extremely big and complex system with tons of plugins into several parts; and what it takes to transform a single-user desktop application into a server capable of handling multiple clients.