Microservices for building an IDE – The innards of JetBrains Rider
summary
Rider combines an IntelliJ JVM front end and a .NET ReSharper back end using a homegrown, open‑source “Rider protocol” that exchanges a generated view model DSL (not raw RPC). It sends document deltas, uses versioned messages for conflict resolution, and exposes signals and properties plus lifetimes for automatic disposal. Multiple processes run on demand (IntelliJ, ReSharper, debugger, WPF preview, Roslyn/Unity hosts — four processes while debugging), and the system is shipping and working in production.
AI-written summary · about
chapters (21)
- 0:00Start
- 3:50JetBrains
- 6:33ReSharper IDE
- 8:13Why build a .NET IDE?
- 12:31Options!
- 14:48Both sides are an IDE...
- 19:10Example: Context actions (Alt+Enter)
- 22:33Data types aren't that complex...
- 26:30Model-View-View Model MVVM
- 27:45Conflict resolution...
- 28:15Conflict conventions!
- 29:07Rider protocol
- 31:47Primitives
- 32:48Signal (event)
- 33:43Property
- 33:53Hierarchical + lifetimes
- 44:55Two processes!
- 47:53Shared view model
- 52:04Model the view as well
- 52:47Multiple machines
- 55:12Conclusion
related talks
52mMicroservices for building an IDE – The innards of JetBrains Rider
50mMicroservices for building an IDE
54mBuild software like a bag of marbles, not a castle of LEGO®
08h 36mJetBrains .NET Days Online 2022. Day 1
28mMicroservices Made Easy!
52mI Have a Microservices Architecture and I Didn't Know.
01h 00mBuild Microservices At Your Own Pace with .NET Aspire
42mInnovating Faster with Micro-Service Architecture...
