3 ms·
I have been using it for my (modestly sized) first serious public project (https://github.com/domovikapp/domovik-server/ https://github.com/domovikapp/domovik-s
by shakow 5y ago
I have been using it for my (modestly sized) first serious public project (https://github.com/domovikapp/domovik-server/ https://github.com/domovikapp/domovik-server/), and I have been quite satisfied with it.
For the pluses:
- the development experience is stellar (live code reload, REPL interacting directly with the running server, excellent debugger, dependencies management & build system are good and can be extended in the language itself);
- the integrated documentation generator is of high quality;
- the performances are satisfactory (you'll get more out of a $10/m VPS with Elixir/Phoenix than with RoR);
- deployment is surprisingly easy with the releases system;
- the language itself is quite pleasing;
- the standard library is very well designed and architectured, and everything just fall in place together;
- Ecto shows brilliantly how to combine high-level, ORM-like operations and low-level, close-to-the-SQL ones;
- Phoenix itself is a very well though out framework.
For the cons:
- the ecosystem is still quite young and has some sharp edges and/or missing docs;
- the OTP is magic for heavily parallel workloads, but it is also quite foreign and there will be some work to grasp its inner workings;
- there are some quirks in the language coming from the Erlang runtime;
- I would love to have a static type system, although I see how it would conflict with the tenets of the OTP.
So all in all I might not recommend it for a very high stakes project; but otherwise, just go for it, it's great.