Skip to content

A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list. Feel free to contribute. πŸš€

Notifications You must be signed in to change notification settings

gorkdesign/awesome-elm

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Awesome Elm



Awesome Build Status

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

Examples

Some good apps written in Elm.

Games

πŸ” back to top

Learn

Learn what this awesome thing is.

Outdated Tutorials and books (Elm 0.18 or earlier)

πŸ” back to top

Articles

Read the essentials. Check the official Elm blog: elm-lang.org/blog

Why Elm?

Miscellaneous articles

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.

πŸ” back to top

Videos

Watch great talks about Elm

Playlists

Miscellaneous videos

Video tutorials

πŸ” back to top

News

Podcasts

Listen to podcasts about Elm

  • Elm Town - A podcast about the people in the Elm community.

Individual Podcast episodes

πŸ” back to top

Libraries

You can find hundreds of high quality packages at:

  • Elm packages - The official registry
  • Elm Package Catalog - Find packages in a catalog organized into categories.
  • Elm finder - A directory of reusable libraries and tools for your Elm projects
  • Elm Search - Search Elm documentation for operators, function signatures, etc.

Here are some notable ones:

  • core - Elm Core Libraries.
  • html - Use HTML in Elm, based on the idea of a "virtual DOM".
  • elm-test - A unit testing framework for Elm.
  • http - Make HTTP requests in Elm.
  • elm-ui - UI Library in Elm.
  • elm-css - CSS in Elm.
  • dillonkearns/elm-graphql - Generate code to build guaranteed correct, type-safe API requests to your GraphQL API.

πŸ” back to top

Testing

Tools and libraries to test your Elm applications

πŸ” back to top

Tools

Useful tools related to Elm.

  • Elm Live - A flexible dev server for Elm. Live reload included!
  • Elm Format - Automatic Elm code formatter adhering to Elm Style Guide.
  • Elm Oracle - Query for information about values in elm source files. Used by most editor plugins.
  • Elm Analyse - Linter for the Elm programming language.
  • type-o-rama - JS type systems interportability.
  • Dependabot - Automatic update PRs for your elm-package.json.
  • Elm Doc Preview - Elm offline documentation previewer.
  • Elmstatic - Elm-based static site generator.

Code Generators

Run Elm

  • Ellie - The Elm Live Editor
  • Online REPL - The ELM Online REPL
  • run-elm β€” Run Elm code from the command line
  • elm-instant - atom package to try your elm code from the editor. Provides a visual REPL and a preview pane.

Compile and bundle

  • elm-compiler - Compiler for the Elm programming language.
  • elm-webpack-loader - Webpack loader for the Elm programming language.
  • Parcel - Bundle Elm using Parcel
  • grunt-elm - Grunt plugin that compiles Elm files to JavaScript.

πŸ” back to top

Editor plugins

Tools to support Elm in code editors.

Atom

Emacs

  • emacs-elm-mode - Syntax highlighting, Elm REPL, Elm make and Elm format integration for the Emacs editor.

IntelliJ

Sublime Text

Vim/Neovim

Visual Studio Code

Other

  • elm-light-table - Syntax highlighting, REPL, autocompletion, package management and much more for Light Table.

πŸ” back to top

Package managers

Place to share Elm libraries.

  • elm-package - Command line tool to share Elm libraries.

πŸ” back to top

Boilerplates

Good starting point for a new Elm project.

Outdated Boilerplates

  • elm-webpack-starter - A simple Webpack setup for writing Elm apps.
  • elm-app-boilerplate - A fully-featured base project for Elm apps: Webpack, HMR, ES6, JS and Elm tests, Semantic UI, sample code and more.
  • elmkit - A lightweight Brunch based setup for web app. Includes Brunch, Hot Module Replacement, Elm, Scss, Elm tests.
  • elm-boilerplate - A simple Makefile able to create Elm app.
  • elm-init - Interactive setup for new Elm projects.
  • elm-new - Generate initial project scaffolding based on a template.
  • elm-webpack-starter-kid - A very very basic elm + webpack 4 template.

πŸ” back to top

Community and Support

Where to find help.

  • Discourse - Elm Discourse instance (official forum).
  • Reddit - Elm board on reddit.
  • IRC - Ask questions on elm freenode.
  • Slack - Elm slack community.

πŸ” back to top

Conferences

πŸ” back to top

Inspired by Elm

Projects inspired by Elm

  • Elchemy - Write Elixir code using statically-typed Elm-like syntax
  • Elmish - Elm-like abstractions for F# apps
  • Fabulous - F# Functional App Development, using declarative dynamic UI
  • Bolero - F# in WebAssembly using Elmish
  • SwiftUI
  • Redux - A predictable state container for JavaScript apps.
  • Bucklescript-TEA The Elm Architecture based on OCaml / Reason and Bucklescript

πŸ” back to top

Beyond the DOM

At the moment Elm is heavily targeted towards the browser, here are some experiments on using Elm outside the DOM:

  • iOS A POC for using Elm 0.18 for native iOS Applications
  • elmish-wasm A POC for compiling elm to Web Assembly
  • elm-serverless Run Elm 0.18 on Cloud Functions using the Serverless Frameworks

πŸ” back to top

Who to follow

Follow for fresh updates for free. Use #elmlang or #elm hashtag.

Official Elm Evan Czaplicki Richard Feldman Elm Weekly

πŸ” back to top

More awesome

Discover other amazingly awesome lists.

Awesome Elm is just a part of awesome thing, get more here:

πŸ” back to top

License

CC0

About

A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list. Feel free to contribute. πŸš€

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published