JetBrains has unveiled Projector — a tool and framework that will enable developers to run JetBrains IDEs and the Swing app remotely on their network.
The developer tools company’s Oleg Chirukhin explains the key benefits in the news release — here.
“Swing is a graphical widget toolkit for Java. Current JetBrains IDEs use Swing to draw the UI. The same is true for other IntelliJ-based IDEs, like Android Studio,” he says.
“Projector is a self-hosted technology that runs IntelliJ-based IDEs and Swing-based apps on the server, allowing you to access them from anywhere using browsers and native apps.”
Why might developers want to do this? Many circumstances might fit the bill. Some of these issues are particularly common in large companies with huge infrastructures, notes Chirukhin.
Projector — which is open source — is particularly suited to address situations where you need to run code near the runtime or database to reduce roundtrips.
It’s also going to be useful for developers operating in high-security corporate environments or on really large projects, or if a local copy of source code is prohibited.
More benefits
Developers may also need to run an IDE in a GNU/Linux environment on Windows machines or even on non-conventional operating systems like ChromeOS, or want to turn off a machine while the app continues to run on the server.
Other situations include remote debugging server-side (devtest, devprod), or working with VM or Docker images with debug sources and a pre-configured IDE.
“Projector does not support collaborative development. If you need a collaboration tool, try Code With Me. We’re also working on a new remote development solution that combines the functionality of Code With Me and Projector. This will help further address network latency problems,” says Chirukhin.
There are many more details on Projector in Chirukhin’s full JetBrains article – click here.
“You can use either a browser or native app to connect to the IDE. The native app offers better functionality (it offers keyboard shortcuts, for example), but it is only available for desktop operating systems. Currently, using a browser is the only option for mobile devices, but in the future we plan to create native clients for mobile platforms too,” he says.
You can find more information, along with the most important server-side code, here on GitHub.
( Photo by Markus Spiske on Unsplash )