Elixir Pros, Cons, and Its Main Frameworks

  • Date Published
  • Categories Blog
  • Reading Time 4-Minute Read

As you are already slightly familiar with 12 main open source Elixir frameworks, it’s time for you to know Elixir’s pros and cons, and its main frameworks.

As you are already slightly familiar with 12 main open source Elixir frameworks, it’s time for you to know Elixir pros and cons and its main frameworks. This will be a brief overview. We are here to help you!

Elixir is a functional programming language that first appeared in 2012. Since 2012, there have been 96 Elixir releases. If you know Ruby, on the surface, Elixir and Ruby share a similar syntax.

As with all other technologies, the Elixir programming language has its pros and cons. Once we had already shown you some of them in our material about Elixir vs Ruby. Here we just want to add some details.

Elixir’s Advantages

  • Elixir and Phoenix are fast. For example, tests of Elixir’s performance show much better results than those for Ruby, and Phoenix response times are measured in microseconds.
  • This is one of the strong sides of Erlang that is also available for Elixir.
  • In software development, concurrency means the ability to run multiple processes simultaneously but keep them independent of one another.

Due to Elixir’s syntax, it is easy to write clean, and understandable, code without sacrificing the productivity of a developer.

The Disadvantages of Elixir

  • A smaller amount of Elixir programming jobs. (We faced that problem in Syndicode, and we joke about this saying that the world is just not ready yet).
  • Lack of Elixir developers. (This situation is getting better day by day).
  • Elixir is a young programming language.
  • Smaller community. (By now. But it grows with numerous conferences and events happen every year!)
  • Smaller ecosystem.

Let’s talk now about Elixir’s main frameworks

This list includes Phoenix, Hedwig, Nerves, Sugar.

1. Phoenix Framework

Released in 2014.Purpose: Web Applications, API Backends, Soft Real-Time Systems, Messaging Applications. This framework leverages the Erlang VM ability to handle millions of connections alongside Elixir’s beautiful syntax and productive tooling for building fault-tolerant systems. It provides high developer productivity and high application performance. It also has some interesting new twists like channels for implementing real-time features and pre-compiled templates for blazing speed. Phoenix is made up of a number of distinct parts, each with its own purpose and role to play in building a web application.

2. Nerves

Released in 2017.Purpose: IoT and Embedded Software. With Nerves, you can craft and deploy bulletproof embedded software in Elixir. This framework takes care of the network, discovery, I/O, firmware updates and more. It can also get pack the whole application into as little as 12MB and have it start in seconds by booting a lean cross-compiled Linux directly to the battle-hardened Erlang VM. Great? Nerves is specifically designed for embedded systems, not desktop or server systems. The Nerves platform, framework, and tooling provide a highly specialized environment for using Elixir to build advanced embedded devices.

3. Sugar

Released in 2014.Purpose: web development. Sugar is a modular web framework for Elixir. It aims to be a strong contender for web development. It’s fast, easy to learn and work with and effective in means of development.

4. Hedwig

  • Released in 2015.
  • Purpose: bot creation.

Hedwig is a chatbot, highly inspired by GitHub’s Hubot. It was designed to run as a single, stand-alone OTP application or can be included with OTP application as a dependency. It’s great for testing how your bot will respond to the messages it receives.

Hedwig comes with many adapters:

  • IRC
  • An IRC Adapter
  • Facebook Messenger
  • A Facebook Messenger Adapter (WIP)
  • Flowdock
  • A Flowdock Adapter
  • SendSonar
  • A SendSonar Adapter (WIP)
  • Slack
  • A Slack Adapter
  • SMS
  • An SMS Adapter powered by Twilio
  • XMPP
  • An XMPP Adapter. Also, it supports a list of responders ranging from YouTube, Weather, Mopidy, etc.

We have put it all together for you, but hope you will make your own small research on Elixir. Because it has a great future! Hint, you can start from here (this material has code examples and some tech data).

Also, read about Nerves framework for developing embedded software with Elixir in details!