Updated 28-Jun-2024
Late to the party as always, as this has been going on for a few years, but hey. In any case, this is about Elixir and Phoenix: - Elixir is a 5 year old functional programming language, that runs on the - Erlang BEAM VM (which is very mature, fast, and reliable), and - Phoenix is a modern web framework with Rails-like syntax Some say that Elixir and Phoenix are the future of Web Apps and Web APIs
Functional Programming
There are points of functional programming that matter, and others that are merely discussion points. The ability to hot swap an application isn't needed for many, but when apps and sites become laden with users and use, then that kind of stability and flexibility supports the experience of stability.
Elixir and Phoenix vs. Web Frameworks
- PHP + PHPCake + MySQL vs. Elixir + Phoenix + PostgreSQL. Basically from 100 to 1,000 concurrency is where the switchover occurs.
- Ruby + Rails vs. Elixir + Phoenix
Elixir vs. Node, PHP, Ruby
Phoenix vs. Node is the actual comparison, and it doesn't look good for Node, which blocks very easily. The main point is that Elixir is asynchronous and nonblocking, and can handle a huge amount of concurrency.
Elixir vs. Go, Scala, Clojure
Overall, these languages have many points in comparison. Elixir is definitely the newest kid on the block (introduced in 2012). Clojure is Lisp on a Java VM. Elixir runs on Erlang VM, which has nine-nines uptime (99.9999999% aka 32 milliseconds/year). Go is Google's baby. For me, perversely enough, that is a strike against it.
Elixir and Phoenix Learning Resources
- Elixir School
- Elixir Forum
- Elixir Language Learning Resources
- Elixir Blog in 15 minutes using Phoenix Framework
- How to build an Elixir app with Phoenix
- Obelisk, static site generator (Jekyll-like)
- Elixir Nation general lists of resources and such, searchable
- Static site generator using Phoenix and Elixir