Awesome Elm
A community driven list of useful Elm tutorials, libraries and software. Inspired by the awesome list thing. Feel free to improve this list.
Table of Contents
- Learning Guides
- Learning Videos
- Articles
- Conference Videos
- News
- Podcasts
- Testing
- Code generators
- Package managers
- Libraries
- Boilerplates
- Frameworks
- Static analysis
- Static site generators
- Showcase generators
- Run Elm
- Compile and bundle
- Other tools
- Editor plugins
- Examples
- Community and Support
- Conferences
- Inspired by Elm
- Beyond the DOM
- More awesome
- Contribution Guidelines
Learning Guides
Learn what this awesome thing is.
- Official tutorial — General information and in-depth guide with examples.
- Elm in Action — In-depth book for Elm beginners, from Manning Publications.
- Architecture Tutorial - How to create modular Elm code that scales nicely with your app.
- Exercism Elm Track - Collection of Elm exercises.
- Learn you an Elm - Elm tutorial with exhaustive examples and descriptions.
- Beginning Elm - A gentle introduction to the Elm programming language.
- Elm patterns - A collection of common patterns in Elm.
- Elm Koans - Practice exercises for learning Elm.
- Learn Elm - Discover the beautiful programming language that makes front-end web apps a joy to build and maintain!
- Learn Elm in Y Minutes - Syntax and features overview. The Elm page on learnxinyminutes.com
- Elm Maybe - Dealing with null/Nothing - Working with the Maybe type, with nicely commented code examples.
- Programming Elm - Thorough book from The Pragmatic Programmers that covers basics and advanced concepts.
- Elm cheat sheet - Syntax and features overview.
- Ninety-nine Problems, Solved in Elm - Adaptations for Elm from Ninety-Nine Haskell Problems.
- Elm Tutorials on Codementor - Two tutorials on building web apps with Elm.
- Elm programming language - a brief overview of Elm as a programming language.
- Elm: A Beginners' Guide to Elm and Data - Beginners' course to Elm and Data
- Practical Elm for a Busy Developer - A non-beginner book about the practical aspects of developing Elm applications.
- Haskell to Elm - Collection of examples on places where Elm is different to Haskell, targeted at Elm beginners coming from Haskell backgrounds.
- A nice app on Elm street - An introduction to Elm
- The Elmish Book Building web applications in F# following The Elm Architecture from first principles.
- Elm patterns - A collection of coding patterns.
- Codings hints - A list of README files by Evan.
- Ellies catalog - A Collection of small example in Ellie.
- Elm Cookbook - A digital book about Elm.
- Awesome Elm PLTD - Useful resources for programming language theory & development in Elm.
Outdated Tutorials and books (Elm 0.18 or earlier)
- Elm: Building Reactive Web Apps - Learn how to build reactive web apps using Elm.
- Writing native - Learn how to create native JavaScript modules for Elm.
- Elm: Functional frontend development - Series of articles about fundamentals and advanced topics.
- Elm Tutorial - A tutorial on developing single page web applications with Elm.
- Elm Seeds - Short screencasts to teach you the Elm programming language from Erik Person.
- Elm For Beginners - Video Course - Build your first Elm Web App.
- Single-Page Web Apps in Elm - Five parts tutorial on Elm.
- Elm FAQ - Elm FAQ from Elm Community.
- Elm Tutorial by Auth0 - A tutorial on building an app in Elm from authentication to calling an API.
Learning Videos
- Welcome to Elm - Video playlist about learning all the Elm fundamentals.
- Elm The Complete Guide - Video tutorial including Elm UI, Elm Review, responsive design, tests and more.
- Egghead.io: Elm videos - Egghead's Elm video training, many of which are free.
- Elm Basics - Walk through all the syntax and basic ideas in Elm as a general programming language.
- Greg Ziegan: Elm live coding videos - Live coding videos on youtube.
Articles
Read the essentials. Check the official Elm blog: elm-lang.org/blog
Why Elm?
- Side-effects of Elm in production - An experience report from Bellroy
- How Elm Made Our Work Better - How a team built a business-critical web app for a customer using Elm.
- FP with games in Elm - Switching from imperative to functional programming with games in Elm.
- Blazing Fast HTML - Virtual DOM in Elm.
- Elm from a Business Perspective - This article discusses topics about Elm from a business perspective
- Move fast and don’t break things. Running a startup on Elm - Some thoughts on Elm development by a Swedish startup.
Miscellaneous articles
- Learning FP the hard way - Experiences on the Elm language.
- Blog of Brian Hicks - A blog with various topics about Elm.
- Introduction to The Elm Architecture and How to Build our First Application - An article describing the Elm architecture and how to build a simple application
- Functional Programming for Web Frontend by Jan Luxemburk - A Bachelor’s thesis about functional programming for frontend development with the focus on Elm.
Outdated articles (Not relevant for current Elm architecture)
- Elm for Web Developers - A collection of notes for web developers looking into moving to Elm.
- Elm & Components - A blog post describing a possible approach to reducing TEA boilerplate. Useful for component libraries and anyone interested in seeing the amazing things you can do with function types.
- Composing Features and Behaviours in the Elm Architecture - An article describing how to organize code that follows the Elm architecture into independent features, how to communicate between features, and how to group some of these features together to assemble larger features.
- Getting Started with Elm - Series of Elm education tutorials.
- Elm & Guarantees - a realistic look at where Elm is and isn’t superior to other options.
Conference Videos
Watch great talks about Elm
These are mostly conference talks, for videos about learning Elm look at the Learning Videos section.
Playlists
- Elm Conf 2019 - Sep 2019
- Elm Europe 2019 - Jun 2019
- Elm in the Spring 2019 - Jun 2019
- Oslo Elm Day 2019 - Feb 2019
- Elm Conf 2018 - All talks from elm-conf 2018
- Elm Europe 2018 - A playlist of all talks from Elm Europe 2018
- Elm Conf 2017 - All talks from elm-conf 2017
- Elm Europe 2017 - A playlist of all talks from Elm Europe 2017
- Oslo Elm Day 2017 - A playlist of all talks from Oslo Elm Day 2017
- Elm Conf 2016 - All talks from elm-conf 2016
Miscellaneous videos
- Dillon Kearns: Types Without Borders | 2018 - elm-conf 2018 talk about end-to-end type-safety using external schemas like GraphQL.
- Jamison Dance: Rethinking All Practices - Building Applications in Elm | 2016 - A talk given at React.js Conf 2016 about what Elm has to teach the JavaScript world and why JS devs should consider trying it.
- Richard Feldman: Introduction to Elm | 2016 - A talk that gives a broad, high-level introduction to Elm.
- Amitai Burstein: Frontend with Guarantees | 2016 - A talk from You Gotta Love Frontend 2016
- Jessica Kerr: Adventures in Elm | 2016 - A talk about the combination of functional programming with Elm at GOTO Chicago 2016.
- Aaron VonderHaar: Codevember | 2016 + ElmLive - elm live video examples.
- Richard Feldman: Making impossible states impossible | 2016 - A talk about modelling data structures in Elm in a way that makes invalid states unrepresentable
- Richard Feldman: Effects as Data | 2015 - A talk about how Elm manages side effects.
- Richard Feldman: Make the Back-End Team Jealous: Elm in Production | 2015 - A talk about Elm and initial steps to use it in production.
- Evan Czaplicki: Let's be mainstream! User focused design in Elm | 2015 - A talk from the father of Elm about the philosophy behind the language.
News
- Official Elm News - Official Elm blog
- Elm Weekly - A weekly newsletter about Elm
- Elm Bits - A free weekly newsletter about Elm featuring hand-picked news, articles, books, events, tools, and libraries.
- Elm News - All Elm news in one place
- Elm Greenwood - Elm packages releases