Chapter 6. A Tour of the Ecosystem

Elm is still a young language. It doesn’t yet offer the vast number of packages that are in the JavaScript NPM ecosystem, though the packages that do exist are generally high quality and have all the same guarantees that the Elm language offers. While the number of available packages is growing fast, it’s unlikely that there is an out-of-the-box solution for absolutely everything. That being said, you can always interop with existing JavaScript libraries or even write an Elm package yourself.

The primary hubs of the Elm community are the elm-discuss Google Group, the Elm subreddit, and the elm-lang Slack channel, which is generally full of people who are happy to assist newcomers and answer questions. The Elm community has been incredibly positive and helpful in my journey to writing better frontend code; it’s one of the reasons I keep coming back to Elm (in addition to what the language can do technically).

Let’s take a look at a couple of Elm packages and discuss how they approach their areas of frontend development compared to solutions outside of the Elm ecosystem.

elm-css

CSS presents a number of challenges, including debugging subtle style errors and the unenviable task of maintaining CSS for large projects. Fortunately, we have a tool in Elm that makes handling CSS much less error prone: elm-css.

elm-css is a CSS preprocessor akin to Less or Sass. The main advantage of describing CSS in Elm is that we bring type checking to CSS, which ...

Get Why Elm? now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.