My two cents about Elm
This is my first project with Elm, and I use it as a playground to test the technology, and probably most of the issues I have experienced are due to a poor knowledge of the language. Overall Elm is a very interesting language, but if I had to start a new project tomorrow, I will probably pick Redux (which has basically the same architecture) over Elm.
- Types: it makes easier to write and maintain your code
- Great error messages: it makes easier to debug your code, even when you are just a beginner
- All in one: with Elm the model, the view, and the controller are all mixed in one language. This makes the collaboration between developers and graphic designer more difficult. For example, with a templating system, developers can implement of the business logic and designer can take care of the look-and-feel. In Elm the page structure is defined by the model, which makes the work of designers more difficult.
- Compiler: I find annoying that you have to compile (instead of refreshing the page) everytime there is a change in the
front-end. Elm also comes with
elm-reactorthat updates the page at every change, but it seems to me that it does not work with the
- JSON parsing: I was forced to model the JSON output of an API into Elm types to consume the service, which account for nearly half of my source code. Maybe there's a more generic way to explore a JSON, not sure yet.