magic-loop
proposal-signals
| magic-loop | proposal-signals | |
|---|---|---|
| 2 | 18 | |
| 10 | 4,011 | |
| - | 1.3% | |
| 6.7 | 4.4 | |
| 5 months ago | 4 months ago | |
| TypeScript | TypeScript | |
| MIT License | 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.
magic-loop
- JSDoc *Is* TypeScript
It's ok now, at least for me. There are still challenges around theming and styling because of styling boundaries (which makes Web Components powerful, but still). A part of it is about tooling, which can be easier to improve.
Try my tiny web components lib if you want to keep JSX but not the rest of React: https://github.com/webjsx/magic-loop
- Standards First Web Framework
Lit is amazing. But I don't like template strings for HTML. The IDE doesn't understand it intuitively, and lit jsx had a bunch of issues last time I tried to use it.
In my view, JSX will be the true legacy of React. Applications are code. Many frameworks (such as htmx) extend HTML to bring a bit of programmability into it; but I felt they were just framework-specific, non-standard rules to learn. JSX at least has more uniform rules, and isn't as framework dependent.
Shameless plug: Magic Loop [1], a Lit alternative which uses WebJSX [2] underneath.
[1]: https://github.com/webjsx/magic-loop
[2]: https://www.webjsx.org
proposal-signals
- TC39: Signals
- JSDoc *Is* TypeScript
- <template>: The Content Template element
- I like Svelte more than React (it's store management)
Never heard of Signals[1] until now, thanks. But it makes me nervous with how much influence it has from React and Vue, and the way React and Vue do things. These are not the be all end all methods of reactivity, and I can't help but think if there's going to be an official language feature implemented for this, there needs to be room for other voices to be heard that have zero influence from React/Vue. Maybe there's still time since it's Stage 1.
[1] https://github.com/tc39/proposal-signals
- Show HN: Aberdeen – An elegant approach to reactive UIs
> Nice little library, but as it's signals based, it would be nice to make it compatible with the signals proposal (https://github.com/tc39/proposal-signals)
Based on the current proposals, it seems that a signal can only contain a single atomic value, for which changes can be tracked. Aberdeen's `proxy` can efficiently wrap complex data structures (objects within arrays within objects, etc), tracking changes on the level of primitive values (integers, strings).
For that reason, I wouldn't really call Aberdeen signals based.
Yeah, "what data to sync and when" describes the problem quite nicely! And indeed, it's entirely different from this library, except that I have a partial solution in mind that may fit Aberdeen rather well... We'll see. :-)
- Ask HN: Qt style "Signals and Slots" based JavaScript UI library?
There is a proposal (https://github.com/tc39/proposal-signals) for standardized signals. Maybe that's not what you're thinking of. But if it is, there's a polyfill and other prior art (eg, preact-signals -- https://preactjs.com/guide/v10/signals/ -- which are not specific to p/react).
- The React Trap: Why It’s Time to Move On in 2025
Meanwhile the rest of the JavaScript community moves toward more efficient reactive paradigms (check out the TC39 proposal for signals) and the React team stubbornly refuses to incorporate them. This refusal keeps React chained to an outdated reactivity model, forcing developers to continue fighting fires with excessive memoization and workarounds.
- Streams Oriented Programming
A programming paradigm, mostly derived from principles of Reactive Programming, in which you define everything as streams. Pretty much everything is (=can be, to be more precise) a stream that speaks the same language. If you use Observables, their "communication protocol" is subscribe/next/error/complete. You can use other patterns, different than just Observables, such as Callforwards, Callbags, Signals.
- A mid-career retrospective of stores for state management
Newer options like signals in Svelte and Angular are also emerging.
- JavaScript Signals Standard Proposal
What are some alternatives?
nue-todo - Simple todo app using nuejs: https://nuejs.org/
bam.iobio - bam.iobio version 2.0
nue - Fastest way to build modern websites
proposal-is-error - ECMAScript Proposal, specs, and reference implementation for Error.isError
Filestash - :file_folder: What Dropbox should have been if it was based on SFTP, S3, FTP, WebDAV, Git, and more
proposal-dynamic-code-brand-checks - TC39 proposal that enables flexible brand checks before dynamic code loading