JetBrains is popularly known for the development of multiple IDEs that cater to a number of development niches such as web, Android, and data science.
Recently, JetBrains released a preview of the newest tool in its IDE arsenal, JetBrains Fleet–a multi-language programming IDE. JetBrains Fleet has been designed to be a lightweight IDE that supports multiple languages and features.
These characteristics make Fleet a new contender in an IDE world popularly dominated by VS Code. But what are its key features, and how does it compare to VS Code?
JetBrains Fleet’s System Architecture Design
JetBrains Fleet is mainly written in Kotlin on top of a JVM platform. This is because of the performance and the cross-platform nature associated with JVMs allowing support for multiple operating systems.
The IDE utilizes a distributed architecture design that supports local standalone instances, remote development, and collaborative development environments. This is made possible by a number of components:
- Frontend Component: This component serves the UI, launches the fleet in the default editor mode, parses files, and performs limited syntax highlighting and basic code completion.
- Workspace: The workspace component handles a user’s working sessions. It manages the different running states. State management functionality is run as a process within Fleet or as a different process depending on whether you are running Fleet locally or in a remote workstation.
- Backend Component: The backend component is a decoupled service that is responsible for indexing, navigation, and static analysis. The service processes request sent by the workspace and sends responses to the target components.
- Fleet System Daemon (FSD): FSD is written in Rust. This component is responsible for executing the commands on the terminal, running code, and build actions.
Fleet’s Smart Mode Functionality
The smart mode handles advanced IDE functionality such as smart code suggestions, advanced code navigation, code refactoring, and inspections. This feature is provided by back-end components.
According to the documentation, Fleet supports two types of back-ends, an IntelliJ code-processing engine, and the LSP server.
When you enable smart mode, Fleet will launch a particular back end depending on the programming language you are coding with. For instance, IntelliJ code-processing engine for the case of Java.
Whereas the LSP server(this server communicates with Fleet using the Language Server Protocol) is launched when you are using other programming languages such as Rust. Other Smart Mode functionalities include importing projects, executing Git commands for version control, and running scripts.
Fleet’s Multi-Language Support
Fleet currently offers support for multiple programming languages such as Go, Python, JavaScript, Java, Kotlin, TypeScript, and Rust with additional support for other languages using plugins.
JetBrains terms this support as having a polyglot experience. The feature likens Fleet to VS Code as it supports multiple languages. Fleet automatically detects your project configurations from the source code minimizing the need to configure the project in the IDE.
Collaboration and Remote Features in Fleet
According to the documentation, Fleet has been designed to support a number of workflows that make it easy to work on projects. Fleet has built-in support for Code Space, Cloud, Docker, and Remote Machines.
You can run Fleet locally or access dev environments supporting Fleet’s code engine and language servers on any of the supported environment configurations.
Additionally, Fleet has built-in support for code collaboration. You can share your code editor, and debugging sessions, and perform code reviews, without installing any additional setup.
This is done by initiating a collaboration session on your local machine or connecting to a shared remote development environment with your team.
How Does JetBrains Fleet Compare to VS Code?
If you’re already using VS Code, you may want to know what Jetbrains Fleet does better.
The Installation Process
To install Fleet locally, you will need to first install JetBrains Toolbox. The toolbox contains all JetBrains IDE applications including Fleet, unlike VS Code which only requires you to download and install its executable file.
The Subscription Plans
Fleet’s preview version is currently free, however JetBrains plans to release the professional stable version with a paid tier and a free plan. The stable version will have all the features required for the development of commercial projects while the free version will have limited capabilities.
VS Code on the other hand is open-source and has a rich extensions library for building both hobby and commercial projects.
Memory Consumption
Fleet is a lightweight IDE but it takes up more memory space than VS Code. I have run the same project on both VS Code and Fleet and as you can see there is a big difference in memory consumption between the two IDEs.
User Interface
Fleet has a simplistic UI. When you launch the IDE, a Notepad-like code editor is opened. The workspace is not cluttered with buttons and menus.
However, it takes some time to get accustomed to the location of all essential development tools like the terminal. Conversely, VS Code has all the essential tools on the top and left navigation tabs.
A Futuristic IDE
Overall, JetBrains Fleet is a very promising IDE with awesome must-have development features. Its core features make it a strong competitor in the IDE world dominated by VS Code.
However, it might not kill VS Code. VS Code is more mature, has an active developer community, and is widely supported by professional developers.