OOHTML: Modular, reusable, and reactive HTML as a DOM polyfill
Visit on GitHubThe Convergent application stack, today
Explore the layersEach layer of the stack is a Convergent Machine, and the output of one is state for the next.
Each layer takes an existing computational model (the DOM, database queries, requests and responses, message passing, URLs, the JavaScript runtime) and extends it with the semantics of Convergent Machines. Because machines compose, the layers fit together without sharing an implementation.
The DOM layerPolyfills for the web.
RealDOM: An extension to the DOM that implements the DOM query model as Convergent Machines. The DOM is the changing state; the live query result is the observable output.
Visit on GitHubThe application layerWeb application frameworks.
Webflo: A full-stack web framework for realtime, offline-first apps
Visit on GitHubNodeLiveResponse: LiveResponse for Node.js and Express backends
Visit on GitHubThe durable layerPersistent storage engines.
LinkedQL: A superset of SQL that fully specifies the application data contract.
Visit on GitHubFlashQL: An embeddable local database engine that implements LinkedQL.
Visit on GitHubKeyval: A key/value storage library with one dictionary API across browser, Node, and Redis
Visit on GitHubThe networking layerProtocols and cross-boundary communication.
Fetch+: An extension to the Fetch API that implements the request/response model as Convergent Machines. A live request stays convergent as server-side state changes.
Visit on GitHubPort+: An extension to the native message-passing suite. A live message keeps its observable state convergent as the sender-side state changes.
Visit on GitHubThe language and runtime layerExtensions to the language and runtime.
Observer: A universal observation mechanism that makes mutations to ordinary objects and arrays observable.
Visit on GitHubUseLive: An extension to JavaScript’s runtime semantics. Code opted into this mode functions as a live computation over program state through reactive control-flow semantics.
Visit on GitHubOtherOther libraries, outside the stack.
URL+: An extension to the URL interface that adds observability to its existing semantics.
Visit on GitHub