Build a collaborative real-time app where multiple users edit shared data and see each other's changes instantly.
Create a web app that loads fast because pages are pre-rendered on the server and then stay live in the browser.
Build an offline-capable web app that syncs data automatically and resolves conflicts when the user reconnects.
Requires understanding Racer's data model and subscription system, documentation lives in a separate repository.
Derby is a framework for building web applications where multiple people can work on the same data at the same time, with changes appearing instantly for everyone involved. It runs on both the server (in Node.js) and inside the browser, which means the same code handles both sides of the application. At the heart of Derby is a data synchronization system called Racer. Racer keeps data in sync across browsers, servers, and a database automatically. Rather than requiring you to set up dedicated communication channels, models simply subscribe to specific objects and receive updates whenever those objects change. Racer also handles the case where a user goes offline, including conflict resolution when they reconnect. Because Derby renders its templates on the server first, pages load immediately and search engines can read their content. Once the page loads in the browser, templates stay connected to the underlying data through bindings: when the data changes, the view updates on its own, and when the user interacts with the view, the data updates in turn. The project describes the combination of these features as making it possible to build applications that load as fast as a search engine, feel as interactive as a document editor, and continue working when offline. The README is brief and points to separate documentation and examples for more detail. Derby is an open-source project under the MIT license. It has been in development since 2011 and is maintained by the derbyjs team.
← derbyjs on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.