We have adopted Elixir and Phoenix framework since early 2016 and has applied it successfully till today. We use Elixir as the main language for web, back-end development and data API development.
Let’s buildElixir benefits from the wealthy, open-source framework Phoenix which enables us to shorten development process and shift our focus into the product-market fit instead of reinventing the wheel.
Elixir itself runs on the Erlang VM and totally interoperable with Erlang, its performances and its ecosystem. Thus, tools written for Erlang can be used on an Elixir codebase.
Elixir has built-in support for:
Elixir is also in a good spot between performances and high level features:
Erlang VM (BEAM) system built for concurrency. The Erlang builtin actor concurrency model help us create isolated processes that can communicate with one another using messages but can’t mess with other’s state. As a result, it can handle these user spikes with ease.
Thanks to Erlang VM, Elixir applications is able to run on various communicating nodes. This makes it easy to create larger web and IoT applications that could be scaled on several different servers and machines. Having multiple virtualized servers over a distributed system also leads to better app performance.
One of the features that developers love the most about Erlang and Elixir is fault-tolerance. It provides built-in safety mechanism to keep the product functioning even when something goes wrong. Processes alert a “failure” to dependent processes, even when they’re on different physical servers so they can fix the problem immediately.
Although Elixir is quite a young language, it has the time to develop an active user community where even highly qualified engineering are willing to build, help and share their knowledge. Moreover, there is a lot of resources and tutorials available for developers to their hands on Elixir.