livestore
signals

livestore | signals | |
---|---|---|
2 | 27 | |
2,592 | 4,118 | |
90.0% | 1.0% | |
9.8 | 8.6 | |
1 day ago | 7 days ago | |
TypeScript | TypeScript | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
livestore
-
LiveStore
Great questions!
> Handling compaction for long lived apps/pages?
That's a very common question and something I'm planning to ship a solution for soon. The basic idea is to give each event some more semantic "meaning" by annotating the event definition which allows you to express which events "semantically overlap". For example in a todo app you could express that the "todoCompleted" event for a given task id can compact other "todoCompleted" / "todoUncompleted" events for the same task id.
You can track the progress of this topic here: https://github.com/livestorejs/livestore/issues/254
> IMO events are nice, but also require discipline and good design w.r.t code
Yes, I agree with that. When it comes to data there is "no free lunch" - it's all about tradeoffs. I prefer the tradeoffs of event sourcing though for my own use cases such as Overtone.
That being said for many situations (like older client versions etc) there are pretty straightforward ways to address those concerns. Always depends on your application use case and possible tradeoffs though.
> Overtone looks sick. I've been using Spotify less and less because of janky UI and constant UI changes, would love a replacement. I see that it supports multiple sources, will it offer offline playback?
Very excited to hear! I'm sharing your frustrations which is why I'm building Overtone (next to many other reasons). Re "offline playback": That will depend on where your music is coming from. e.g. for your own music collection in Dropbox (or similar) it will be supported. For music streaming services like Spotify it will depend on their terms.
Hope that all makes sense?
signals
-
What should a native DOM templating API look like?
JSX was also created with the intention of using traditional conditional/looping constructs, but that hasn't stopped Solid and Preact from repurposing it for fine grained reactivity. Preact's signal implementation has Solid-like Show/For components [1].
I won't speak for author of the post, but given that Lit itself has special control flow mechanisms for conditionals and loops (the cache and repeat directives respectively [2][3]), I can't imagine the proposal being too opposed to these mechanisms.
[1] https://github.com/preactjs/signals/blob/eae850a9f3aa62e505a...
[2] https://lit.dev/docs/templates/conditionals/#caching-templat...
[3] https://lit.dev/docs/templates/lists/#the-repeat-directive
- mangle.json in Preact source code.
-
The future of State Management in LWC: Understanding Signals
The implementation closely mirrors Preact Signals (https://github.com/preactjs/signals).
-
Svelte 5: Runes
Putting the runic terminology aside and looking into how the signal primitive is implemented should dispel the magic. I learned a lot from examining preact's implementation: https://github.com/preactjs/signals/blob/main/packages/core/...
-
React: Fine-grained reactivity should be the norm
https://refactoring.guru/design-patterns/observer/typescript/example https://indepth.dev/posts/1269/finding-fine-grained-reactive-programming#how-it-works https://legendapp.com/open-source/legend-state/ https://legendapp.com/open-source/state/fine-grained-reactivity/ https://www.builder.io/blog/usesignal-is-the-future-of-web-frameworks https://dev.to/ryansolid/a-hands-on-introduction-to-fine-grained-reactivity-3ndf https://medium.com/hackernoon/becoming-fully-reactive-an-in-depth-explanation-of-mobservable-55995262a254 https://preactjs.com/blog/introducing-signals/ https://hygraph.com/blog/react-memo
- Why are signals still not so popular?
-
Is redux ecosystem still active?
All the frameworks are starting to adapt them. You can easily add them to react project as well. https://preactjs.com/blog/introducing-signals/
-
DreamBerd; Perfect Programming Language
Signals are a design paradigm for reactive programming which have recently trended in the JS frontend space. For e.g., https://preactjs.com/blog/introducing-signals/
-
Which UI framework should I pick up as my first?
Compare Vue's reactivity system to the principles the Preact authors write about here:
-
Super Charging Fine-Grained Reactive Performance
Reactivity libraries are at the heart of modern web component frameworks like Solid, Qwik, Vue, and Svelte. And in some cases you can add fine-grained reactive state management to other libraries like Lit and React. Reactively comes with a decorator for adding reactive properties to any class, as well as prototype integration with Lit. Preact Signals comes with a prototype integration with React. Expect more integrations as these reactivity cores mature.
What are some alternatives?
blocksuite - 🧩 Content editing tech stack for the web - BlockSuite is a toolkit for building editors and collaborative applications.
jotai - 👻 Primitive and flexible state management for React
data - WarpDrive is a lightweight data library for web apps — universal, typed, reactive, and ready to scale.
zustand - 🐻 Bear necessities for state management in React
RxDB - A fast, local first, reactive Database for JavaScript Applications https://rxdb.info/
solid-site - Code that powers the SolidJS.com platform.
