Elm was the inspiration behind Redux which is currently sweeping through the JavaScript UI community.

Elm was the inspiration behind Redux which is currently sweeping through the JavaScript UI community.

Elm is typed and succinct and it has a lot of expressive power as a functional language (more similar in style to Haskell than JavaScript). I don’t claim to have mastered it but I will say that the Elm approach has been well and truly vindicated through thousands of Redux, RxJs/store and Vuex implementations which all refer back to Elm. Once you strip out all the ceremony and boilerplate from Javascript frameworks (yes, I’m looking at you Angular2) there’s not much left that can’t be more compactly expressed in Elm.

My only quibble with the language, apart from the unfamiliarity of the syntax is the not very simple way it interacts with Javascript libraries. This is by necessity but it means there’s a bit more work bridging the gap.

5 thoughts on “Elm was the inspiration behind Redux which is currently sweeping through the JavaScript UI community.

  1. Ramin Honary​​​​​ it’s been a source of inspiration. If you watch the latest moves in the js world you’ll see how much it is. If you are doing anything ui related without using Redux (or similar) to handle your state management then you’re definitely doing it wrong.

    Redux is a wordier more manual way of doing what Elm does. Dan Abramov, the creator of Redux, acknowledges Elm’s importance in the first few paragraphs of the Redux documentation.

    It’s notable also that Elm itself has changed its approach to be more like Redux. It dropped signals in favour of subscriptions and commands. People talk about the “Elm Architecture” even when they’re not actually using the Elm language.

    Like

  2. Because of this, Elm remains on my list of things to pay attention to. There are however realworld issues that I need to take into account. Integration with other libraries is an area I need a better grasp on before I can use Elm in any serious application.

    Like

Leave a comment