Need advice about which tool to choose?Ask the StackShare community!

Elm

568
624
+ 1
284
Svelte

559
663
+ 1
380
Add tool

Elm vs Svelte: What are the differences?

What is Elm? A type inferred, functional reactive language that compiles to HTML, CSS, and JavaScript. Writing HTML apps is super easy with elm-lang/html. Not only does it render extremely fast, it also quietly guides you towards well-architected code.

What is Svelte? A UI framework that compiles into tiny standalone JavaScript modules. If you've ever built a JavaScript application, the chances are you've encountered – or at least heard of – frameworks like React, Angular, Vue and Ractive. Like Svelte, these tools all share a goal of making it easy to build slick interactive user interfaces. Rather than interpreting your application code at run time, your app is converted into ideal JavaScript at build time. That means you don't pay the performance cost of the framework's abstractions, or incur a penalty when your app first loads.

Elm and Svelte are primarily classified as "Languages" and "Javascript UI Libraries" tools respectively.

"Code stays clean" is the primary reason why developers consider Elm over the competitors, whereas "All in one" was stated as the key factor in picking Svelte.

Elm and Svelte are both open source tools. It seems that Svelte with 20.7K GitHub stars and 772 forks on GitHub has more adoption than Elm with 5.3K GitHub stars and 424 GitHub forks.

Decisions about Elm and Svelte
Máté Homolya
Senior developer at Self-employed · | 10 upvotes · 70K views
Migrated
from
React
to
Svelte

Svelte is everything a developer could ever want for flexible, scalable frontend development. I feel like React has reached a maturity level where there needs to be new syntactic sugar added (I'm looking at you, hooks!). I love how Svelte sets out to rebuild a new language to write interfaces in from the ground up.

See more
Alex Guesnon
Full-stack software engineer · | 3 upvotes · 47.4K views
Chose
Svelte
over
Vue.js

Svelte 3 is exacly what I'm looking for that Vue is not made for.

It has a iterable dom just like angular but very low overhead.

This is going to be used with the application.

for old/ lite devices . ie. * android tv, * micro linux, * possibly text based web browser for ascci and/or linux framebuffer * android go devices * android One devices

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Elm
Pros of Svelte
  • 42
    Code stays clean
  • 40
    Great type system
  • 38
    No Runtime Exceptions
  • 31
    Fun
  • 26
    Easy to understand
  • 20
    Correctness
  • 20
    Type safety
  • 14
    JS fatigue
  • 10
    Declarative
  • 10
    Ecosystem agrees on one Application Architecture
  • 8
    Friendly compiler messages
  • 6
    Welcoming community
  • 6
    Fast rendering
  • 5
    If it compiles, it runs
  • 4
    Stable ecosystem
  • 3
    'Batteries included'
  • 1
    Package.elm-lang.org
  • 36
    Performance
  • 30
    Reactivity
  • 28
    Javascript compiler (do that browsers don't have to)
  • 27
    Components
  • 25
    Simplicity
  • 23
    Real Reactivity
  • 23
    Lightweight
  • 21
    Fast as vanilajs
  • 19
    Near to no learning curve
  • 16
    Compiler based
  • 15
    Use existing js libraries
  • 15
    All in one
  • 14
    Scalable
  • 12
    Very easy for beginners
  • 12
    SSR
  • 12
    Composable
  • 10
    No runtime overhead
  • 10
    Ease of use
  • 9
    Built in store
  • 6
    Typescript
  • 5
    Templates
  • 5
    Best Developer Experience
  • 5
    Start with pure html + css
  • 2
    Speed

Sign up to add or upvote prosMake informed product decisions

Cons of Elm
Cons of Svelte
  • 2
    No typeclasses -> repitition (i.e. map has 130versions)
  • 2
    JS interoperability a bit more involved
  • 1
    Backwards compability breaks between releases
  • 1
    More code is required
  • 1
    Main developer enforces "the correct" style hard
  • 1
    JS interop can not be async
  • 1
    No communication with users
  • 2
    Complex
  • 2
    Learning Curve
  • 2
    Hard to learn
  • 2
    Event Listener Overload
  • 1
    Little to no libraries

Sign up to add or upvote consMake informed product decisions

What is Elm?

Writing HTML apps is super easy with elm-lang/html. Not only does it render extremely fast, it also quietly guides you towards well-architected code.

What is Svelte?

If you've ever built a JavaScript application, the chances are you've encountered – or at least heard of – frameworks like React, Angular, Vue and Ractive. Like Svelte, these tools all share a goal of making it easy to build slick interactive user interfaces. Rather than interpreting your application code at run time, your app is converted into ideal JavaScript at build time. That means you don't pay the performance cost of the framework's abstractions, or incur a penalty when your app first loads.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Elm?
What companies use Svelte?
See which teams inside your own company are using Elm or Svelte.
Sign up for Private StackShareLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Elm?
What tools integrate with Svelte?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

+12
5
3250
What are some alternatives to Elm and Svelte?
TypeScript
TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
PureScript
A small strongly typed programming language with expressive types that compiles to JavaScript, written in and inspired by Haskell.
ReasonML
It lets you write simple, fast and quality type safe code while leveraging both the JavaScript & OCaml ecosystems.It is powerful, safe type inference means you rarely have to annotate types, but everything gets checked for you.
Haskell
It is a general purpose language that can be used in any domain and use case, it is ideally suited for proprietary business logic and data analysis, fast prototyping and enhancing existing software environments with correct code, performance and scalability.
See all alternatives
How developers use Elm and Svelte
dschulten uses
Svelte
  • Ideal for microfrontends
  • Natural component model
  • Easy to learn
  • Fast and extremely small
  • Compiles both webcomponents and plain components Great community
Tinkhaven uses
Elm

Frontend application