Data Diffing Based Software Architecture Patterns
summary
Argues that shipping edit-script diffs as the transport shape simplifies client–server coupling and lets the SPA hold most logic; used in production for a few years and enabled a full UI rewrite in about a month, reducing effort and making the codebase easier to change and developers happier. Uses Kafka for centralized logging, assigns browser/tab and element ids and sometimes a vector-of-ids trick to speed comparisons. Notes worst-case O(m·n) cost for nested vectors, A* heuristics to prune searches, and authorization handled separately.
AI-written summary · about
chapters (14)
- 0:00Introducing diff-based architecture
- 2:05Q&A on edit script compression
- 4:12Performance with large vectors
- 8:46Vector keys vs map keys
- 13:00Comparing with CRDTs
- 15:24Authorization and integrity
- 17:52Client operations in edit script
- 19:15Legacy migration use case
- 20:41Sets for unordered data
- 21:02Debugging differential sync
- 22:04Adding ordering to edit script
- 23:49Auto merge and three-way merges
- 25:12Future possibilities
- 27:38Closing and thanks
related talks
33mFrom Enterprise Architecture to Software Design - Critical Thinking
36mApplication Architecture Patterns
55mUnderstanding Modern Trade-off Analysis in Software Architecture
39mSoftware is a meal best served with different architectural spices
50mA Practical Use Case of Software Architecture Evolution
01h 03mEvolutionary Software Architectures
43mThe hitchhiker's guide to software architecture and design
46mMeet the Social Side of Your Architecture
