DEV Community

Discussion on: Pitch me on the pros and cons of your preferred web app framework

Collapse
 
lexlohr profile image
Alex Lohr

Solid.js

Pros

  • Achieve performance with ease
  • Isomorphic JavaScript - write once, deploy + run everywhere, from static server-generated pages to full-blown desktop apps
  • Elegant fine-grained reactive state management - without hook rules!
  • Minimal package size, fully tree-shakeable
  • Welcoming and helpful community
  • Growing ecosystem with a choice of rather high-quality primitives and components
  • Support for SSR/hydration/streaming
  • No superfluous arbitrary vDOM abstraction with reconciliation, <div> in your JSX is just a <div> in the DOM
  • Debuggable output code (you can use your normal dev tools)
  • Feature-complete with Fragments, Portals, Context, Suspense, etc.

Cons

  • Does not support older browsers (w/o support for Proxies)
  • Reactivity breaks on destructuring
  • Due to a limitation of babel, source maps are incomplete, so line coverage cannot be collected by unit tests
  • You will like other frameworks less after trying it
Collapse
 
peteole profile image
Ole Petersen

I always wanted to try solid, but until now the support for third party libraries prevented me. In React, I especially enjoy that using mui, I can easily import any icon and lots of nicely styled components. Is there something similar in solid?

Also, what's your favorite GraphQL client?

Collapse
 
lexlohr profile image
Alex Lohr • Edited

There's SUID, which is MUI for Solid.js (there are a few others, like solid-headless or hope-ui) and for GraphQL, there's @solid-primitives/graphql and solid-urql; currently, the Solid Community has a Hackathon, which might turn out even more solutions.

Also, some people are currently trying to revive jscodeshift with a react-to-solid codemod. I don't know about their current state, but have heard that they successfully shifted a medium-sized app with minimal manual intervention.