A micro-framework for building web applications in Erlang, inspired by Sinatra and built on Cowboy.
Axiom is a micro-framework for building web applications in Erlang, designed to be fast and easy to use. It provides a minimalistic, Sinatra-inspired routing system and essential web development features like template rendering, session management, and static file serving, all built on top of the Cowboy HTTP server. It solves the problem of creating lightweight, efficient web services in Erlang without the overhead of larger frameworks.
Erlang developers looking for a simple, unopinionated framework to build web applications or APIs quickly, especially those familiar with Sinatra-style routing.
Developers choose Axiom for its minimalism, ease of use, and tight integration with Erlang's strengths. It offers a straightforward way to handle web requests with minimal boilerplate, while still providing key features like templates and sessions, making it ideal for small to medium-sized projects.
a micro-framework for web applications in Erlang
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses a simple handle/3 function with method and path segments, inspired by Sinatra, making route definition straightforward and minimalistic.
Built on the high-performance Cowboy HTTP server, leveraging Erlang's concurrency for reliable and scalable request handling.
Integrates ErlyDTL for Django-style templates, allowing dynamic HTML generation with compiled templates for efficiency.
Provides a basic session handler with ETS storage and customizable cookie settings, simplifying state management in web apps.
Changes in static files under the public directory require a server restart to be reflected, hindering development workflow and live updates.
As a niche Erlang framework, Axiom lacks a wide range of plugins or community extensions compared to more popular web frameworks.
Implementing custom session stores or complex error handling requires writing Erlang modules, adding complexity beyond the basic setup.