Ryan Carniato | Crossing the Network Chasm | ViteConf 2024

Explore SolidStart 1.0's innovative solutions for server-client integration, featuring Cerebell serialization, single-flight mutations, and improved server components.

Key takeaways
  • SolidStart 1.0 was released in May, built on Vite, Vinci, and Nitro, marking a significant milestone in server-client integration

  • Cerebell was introduced as a powerful serialization solution that:

    • Handles async data and nested async
    • Supports async iterables and streaming
    • Maintains serialization references across flushes
    • Powers Solid’s data fetching and action APIs
  • Single-flight mutations were implemented to solve:

    • Double data problems
    • Reduced network requests
    • Improved performance with consolidated data fetching
    • Seamless optimistic updates
  • Server component improvements include:

    • Efficient prop serialization
    • Reduced bundle size (4.7kb minified/gzipped)
    • Better handling of persistent state
    • Streamlined data loading without waterfalls
  • The framework evolved to support:

    • File system routing conventions
    • Custom routing implementations
    • Infrastructure-agnostic deployment
    • Integrated server functions
  • Key architectural achievements:

    • Eliminated the need for double data serialization
    • Improved async handling after initial page render
    • Consolidated base primitives
    • Seamless client-side routing while maintaining server capabilities
  • Focus on developer experience through:

    • Simplified API design
    • Automated cache management
    • Granular updates without full page re-renders
    • Streamlined mutation handling