A set of teeny-tiny libraries for building web apps. The goal of this toolkit is as follows:
- Minimal amount of concepts to learn in order to get going, meaning the system becomes incredibly easy to reason with.
- Comes in at a miniscule size when compressed. Due to the minimal philosophy of the library and the simple concepts within the total size is tiny as well.
This mono repository contains several packages, see the overview below:
@doars/roupnsynchronise application state between users in real-time via end-to-end encrypted messages.@doars/staarka teensy-tiny library for for building web apps.@doars/staark-isomorphica version of staark that can used on the server for rendering a view.@doars/staark-patcha version of staark without state management where the node tree is repeatedly patched.@doars/tiedlienea teensy-tiny library for managing state diffs.@doars/vroagna teensy-tiny library for managing network requests.
If you are using the libraries and are running into an problem that you don't know how to solve, or would love to see a particular feature then feel free to create an issue.
- Toaln is a simple language learning app which utilises the power of Large Language Models to practise.
- Tools by Ron Dekker are a set of widgets whose functions range from colour conversion to text analysis.
If you are using staark then please let me know, I would love to hear about it!
Curious how staark compares to other similar libraries? Checkout the performance directory where it's compared to some other libraries in build size, runtime performance, and memory usage. As a bonus the difference and similarities are also explained for some.
- How can the state of the app work together with the browser's IndexedDB API?
- Add support for
memonodes tostaark-patchandstaark-isomorphic's patch functions. - Lifecycle hooks for reacting to when nodes are first created, or an attribute is updated, or removed from the DOM.
- Have the CSV importer of
vroagnautomatically check for the delimiter. - Add optional key parameter to the
nodefunction so some nodes are exempt from being re-used during morphing.