4 ms·
Doing Elixir since 2016, deployed multiple Phoenix Projects to Production. Of you want to build dynamic web applications, phoenix+LiveView is imo _the_ best Op
by anonyfox 6y ago
Doing Elixir since 2016, deployed multiple Phoenix Projects to Production.
Of you want to build dynamic web applications, phoenix+LiveView is imo _the_ best Option currently. It also keeps the promises: reliable (zero-maintenance apps running for years on heroku), productive (prototyping things is really fast: like rails 2/3 days), fast (templates render fast even when complex). It is also great to have actor processes and ETS at your fingertips.
Having said that: dynamic typing truly sucks for bigger projects/large teams. It is awful how much you have to write tests for, and these tests will slow down further velocity when things will change... stellar opposite to Rust.
Never attempt to do any serious number crunching in Elixir/Erlang, the BEAM truly is not made for this stuff. Plan to use/write NIFs or Ports for computational tasks. Even compiling larger Phoenix codebases will take minutes if you aren’t cautious of using „import“ in modules.
Finally: deployment is really the major pain point. I love the single file deployment story of rust and go.
- lejboua 6y agoFrom your remark about deployments, I'm assuming you're not using Distillery or Mix releases? If you use a release, you can deploy a tar.gz with "batteries" included (everything you need to run your app, including the BEAM). At work we have a dozen of elixir apps running smoothly in Production on plain Debian containers.