Elm
Elm is a pure, statically typed functional language for building frontend applications in the browser. Its Model-View-Update architecture has influenced several frontend frameworks, and its compiler remains one of its strongest features, providing clear and useful feedback during development.
At Prima, Elm has helped us build reliable, maintainable, business-critical frontend applications over the years. However, Elm is no longer the recommended technology choice for new frontend development.
As part of Prima’s strategy to simplify and de-risk our technology landscape, all new frontend applications and initiatives that are not already part of existing Elm-based platforms should be developed using React. No new platforms should be started in Elm.
Existing Elm applications may continue to be maintained and evolved where necessary to support business objectives. The longer-term strategy for these applications will be evaluated separately, with the goal of reducing the risk associated with our major Elm-based platforms.
Use Elm only when working within an existing Elm-based platform. Do not use Elm for new frontend applications, new platforms, or initiatives outside the current Elm footprint.
Elm solves the problem of concurrent programming inside the browser.
It provides a pure Model-View-Update functional approach that inspired a lot of javascript frameworks.
The compiler is very stable and provides useful information about errors and how to solve them. It’s a pure statically typed language. It’s also an opinionated framework, and it frees the front-end developer from the daunting task of choosing a framework. It’s not suitable for server-side rendering. Use it whenever you need reliability, heavy interaction with the server api, and core business logic.
Elm's usage general strategy:
We think that Elm shines when it comes to:
- write, maintain, refactor and scale up business-critical applications
- build and maintain long-term projects
- high performance
- high reliability (if it compiles, it works)
If your frontend application has one or more of the above needs, please consider using Elm as the first-choice.
Elm solves the problem of concurrent programming inside the browser.
It provides a pure Model-View-Update functional approach that inspired a lot of javascript frameworks.
The compiler is very stable and provides useful information about errors and how to solve them. It’s a pure statically typed language. It’s also an opinionated framework, and it frees the front-end developer from the daunting task of choosing a framework. It’s not suitable for server-side rendering. Use it whenever you need reliability, heavy interaction with the server api, and core business logic.