5 ms·
I've used Django and Phoenix and Laravel. And they all have one thing in common: They're not the same at all. I don't know why people compare MVC-framework-X-t
by joshmn 9y ago
I've used Django and Phoenix and Laravel. And they all have one thing in common: They're not the same at all.
I don't know why people compare MVC-framework-X-that's-inspired-by-Rails'-foundations-and-fundamentals to Rails. Rails isn't great because MVC. Rails is great the vast and mature tooling and ecosystem that exists in Ruby (bundle, rake, thor; Rubygems), and the effortless ability to metaprogram (which is why Rails is what it is).
Per Rubygems, there are literally hundreds of thousands of people who are smarter than me who have developed libraries that solve the majority of things that I will/may need to implement. I'm not smarter than them and I'm okay with that. I want to focus on domain-specific stuff. Not anything else.
Those other frameworks... They're just not the same.
It's like comparing Ghost to Wordpress. Sure, they both allow you to blog, but Ghost doesn't have the Wordpress ecosystem of themes and plugins (blah blah blah security, I know).
I don't want to spend my time reinventing the wheel and neither do my clients or users. I'm not trying to earn style points with my stack and neither should anyone else. I'm not trying to impress HN or colleagues or friends. I'm trying to impress my clients and my users.
Rails will, for at least the next 5 years, allow me and anyone else who's familiar with OOP to greatly outpace any other web framework, given it's the right tool for the job[0].
There are other comments about scaling below and I'd love to comment on each of them but I won't. Rails scales just fine. I proudly serve an Alexa Top 5000 website that peaks at 500k rpm a few times a month (Nginx/Puma/Postgres/Redis). It all sits on a $30 VPS (2 cores @ 2GHz/8GB RAM). Sub-50ms response times and as stable as can be. It's not the most trivial of applications, either (pushing 50k writes/min and 1000 open pg connections). Sure, you'll spend a day tweaking your setup, but the cost of a day's time is low in comparison to switching to something like Phoenix.
[0] No, you're not going to mine crypto with Ruby.
- mrisoli 9y agoThat's because "Rails with performance" was one of Phoenix's selling points from day one, Phoenix was inspired by Rails and Elixir is heavily influenced by Ruby, prior to 1.3 killing the models in favor of contexts Phoenix contained an extremely similar structure to Rails MVC with less implicit conventions.
- jondubois 9y agoPhoenix is way overhyped, particularly on HN. This is the same as what happened with Golang and then with Rust. A few years ago, I remember that all these articles kept popping up about people switching from Node.js to Go. Now it's funny because fairly recently I read a well thought out article on HN encouraging developers to dump Go for Node.js... These days you hardly read anything about Go at all. Not that there is anything wrong with it, but reality caught up with the hype and it's no longer pretending to be a silver bullet. Right now Phoenix is pretending to be a silver bullet, but it's really not.
- 549362-30499 9y agoMind linking me that article about dumping Go for Node.js? I'd love to hear the reasoning behind that!
- ahalam 9y agohttps://github.com/maxpert/raspchat/releases/tag/v1.0.0-alpha https://github.com/maxpert/raspchat/releases/tag/v1.0.0-alph...
- itbeho 9y agoI’m old enough to remember when people said Rails was overhyped:) Hype aside, I really like Phoenix a lot.
- mmanfrin 9y agoFor what it's worth, this submission is a comparison of Phoenix -- a framework explicitly inspired by Rails and which has some core members who were/are Rails core members -- and Rails.
- potatocannon 9y agoI had similar thoughts initially. After understanding erlang's OTP concepts, it all became clear. Phoenix's simplicity combined with the power of erlang&otp is fantastic.
- sergiotapia 9y ago
- sjellis 9y ago"I don't know why people compare MVC-framework-X-that's-inspired-by-Rails'-foundations-and-fundamentals to Rails. Rails isn't great because MVC. Rails is great the vast and mature tooling and ecosystem that exists in Ruby (bundle, rake, thor; Rubygems), and the effortless ability to metaprogram (which is why Rails is what it is)." This is exactly it, IMO. My employer uses both Rails and ASP.NET MVC, and it is not uncommon for the .NET developers to need to hand-roll one or two of the proposed features of a project, where Rails developers could have just used a well-tested gem. Soft-delete and content versioning are obvious examples: ActiveRecord plus community gems make these features trivial in Rails. Rails does fall down on raw performance: this becomes noticeable on large batch jobs and big test suites, but it's never been a blocker. Personally, I am very interested in Buffalo[1], which is essentially Rails for Go, but it will take at least a few years for the Buffalo ecosystem to be able to match Rails. [1]: https://gobuffalo.io https://gobuffalo.io