It's been a while since I wrote a dedicated article on Solid. Mostly because the technology has been stabilizing. However, that doesn't mean a lot hasn't been going on. In the name of visibility, I thought I'd draw your attention to the main ones.
Hot Demo
https://hackernews.ryansolid.workers.dev/
Ryan Carniato@ryancarniatoWe've been working on a demo I hope checks the boxes:
* @solid_js + TypeScript + JSX
* Built with @vite_js
* Streaming SSR on Cloudflare Worker
* Suspense + concurrent rendering
* Code splitting w/ route preloading
* 12.4kb JS payload
Demo: hackernews.ryansolid.workers.dev10:46 AM - 09 Mar 2021
Showcasing all the technology I've been working on including SSR Suspense, Progressive (Streaming) rendering, Vite build (more on this later), all running from a Cloudflare worker.
But the real deal is the showcase of this progressive rendering approach into seamless SPA navigation with parallel render-as-you-fetch. This Hackernews demo is probably the fastest isomorphic SPA version out there.
Ryan Carniato@ryancarniatoThis is pretty typical of the difference between progressive rendering (streaming) and typical SSR. Still incredible performance and both come in at about 12kb and are served from @Cloudflare.
(I do need to replace the theme I borrowed off of Vue to top up the accessibility)17:36 PM - 12 Mar 2021
Solid Playground now using Monaco
https://playground.solidjs.com/
Now uses the Monaco editor like other popular solutions out there. This means slicker editing and better styling. Big shoutout to @modderme123 and @amountonbrady for getting this out there.
Vite Plugin Solid
https://github.com/amoutonbrady/vite-plugin-solid
Solid integration in @vite_js is coming along really well! @RyanCarniato and I made good progress on HMR with state preservation. It's far from perfect but way nicer than what we use to have so far and it's only the beginning.13:23 PM - 20 Feb 2021
We've been working a lot on a new Solid starter to replace our current CRA fork. In the meanwhile, you can get started with this plugin thanks to the tireless work of @amountonbrady.
It has our latest approach to HMR a first in Solid dev. It does lose nested state but it maintains outer application, for super-quick updates in Vite.
Solid Start
Speaking of Vite. Our new starter is in the works. It will support Solid's Progressive Rendering SSR out of the box, and automatic File-Based routing, with nested routes, automatic code-splitting, and parallelized fetch-as-you-render.
This is a true isomorphic experience with Suspense and concurrent rendering on both client/server.
We are also taking a page from SvelteKit with adaptors for different deployment environments.
We have a few more surprises in store before long including some features that will help getting started even easier including route-based API automation (for those looking for a return to the monolith). We will keep you posted as things progress.
Testing and More
Solid Jest
Solid Testing Library
Storybook Example
There has been a desire to improve the testing story around Solid and now we have some options. Solid Jest expands capability for testing client and server versions of Solid. Solid Testing Library is the quintessential library for making testing easier.
Finally, @rturnq has put together an updated template of using Solid with Storybook.
Community Growth
The last few months have seen a swell in adoptions. Last summer we hit 50k npm downloads since I first opened sourced the project in April 2018. Now we get that monthly. Solid has recently reached 5.5k stars on Github but most importantly is reaching a level of contributors similar to popular libraries:
Magne@magnemg#SolidJS quarterly contributors are trending upwards, compared to #React, #Preact, #Svelte and #VueJS !
moiva.io/?npm=preact+re…
@solid_js @reactjs @vuejs @sveltejs #javascript #js #frontend #libraries11:27 AM - 28 Mar 2021
Podcasts
I'm always writing articles but I've finally got the change to appear on some podcasts and youtube channels. If you missed it here is a great one on reactivity with InDepth:
Lars Gyrup Brink Nielsen 🇩🇰🇪🇺@layzeedkThe Deep Dive Episode 4: Reactive frontend frameworks with @kddsky @RyanCarniato has been resurrected at youtu.be/iyY1lT8-ZDA11:50 AM - 17 Mar 2021
And another one I did recently with @zaiste:
In about 2 hours (1pm PT / 4pm ET / 9pm CET), I'll be chatting with @RyanCarniato about building UIs with JavaScript/TypeScript and improving on React.js
Ryan is the creator of @solid_js
Join us!
youtube.com/watch?v=Dq5EAc…17:54 PM - 23 Mar 2021
Tomorrow I will be joining Maksim Ivanov to see what it takes to migrate a React app to Solid.
Maksim Ivanov@ivanov_devAdd the stream to your calendar: youtu.be/p8e9ta269x812:00 PM - 29 Mar 2021
Solid 1.0
https://github.com/ryansolid/solid
It's coming. APIs are stabilizing. The website with docs and interactive tutorials is well in the works. Solid 1.0 Release Candidate is slated to go out early next month.
I think that's all for now. With a bit of luck, these sorts of updates will be a more regular thing.