SolidJS & SolidStart Review

As a long time user of React, I felt compelled to venture out and take the tempurature of some competing paradigms. I appreciate Vue and Svelte, but in my opinion have some of the same strengths and drawbacks.


  • Single File Components
    Although not strictly necessary with Vue, it’s becoming more and more of a chore to avoid them. So, the tooling around compiling these component files is just too complex, from actually making the build to setting up your IDE, especially if you want to use TypeScript. React wins here since–well, the files are just JavaScript. JSX hits this wonderful middle-ground where the templating languages for Svelte and Vue can be their own beasts.
  • Exemplary Performance
    By leveraging intricate compiler techniques and foregoing the virtual DOM, Vue and especially Svelte can accomplish some impressive things in terms of application weight and overall performance numbers.
  • Great Metaframework Support and Ecosystem
    Compared ot NextJS, the likes of SvelteKit and Nuxt are delightful. In my opinion, their balance of simplicity and power are impressive. Only recently, as Remix moves to a Vite foundation does it feel like it’s starting to fill this sort of niche that I enjoy.
  • Lack of functional components
    Being able to create components that are “Just JavaScript” is one of the pillars of React’s greatness. This enables poweredful composition like passing a function as a component child, AKA, “render props”. Svelte and Vue make this difficult.

SolidJS focuses on high performance while adhering to the same philosophy as React–functional components, hooks, etc.