Jinaga: End-to-End State Management for Offline-First Web Applications
State management libraries like Redux make it easier to coordinate changes in all parts of your web applications. But they stop at the browser. You are still responsible for developing the API and back-end data store. Jinaga is an end-to-end state management solution. No custom API. No app-specific database. You write your model, and Jinaga takes it from there: • Local storage for offline-first web apps and PWAs • Reliable communication with delivery guarantees • Application-agnostic persistence for low-friction data evolution • Server-sent events for real-time collaboration What makes this work is a completely different approach to data management. You won't find stores, actions, and reducers. Instead, Jinaga is based on Immutable Architecture. Store the user's decisions as immutable facts. Share those decisions with other clients who express interest. And then interpret those decisions as UI updates. This does require a shift to your mental model. It won't be easy. But if you apply immutability end-to-end, you might find that many of the hard problems of collaborative web apps are no longer hard problems. Please allow me to introduce you to Jinaga.
You'll get the most out of this talk with prior ReactJS experience, with or without Redux.
- Model application data using immutable facts
- Simulate mutable properties
- Detect and resolve conflicts
- Store data in Indexed DB for offline PWAs