Never bet against @vite_js.
14
19
483
37,678
SolidJS retweeted
🐦‍⬛ corvu's calendar component is live! 🎉 Aimed to be a simple and lightweight calendar component for the @solid_js ecosystem. ▪ Supports single, multiple and range selection ▪ Full keyboard navigation and focus management ▪ Many more options to customize
2
4
18
2,248
The live stream is back tomorrow. I'm going to go into depth on what it means to "fine-grained render". How it works, how it differs than Signals + your favorite framework, and the overall impact. youtube.com/watch?v=kkUuaqDB…
4
10
78
6,501
Figured I might as well explain why these Solid v2 features are exciting Fine grained async Currently when something reads from an async signal, everything being rendered under Suspense is thrown away, fallback is shown, after the async fetch finishes, everything under Suspense is rendered again. Solid v2 will ensure that only the nodes (effects) that depend on the async values will rerun, and nothing will ever need to rerun under Suspense. Mutable derivations Currently derived primitives (createMemo) are immutable, and deeply reactive primitives (createStore) cannot be used in a derived way. Solid v2 will introduce a new primitive that is derived and deeply reactive, combining the best of both worlds. Split effects and Flush boundaries Currently Solid has no way to know what a render effect depends on without running it, and no way to prevent side-effects once the render effect starts running. Split effects in Solid v2 let effects define pure reactive logic and effectful logic separately, and flush boundaries allow effects in a tree to compute all reactive logic without committing any side effects. The underlying capability that enables Suspense, Offscreen, and other features that defer rendering part of the UI to a later time. Derived signals Currently a signal can only be derived (createMemo) or only be settable (createSignal). Creating a signal that's both settable and derived (e.g. optimistic state) requires breaking the dependency graph. Solid v2 allows createSignal to be both settable and derived to allow use cases like optimistic state a first-class citizen. Lazy memos Currently, `createMemo` computations are run immediately on creation and update. Solid v2 changes memos to run only when read. This improves efficiency by only evaluating what is needed, enables global store patterns that declare derived state upfront, and lets nodes automatically garbage collect when not being used. Global batching Currently when a value is set into a signal, Solid immediately updates the dependency graph and executes side effects before returning to the caller. While updates can be batched manually, Solid v2 makes batching the default and provides a way to manually force an update and render using the current state. This improves efficiency in certain cases where manual batching was not applied, makes for overall better developer ergonomics. Concurrent transitions (mostly theoretical) Currently only one global transition can be created, any newly created transition simply gets rolled into the existing one. Solid v2 is looking at enabling multiple independent transitions that only get merged if their update graph overlaps.
I’m way too excited for the coming updates to @solid_js in 2025 - Fine grained async - Mutable derivations - Flush boundaries - Derived signals - Lazy memos - Global batching - Concurrent transitions? Maybe?
8
16
175
47,501
It's like Framer Motion in @solid_js! ✨ Spent some long hours recreating Layout animations in SolidJS today. I'm at a point where I never feel limited with Solid to make anything now. Used motion.dev but replaceable with animejs too! Code: github.com/Blankeos/solid-la…
1
3
21
2,637
We're thrilled to welcome Dev Agrawal (@devagrawal09) to the SolidJS core team! 🎉 Dev is a remarkably talented full-stack developer passionate about building real-time apps. His skills and expertise will be invaluable as we continue to advance SolidJS. Welcome Dev! 📷🚀
16
15
265
55,747
I'm happy that users of @solid_js seem to be happy with the framework they are using. While it is a very saturated field out there and it is hard to move usage numbers I'm thrilled we continue to be the move loved framework by those who have used it.
9
12
195
12,484
Friday stream is back with special guest @devagrawal09 to talk all about the frontiers of client/server communication and where Signals are going next. youtube.com/watch?v=zKXfcE7o…
5
10
73
8,354
It took a bit longer this month, but it is time for This Month in @solid_js 😎 This month, we showcased everything that happened on SolidHack, among other cool things. Check the post below for the link!
1
2
9
2,369
SolidJS retweeted
And the #SolidHack2024 winners are... 🏆 🌟 Best SolidStart App: Giffium.com! by @cmgriffing 🎥 🛠️ Best Solid/SolidStart Ecosystem Utility: solid-socket (github.com/devagrawal09/soli…) by @devagr 🔌 Congrats to these amazing projects! 👏
5
5
72
21,424
Thank you to our extraordinary supporters, @getsentry and @Netlify. Your backing has been instrumental in helping SolidHack and SolidJS reach new heights and achieve its current success.
8
1,994
SolidJS retweeted
💡 Let's add SSO to our #SolidStart app, using GitHub as an example we'll see how to add 100+ providers through Auth.js via @solid_js MediaKit
2
2
14
1,834
SolidJS retweeted
AI SDK @solid_js UI 1.0.2 🆕 useObject hook 🆕 useAssistant hook 🔨 useChat update fixes for message annotations Thanks @ianpascoe_ for the contribution! Here is an example page that leverages useObject:
5
30
4,598
🏆 Congratulations to H. Salim for winning another UI Contribution Challenge by submitting a TimeField component to Kobalte. 2/2
1
6
2,068
The last two #SolidHack2024 Challenges of the season have been claimed 🎉🥳 🏆 Congratulations to Felipe Emos (@FelipeEmos) for winning the Animation Library challenge with AraraJS (github.com/FelipeEmos/araraj…). 1/2
2
28
3,513
📢🚨 #SolidHack2024 Award Category submissions are in and public voting has started! Visit hack.solidjs.com/submissions to cast your votes for Best SolidStart App and Best Solid/SolidStart Ecosystem Utility. Voting continues until December 1st and winners to be announced December 3.
6
36
19,069