JetBrains has introduced remote development for its range of IDEs as well as previewing a new IDE called Fleet, which will form the basis for fresh tools covering all major programming languages.
What is wrong with IntelliJ? "The way software is being developed has changed significantly in recent years," the company told us. "While our existing suite of IDEs is being used by millions and does support most practices employed by developers, some of its architectural specifics impose certain limitations. One example of modern day is projects that use multiple technologies. Fleet will support all of them and developers can only use one IDE."
Will Fleet replace IntelliJ? "We plan that both the current IntelliJ-based product line and Fleet will co-exist for quite some time, leaving the options open," the company said.
There is a free IntelliJ Community Edition (which forms the basis for Android Studio), but the licensing for Fleet is not yet determined. "We are still working on licensing and pricing and we are considering open-sourcing parts of Fleet's codebase. But we do not have details yet," a spokesperson said.
There are also no specifics on timing. Invitation-only preview starts today, though anyone can apply, and "we will be inviting more and more early adopters gradually based on the feedback we receive and our ability to process it," we were told. "We do not set specific deadlines for the release and we envisage that the preview (closed and then public) will run for the bigger part of 2022."
Remote development with IntelliJ
JetBrains has also introduced remote development, not only for Fleet, but for IntelliJ-based IDEs as well. "You can host your source code, toolchain, and IDE backend on a remote server, and use a local thin client based on the IntelliJ Platform to write, navigate, refactor, run, debug, and test your project. The experience is like working with a locally hosted project and a locally installed JetBrains IDE," said the post today. There are several components, including a back-end service, a local thin client, and a connecting application or plug-in called Gateway. There are also links to Space, the JetBrains collaboration tool.
"Space now provides the ability to create a dev environment for any repository in a project," the company said.
The Register spoke to Kirill Skrygan, programming lead for remote development as well as Code With Me, which enables multi-user programming. Why is the company introducing this feature? "It's been on the table quite a while. We were constantly thinking about how to make a so-called 'Cloud IDE'," he said. "Currently everybody uses AWS services, Azure services, infrastructure as a service, everything is in Docker, everything is in Kubernetes clusters. It seems obvious that the IDE should be also running in the cloud and accessible as an internet service."
Linux ... file system interaction is far faster than Windows or Mac OS, two to three times faster
"The industry is moving towards it in lots of aspects," said Skrygan. "First is security, enterprise organisations don't want their developers to have the source code on laptops. Second is performance, so we are not limited to the local performance of a laptop. What is also quite important is that Linux, in terms of file system interaction is far faster than Windows or Mac OS, two to three times faster. The third thing is accessibility and sharing. Before, we have Git and another person has to pull all the sources, check out the branch. Then it will turn out people [that] lack some dependencies on their laptop. Here there is no such problem." He also noted that for those working sometimes in the office, and sometimes remotely, having one development server simplifies resuming work.
- Does the world need another cross-platform framework? Tough, here's JetBrains with Compose Multiplatform
- JetBrains shoves TeamCity into the cloud, pitches Kotlin for build pipelines because YAML is 'really a pain'
- A swarm in May is worth a load of hay, is it? JetBrains Code With Me collaborative programming tool released
- JetBrains' build automation software eyed as possible enabler of SolarWinds hack
JetBrains is not alone in offering remote development, which has come to the fore recently with projects such as Gitpod or GitHub's Codespaces. There is a difference, though, which is that the JetBrains solution is designed to be self-hosted. The feature also comes as standard for paid-for IDEs. "We do not charge anything for remote development for our paying users. Right now remote development is not applicable for community IDEs. This is on our road map next year," Skrygan said.
Another advantage of controlling the infrastructure is that there is no uncertainty about whether a remote environment is temporary or persistent. "If you have your own SSH server, everything will be persisted. This is your own server, your own Linux, you can manage it any way you want," he told us.
According to Skrygan, the likes of Gitpod and Codespaces are not necessarily competition, but can work with the JetBrains solution. "All of these orchestration tools might have an integration with our remote development for IntelliJ," he said. "We are already working with lots of orchestration vendors to make it happen and quite sure that the next year you will see IntelliJ with third party vendor connections."
What is the release status of remote development? The feature is built into the 2021.3 release of IntelliJ IDEs, coming this week, for IDEA, PyCharm, GoLand, PhpStorm and RubyMine, as a beta. "We have also introduced JetBrains Gateway, a thin launcher application, designed to be used by those who don't want any local development whatsoever," said Skrygan. "This is released for general acceptance this week." The reason the remote development in IDEs is beta, but the Gateway is not, is that "we want to stress it a bit and collect the feedback. In the next quarter it will be for general acceptance," he said.
What about Android development? "What could be done is to provide cloud infrastructure with servers to run Android applications and to provide mobile device farms to test. Right now we are negotiating with Google how to make it possible. I think next year we will see some solution for both Code With Me and remote development for Android Studio."
Apple's iOS is a different matter. "More then 90 per cent of developers are still using Xcode," said Skrygan. "So we have to collaborate with Apple regarding this."
In the programming world, Microsoft, with Visual Studio and VS Code, and JetBrains, with the IntelliJ range including Android Studio, between them cover a large proportion of programmers. Now that IntelliJ is supporting remote development, it means that this is a feature which will be widely available, though take-up will be gradual and some will continue to prefer the control and simplicity of an entirely local setup. It is notable, though, that Skrygan touted this as a security feature, and if enterprises agree, the pace of adoption may be relatively fast. ®