Svelte pros and cons

This page summarizes the projects mentioned and recommended in the original post on /r/sveltejs

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • Beatbump

    Alternative YouTube Music frontend built with Svelte/SvelteKit 🎧

  • If you want an idea of what a SvelteKit web app made by a sleep deprived newbie (only 8 months experience) can run like, here is a project I’m working on. It runs fast imo for each page needing to parse 20-80k of JSON in a SvelteKit endpoint. So it may not be a good example, but it’s what came to mind

  • Nuxt.js

    Discontinued Nuxt is an intuitive and extendable way to create type-safe, performant and production-grade full-stack web apps and websites with Vue 3. [Moved to: https://github.com/nuxt/nuxt]

  • First-party solutions to frameworks like Next.js and nuxt in the form of SvelteKit and Sapper.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • Svelte

    Cybernetically enhanced web apps

  • You can't specify a dynamic HTML tags through component props. For example, if you want a component to change it's HTML tag dynamically based on your specificed props, you'll need to write a huge if-block to do that (depending on your use case). React has JSX syntax to patch this and vue has . Svelte has a proposed solution that can be tracked here in a PR that'll likely be merged very soon. This is usually not an issue, though as you are often only working with 2 or 3 possible tags, in which case you can write an if-block (which is tedious, but it works). There's also a way around this problem using this package.

  • svelte-elements

    Dynamic elements for svelte

  • You can't specify a dynamic HTML tags through component props. For example, if you want a component to change it's HTML tag dynamically based on your specificed props, you'll need to write a huge if-block to do that (depending on your use case). React has JSX syntax to patch this and vue has . Svelte has a proposed solution that can be tracked here in a PR that'll likely be merged very soon. This is usually not an issue, though as you are often only working with 2 or 3 possible tags, in which case you can write an if-block (which is tedious, but it works). There's also a way around this problem using this package.

  • svelte-material-ui

    Svelte Material UI Components

  • There's no way to forward every event to a component's child elements without manually typing them out. This issue can be tracked here. This isn't really a problem unless you're writing UI libraries, though, and even then there are ways around it. There's also an active PR.

  • Next.js

    The React Framework

  • First-party solutions to frameworks like Next.js and nuxt in the form of SvelteKit and Sapper.

  • framework7

    Full featured HTML framework for building iOS & Android apps

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • svelte-query

    Performant and powerful remote data synchronization for Svelte

  • Svelte Query ( https://sveltequery.vercel.app/ )?

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts