3 ms·
Phoenix creator here. Please take a look at my ElixirConf presentation where I exactly address your concerns. We're very much not out to replicate Rails and we
by chrismccord 12y ago
Phoenix creator here. Please take a look at my ElixirConf presentation where I exactly address your concerns. We're very much not out to replicate Rails and we are leveraging Elixir's strengths. As Dave Thomas said "Why replicate when you can innovate?". I very much agree. Our realtime Channel layer shows this off. That said, we have borrowed a few ideas from Rails where they make sense. I think Rails got a lot more right than it got wrong, but our goals are to go well beyond and redefine what you think of as a "web framework" traditionally. We're aiming for a "highly connected web framework" for devices, whether that's your browser, iPhone, Android, or smart toaster. For example, we already have a native Swift client for our Channel layer. With respect to the Router example, our Router DSL does a number of things like defining named route helpers, i.e.:
`Router.users_path(:show, 123)`
We also have a `resources` macro similar to Rails style that wires up half a dozen or so resftul endpoints that you'd otherwise have to roll by hand. This would be particularly tedious in your example once you started nesting resources. The Router also serves as the entry point to the Plug middleware stack where we wire up some essential middleware and connection metadata.
My ElixrConf talk gives a full overview of the framework and some of the more interesting features not addressed by a CRUD app:
http://www.confreaks.com/videos/4132-elixirconf2014-rise-of-the-phoenix-building-an-elixir-web-framework http://www.confreaks.com/videos/4132-elixirconf2014-rise-of-...
- skrebbel 12y agoAwesome, thanks. Will watch!