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/staarka teensy-tiny library for for building web apps.@doars/staark-patcha version of staark without state management where the node tree is repeatedly patched.@doars/staark-isomorphica version of staark that can used on the server for rendering a view.@doars/vroagna teensy-tiny library for managing network requests.@doars/tiedlienea teensy-tiny library for managing state diffs.@doars/roupnsynchronise application state between users in real-time via end-to-end encrypted messages.
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.
- Support for cavas elements to allow rendering to them on change.
- 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.