Elm Architecture

Elm Architecture is a set of patterns and language features for managing the flow of data in a program. In a highly interactive application, the data flows through many components. The resulting interaction between these components can be quite complex. The Elm Architecture reduces this complexity by using some very clever techniques. We will find out what those techniques are in chapter 5.

If you are coming to Elm from other languages such as JavaScript, Ruby, or Python, you will notice that there is no separate framework for building applications in Elm. That’s because the Elm Architecture is baked into the language.

Any additional feature(s) not available in the core language can be added to your project by simply installing a package from the vast collection of packages Elm offers. Most of these packages are designed to carry out a specific task such as retrieving data from an HTTP server rather than providing an overarching framework for building complex applications. Because of this, Elm is not just a JavaScript alternative, but also an alternative to frameworks like React, Angular, and Vue.js.

Back to top