Awesome
Awesome Erlang
A curated list of awesome frameworks, libraries, tools, and resources for Erlang programming.
Contents
Libraries
Core Libraries
- stdlib - The standard library of Erlang.
- crypto - Cryptographic functions for Erlang, part of the OTP package.
- ssl - Secure Sockets Layer (SSL) and Transport Layer Security (TLS) support.
Web Frameworks
- Cowboy - A small, fast, and modular HTTP server for Erlang.
- ChicagoBoss - A powerful web framework inspired by Rails and Django.
- Nitrogen - A web framework for building dynamic web applications in Erlang.
Testing
- EUnit - Erlang's lightweight unit testing framework.
- Common Test - A testing framework for complex, black-box testing scenarios.
- Proper - A property-based testing tool for Erlang, inspired by QuickCheck.
Database
- Mnesia - A distributed database management system built into Erlang/OTP.
- ETS (Erlang Term Storage) - In-memory storage for Erlang terms.
- CouchDB - A database that uses Erlang and supports multi-master replication.
JSON
- jsx - A fast, lightweight JSON library for Erlang.
- jiffy - A JSON parser and encoder for Erlang, written in C.
- jsone - A pure Erlang JSON library.
Networking
- Ranch - A socket acceptor pool for TCP protocols.
- GenMQTT - An Erlang MQTT client library.
- Lager - A logging framework for Erlang/OTP.
Concurrency
- Poolboy - A small and fast worker pool library for Erlang.
- Gun - An HTTP/1.1, HTTP/2, and WebSocket client for Erlang/OTP.
- Taskforce - A lightweight task processing library for Erlang.
Tools
- Rebar3 - A build tool and package manager for Erlang projects.
- Observer - A graphical tool for inspecting Erlang systems in real time.
- Dialyzer - A static analysis tool for finding bugs in Erlang code.
Build Tools
- Rebar3 - The most popular build tool and package manager for Erlang.
- Mix - Although primarily for Elixir, Mix can be used with Erlang projects too.
- Erlang.mk - A build tool for Erlang projects with minimal setup.
IDEs and Editors
- IntelliJ IDEA - Supports Erlang through the Erlang Plugin.
- Emacs - Supports Erlang with the erlang-mode package.
- Vim - Can be customized for Erlang development with vim-erlang.
- VS Code - Supports Erlang with the Erlang LS extension.
Learning Resources
- Erlang Documentation - Official documentation for Erlang/OTP.
- Learn You Some Erlang for Great Good! - A beginner-friendly guide to Erlang.
- Erlang Central - Tutorials, videos, and resources for learning Erlang.
Books
- Programming Erlang by Joe Armstrong - A comprehensive guide to Erlang by one of its creators.
- Erlang and OTP in Action by Martin Logan, Eric Merritt, and Richard Carlsson - A practical guide to building scalable applications with Erlang.
- Designing for Scalability with Erlang/OTP by Francesco Cesarini and Steve Vinoski - A book on designing scalable and maintainable systems with Erlang.
Community
- Erlang Forums - An online forum for Erlang developers.
- Erlang Slack - Join the Erlang community on Slack for discussions.
- Erlang Reddit - A subreddit for Erlang programming discussions.
- Erlang Discord - A Discord server for the Erlang community.
Contribute
Contributions are welcome!