Simple Apps with Solid and Fireproof
There are many web frameworks out there, the most popular being React, with Angular, Express, Next.js; even jQuery still maintains strong numbers. Given all the existing choices, itâs worth exploring why people are switching to Solid, and why the community chose this as our second supported framework, after React. In a sentence, Solid strikes the perfect balance of developer experience and application performance.
Check out the Fireproof/Solid adapter here.
On the developer experience side, Solid aims to be Powerful, Pragmatic, and Productive, per the website. Itâs designed to be familiar to those coming from React, but even easier to use thanks to a few key features. First, the virtual DOM has been removed, so you donât need to worry about optimizing that. Itâs based on three main primitives â Signal for state management, Memo for caching, and Effect for tracking. All primitives are carefully designed to be lightweight and intuitive. Finally, Solid is declarative, based on JSX and unidirectional data flow, so React developers will feel right at home.
The performance focus is visible in both the design and the experience of using Solid. Much has been done to make Solid fast. Eliminating the unnecessary virtual DOM and supporting true fine-grained reactivity makes Solid more reactive than React! The lightweight primitives and reactive, rapid templating come into play here as well, ensuring that the performance is strong in the real world, even on constrained environments. All this combines to make Solid nearly as performant as plain JavaScript.
The Solid Way meets the Fireproof Effect
Fireproofâs design is aligned with Solidâs reactive philosophy and implementation. The Signal primitive for state management ties in beautifully with Fireproofâs live query APIs and database subscriptions. The asynchronous capabilities provided by createResource are a great match for Fireproofâs ability to maintain a current copy of application data while carrying out sync activities in the background. Read/Write segregation is another attribute that aligns well with Fireproof.
In a docs page titled Thinking Solid is the heading âSimple is better than easy.â We agree with this philosophy. Frameworks and other tools should empower developers to easily understand the full implications of their design choices, so theyâre able to craft beautiful, performant, reliable and scalable applications. Weâre thrilled to support the Solid framework and community, with an equally-open, pure JavaScript, multi-writer live database!