~/talk

Microservices for building an IDE

Talkat NDC Oslo 2021 · 2021-11-29..12-03· [microservices, developer-experience]
slides:none on file

Rider splits IDE features across JVM front-end and .NET back-end and uses an open‑source writer protocol — a Kotlin DSL that generates cross‑language bindings (.NET, Kotlin, JS, C++) and a reactive model with lifetimes. It ships optimistic conflict resolution where the latest edit wins, a signal/list/property primitives set, and socket transport so previews, Roslyn workers, Unity editor hooks and remote/debug containers run as separate processes. Code With Me and remote development already use the same protocol.

AI-written summary · about

  1. 0:00Start
  2. 2:30JetBrains
  3. 4:43ReSharper IDE
  4. 5:42Why build a .NET IDE?
  5. 6:25Cross-platform...
  6. 8:41So what do you do?
  7. 10:00Both sides are an IDE...
  8. 13:54Example: Context actions (Alt+Enter)
  9. 15:00Example: Inspections
  10. 15:57Example: Writing code
  11. 16:45Data types aren't that complex...
  12. 17:05Which protocol do we use?
  13. 18:20Request-action-response
  14. 19:50Conflict resolution...
  15. 20:46Optimistic conflict resolution
  16. 21:27Obligatory diagram Rider
  17. 22:10Rider protocol
  18. 23:33Primitives
  19. 24:00Protocol model
  20. 25:00Hierarchical lifetimes
  21. 35:59Two processes!
  22. 37:10Debugging? Four processes. RD
  23. 37:58Multiple processes.
  24. 38:58Multiple view models
  25. 40:13Multiple machines
  26. 40:43Unity game engine
  27. 41:58Code With Me
  28. 42:45Remote Development
  29. 45:37Every IDE as both a client and server
  30. 46:27Model the view
  31. 47:21Summary
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.