FRP In Practice: Taking a look at Reactive[UI/Cocoa]
summary
GitHub Desktop apps for Mac and Windows migrate UI code to Functional Reactive Programming using ReactiveCocoa + ReactiveUI, turning events, network calls and git output into signals and properties. The team builds commands, observable lists and a scheduler that enables time-travel testing; the undo popup and background-fetch examples show concrete, working benefits. Problems include costly per-item setup in virtualized lists, surprising observable collections memory and GC costs, thread-scheduling latency that required manual fixes, and a ~6‑month ramp for developers to become productive. Tooling and tracing remain essential to make it maintainable.
AI-written summary · about
chapters (29)
- 0:00Intro
- 1:34WhyFRP
- 1:49Bad News
- 2:35GitHub
- 4:35Reactive Extensions
- 5:50Observables
- 9:06Reactive Cocoa
- 10:19RAC DC
- 11:03Reactio
- 14:48Examples
- 16:00Commands
- 16:48Observable Collections
- 18:22Behaviors
- 21:51Reactive
- 23:31Writing Operations
- 24:38Undo Flash
- 26:47Time Travel Testing
- 29:01Relative Time Testing
- 29:44I dont know
- 32:12Space and time leaks
- 33:08Debugging memory leaks
- 33:53Virtualizing lists
- 35:31GC pauses
- 37:15Making it better
- 37:47Tooling
- 38:26Concurrency visualizer
- 40:04DTrace integration
- 40:44Visualizing signals
- 42:13Moving from imperative to functional mindset
related talks
40mThere is a better way
40mReactive Programming: A Better Way To Write Frontend Applications
27mFunctional Reactive Programming: What Does It Solve? Does It Solve Things? Let's Fi...
01h 00mReactive Programming, State Management, and Redux for the Modern Front End Dev
34mReactive Workflows a Year Later
50mIntroduction to Reactive Programming
23mReactive Programming Made Simple
28mThe Art of Functional State Management
