Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A lot of what's great about Phoenix is simply that it builds on top of Elixir, which is already great and which itself builds on top of Erlang/OTP, which is, too, already great; it's the "standing on the shoulders of giants" concept. The overlap between Phoenix devs and Elixir devs helps, too.

Phoenix ain't quite my cup of tea for the same reason Rails ain't my cup of tea: it's big, and it does little to hide that bigness. It's why, when I was doing web development on Elixir, I ended up gravitating to alternative frameworks (like Sugar - which, as a disclaimer, I'm a very inactive maintainer of), for the same reasons I tended to prefer Sinatra or Padrino over Rails. For most people, though, "bigness" ain't really a problem - and Phoenix does a really good job of being "Rails but actually good". At the end of the day, it's a solid choice that probably won't bite you in the ass, and that's what matters.



Phoenix is actually quite small if you look at the source and patterns. It would be interesting to compare to other frameworks. We get a lot for free from the platform, so even if you include Phoenix pubsub the feature set for size of the framework is going to be unmatched because of the process model and distributed runtime. Here’s an entire Phoenix app in 50 LOC https://gist.github.com/Gazler/b4e92e9ab7527c7e326f19856f8a9...


That's true. By the same virtue, though, Phoenix is big compared to most other Elixir web frameworks - which also get a lot for free from the platform (and even more for free from Plug). Of course you can ignore the vast majority of what Phoenix offers and churn out a 50-SLOC minimal example like that, but then why pull in an extra dependency when you could accomplish much of the same while just using Plug?


One of the things I like most about Phoenix is actually the size.

Rails significantly slows down Ruby, while adding a lot of value.

Phoenix has a negligible effect on Elixir performance, while adding a lot of value.


I don't think it's that really. Phoenix pushes a lot of things (especially expensive metaprogramming) to compile-time. For ruby to handle those sorts of things inherently adds cpu time.

I don't super love Phoenix, because a lot of it's metaprogramming stuff "breaks" elixir conventions, but I have to admit, I've done some really strange things with it and never worried about sleeping at night.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: