4 ms·
I have been watching Phoenix/Elixir for a while and wondering if it has gained a lot more traction compared to say 2 years ago ? My choice of full web app framw
by codegeek 6y ago
I have been watching Phoenix/Elixir for a while and wondering if it has gained a lot more traction compared to say 2 years ago ? My choice of full web app framwork is Symfony/Laravel (PHP) or Python (Flask/Django) but I really like what Phoenix has to offer.
However, does it have a mature ecosystem now ? What about deployments and tools around it ? Does it work with generic web servers like Nginx or does it run its own http server ?
- t0astbread 6y agoWouldn't you typically run Nginx (or something similar) as a reverse proxy anyways in production?
- codegeek 6y agocorrect. I was just wondering if it also has inbuilt http server as well to process things like static files etc or is that completely on 3rd party tools like nginx (which I love btw). Kinda like in Golang where you could technically use the static file server but I always use nginx for those things.
- innocentoldguy 6y agoCowboy is Elixir's built-in HTTP server. You can configure things like Nginx or Haproxy as you would with most other frameworks.
- josevalim 6y agoThe ecosystem has been quite mature for a while. The language reached v1.0 almost 6 years ago and Phoenix v1.0 was released almost 5 years ago. The community has built a lot on top of them since then. The deployment topic is wide, so the answer will depend on your favorite ways to deploy. If you are using Heroku or another PaaS, it has been very straight-forward since ever. If you want to ship a self-contained executable or a Docker image, the language has standardized on the tooling for assembling those in the last year or so (they are called releases). It was always possible before, just not standardized at the language level. It runs its own http server but you can easily put it behind nginx, websockets included, by using the reverse-proxy settings. Here is an example article: https://dennisreimann.de/articles/phoenix-nginx-config.html https://dennisreimann.de/articles/phoenix-nginx-config.html
- thruflo 6y agoI’m a long time Python dev converted to Elixir (for ~3 years now, mainly web dev and data pipelines). The tooling and developer experience in Elixir is first class and the ecosystem is highly mature.
- neillyons 6y agoComing from Python as well I'm really impressed with the tooling. `mix new` is just amazing.
- lawik 6y agoI would say it is quite mature. The ecosystem is a bit smaller and younger, so sometimes you'll find an insufficient library somewhere or no library at all. But I've never had a show-stopper in that regard. I've done plenty of Django and Flask and I'd rather work with Phoenix. I still like Django plenty but only time I'd pick it is if I think the admin might save me copious time or if there is something else tying the project to Python, such as machine learning.
- theagilecoder 6y agoI run a Crypto arbitrage service www.coinvana.in built with phoenix and deployment consisting of digital ocean, nginx, ssl, mix releases, github actions among other things. At this moment, I just git push my updates to github and all pieces of deployment are taken care of.