Editing
Elixir Frameworks
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Elixir Frameworks == Elixir frameworks provide developers with a structured and efficient way to build robust and scalable applications in the Elixir programming language. These frameworks offer a wide range of features and tools that simplify the development process and promote best practices. Whether you are building a web application, API, or distributed system, there are several popular frameworks available in the Elixir ecosystem. === Phoenix === [[File:Phoenix-framework-logo.png|alt=Phoenix Framework|thumb|right|Phoenix Framework Logo]] [https://phoenixframework.org Phoenix] is a widely used web framework in the Elixir community. It follows the model-view-controller (MVC) pattern and focuses on providing high-performance and real-time applications. Phoenix leverages the power of Elixir's concurrency model and remarkable fault-tolerance capabilities. With its elegant syntax, Phoenix enables developers to build scalable applications quickly. Features: * MVC architecture * Channels for real-time communication * Plug-based middleware system * OTP supervision for fault-tolerant systems * Easy integration with Ecto and other Elixir libraries === Nerves === [[File:Nerves-logo.png|alt=Nerves Framework|thumb|right|Nerves Framework Logo]] [Nerves](https://nerves-project.org) is a framework specifically designed for building embedded systems with Elixir. It enables developers to create performant and reliable applications for platforms such as Raspberry Pi, BeagleBone, and more. Nerves provides a minimalistic and flexible environment for creating embedded software. Features: * Cross-compilation for various hardware targets * Hot Code Upgrades * Reduced memory footprint * Configuration tooling for device-specific settings * Abstraction layer for hardware access === Absinthe === [[File:Absinthe-GraphQL-logo.png|alt=Absinthe Framework|thumb|right|Absinthe Framework Logo]] [https://absinthe-graphql.org Absinthe] is a powerful framework for building GraphQL APIs in Elixir. It provides developers with a complete toolkit to define schemas, execute queries, and handle mutations. Absinthe is known for its excellent performance, flexibility, and well-designed abstractions. Features: * Schema definition using SDL (Schema Definition Language) * Support for building complex and performant GraphQL APIs * Automatic batching and caching of queries * Middleware for custom high-level functionality * Integration with Ecto for data persistence === Plug === [[File:Plug-logo.png|alt=Plug Framework|thumb|right|Plug Framework Logo]] [https://hex.pm/packages/plug Plug] is a minimalistic and composable framework for building web applications. It acts as a low-level interface for handling HTTP requests and responses in Elixir applications. Plug provides a simple API for creating middleware, making it easy to extend and customize the behavior of web servers. Features: * Composable middleware layer * Hides the complexities of HTTP server details * Designed to integrate seamlessly with other Elixir libraries and frameworks * Flexibility to choose the HTTP server (Cowboy, Phoenix, etc.) * SSL/TLS support === Lumen === [[File:Lumen-logo.png|alt=Lumen Framework|thumb|right|Lumen Framework Logo]] [https://lumen.laravel.com Lumen] is a lightweight and fast micro-framework for building web applications in Elixir. It shares many similarities with the Laravel framework in PHP and is ideal for developing small to medium-sized APIs and microservices. Lumen emphasizes simplicity and performance while maintaining compatibility with popular Elixir libraries. Features: * Built on top of the Laravel components * Fast and lightweight * Support for routing, caching, validation, and more * Smooth integration with Eloquent ORM * Facade system for easy access to underlying components === Other Frameworks === Additionally, there are several other noteworthy frameworks in the Elixir ecosystem, including: * [https://github.com/elixir-ecto/ecto Ecto] - A database wrapper and query generator for Elixir applications. * [https://github.com/beam-community/mox Mox] - A mocking library for Elixir applications. * [https://github.com/riverrun/avalanche Avalanche] - A distributed, scalable, and highly available task execution system. The Elixir framework landscape is continuously evolving, with new frameworks and libraries emerging regularly. These frameworks simplify and enhance the development process, allowing developers to focus on building robust and scalable applications using Elixir's powerful features and ecosystem. == References == {{reflist}} [[Category:Elixir]] [[Category:Web frameworks]] [[Category:Software frameworks]]
Summary:
Please note that all contributions to Elixir Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Elixir Wiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Template:Reflist
(
edit
)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information