Channels, use the right tool for the job (asset pipieline, more in the DB, GNU gettext), changesets, explicitness, Phoenix is not your application, raw performance while pretaining general pleasure, View <-> Template distinction
What do you miss from Rails?
Eco system. Not only gems (something good & stable devise-ish comes to mind), but also integrations for bug monitoring, application performance monitoring and all that. Easy integrations for useful services e.g. relating to payment etc. - in general we found everything we needed though (PostGIS, JWT & friends)
Where are they similar?
Overall MVC structure (although that seems to change) and a focus on developer happiness and productivity and largely a nice community.
Where do they differ the most?
Phoenix is not your application vs. holy monorail of all the things that even inlines perfectly fine library functionality (timecop). Also to the point where Phoenix is more a normal elixir/mix project whereas Rails is… a Rails project.
When would you use/recommend either?
Basically I’d wanna check if:
- is my team up for using Phoenix? Do people want to? Have we had previous experience? Are people ok with doing some FP?
- how big is the project (if not much previous phoenix experience I’d tend to hesitate to bet on it)
- are the libraries in the eco system that I need from what I see from the general feature set
- does the application call for websockets/long polling?
- how much traffic will the application be under?
- is it viable to onboard people and be a bit less productive in the beginning?
- Who will maintain the project? (e.g. for client work)
- is this a project we will work on for long or is it a quick one off (I tend to say that I think you can still build things a bit faster in rails in the beginning, but I feel like in the long term phoenix becomes faster due to more explicitness it’s easier to understand and extend)
Anything else you’d like to share?
Thanks for Elixir and Phoenix. It’s a joy for me and I love it very much although we should avoid the “it’s better than everything else!!!”.
Just gave a talk at Rubyconf.pt about Elixr and Phoenix - people loved it and were very interested