3 ms·
>But what does distributed mean in this context? The older Jetbrains IDEA IDE is a monolithic local application. E.g. it does both UI navigation _and_ batch p
by jasode 4y ago
>But what does distributed mean in this context?
The older Jetbrains IDEA IDE is a monolithic local application. E.g. it does both UI navigation _and_ batch processing work like source code indexing.
Fleet is re-architected to be "distributed" aka "client/server" style into a "lightweight" frontend + "heavyweight" backend. E.g., the frontend does UI navigation and basic syntax parsing but the backend (which can be on remote servers) can do full codebase indexing. As a bonus, the code index database can be shared by many frontends.
Code indexing for huge repos (e.g. 1 million LOC) takes a very long time and is one of the complaints of classical IDEA IDE performance being sluggish.
Take the "code indexing" example and extend it to other "heavy" backend batch processes like linting, testing, etc. The backend can also be in the cloud.
As a footnote, Fleet is also a competitive response to MS VSCode by having collaborative features. But my comment mostly answers the "distributed" aspect.
Related articles that also have the client+server diagram:
https://www.infoworld.com/article/3664112/jetbrains-fleet-the-future-of-ides.html https://www.infoworld.com/article/3664112/jetbrains-fleet-th...
https://blog.jetbrains.com/fleet/2022/01/fleet-below-deck-part-i-architecture-overview/ https://blog.jetbrains.com/fleet/2022/01/fleet-below-deck-pa...
>frontend + backend is not distributed, but it definitely is client/server architecture
EDIT to clarify: the "distributed" is describing "distributed application" of client+server ... like 1st sentence of wikipedia : https://en.wikipedia.org/wiki/Client%E2%80%93server_model https://en.wikipedia.org/wiki/Client%E2%80%93server_model
- tester756 4y agoso, modular? :) crud app with frontend + backend is not distributed, but it definitely is client/server architecture but that's just nitpick, iirc "distributed" means something different in their context
- bombardier6789 4y agoWhat would be your definition of distributed?
- capableweb 4y agoGoing beyond the traditional client<>server/thin client architecture with at least 2 servers is what I'd consider distributed.
- jasode 4y ago> with at least 2 servers is what I'd consider distributed. There are several meanings of "distributed" : (1) multiple servers coordination like Google's MapReduce BigTable, Cassandra, Hadoop, etc (2) describing a split client+server architecture that may have just 1 server. This usage of "distributed architecture" in discussions was more common in 1980s/1990s with the rise of client/server computing. Visual Basic CRUD, PowerBuilder, SAP R/3, etc. In the Jetbrains article, if you do Ctrl+F search for all occurrences of "distributed", it is clear they're talking about meaning (2): https://blog.jetbrains.com/fleet/2022/06/fleet-below-deck-part-iv-distributed-transactions/ https://blog.jetbrains.com/fleet/2022/06/fleet-below-deck-pa... To answer your previous question: >I'm guessing they mean the architecture is decoupled, [...] but with a fancier word? It's not a fancier word. Jetbrains is re-using an existing description of "distributed==client/server" that's been around for decades. It's just that "distributed computing" has been recently dominated by the examples of meaning (1) above.