news.volyx.in

Why Ruby on Rails still matters (contraption.co)

524 points by philip1209 · 528 days ago · 458 comments on HN

Article summary

The article discusses the relevance of Ruby on Rails in modern web development, despite the rise of newer frameworks like Next.js. It argues that Rails remains a simple and effective way to build web applications, especially for smaller teams and projects that require a more straightforward approach. The author shares their personal experience with both Rails and Next.js, highlighting the strengths and weaknesses of each. Rails' ability to handle complex backend operations and its simplicity make it a viable choice for many projects.

Main themes

  • Ruby on Rails
  • Next.js
  • Web development frameworks
  • Backend development
  • Complexity vs simplicity
  • Legacy systems

What commenters say

  • Some developers prefer a more straightforward approach to web development, using CRUD forms and simple APIs, which Rails excels at.
  • Others argue that modern web applications often require more complex and dynamic interactions, making Next.js a better choice.
  • The use of GraphQL can be seen as a solution to the complexity of API calls, but it also introduces potential security risks if not implemented carefully.
  • Some developers believe that Rails' simplicity and abstraction make it a better choice for smaller teams and projects, while others prefer the flexibility and customization of Next.js.
  • The idea that GraphQL allows for arbitrary queries into the database is a misconception, and it can be designed to be secure and controlled.
  • The choice between Rails and Next.js ultimately depends on the specific needs and goals of the project, and both frameworks have their strengths and weaknesses.
  • Some developers argue that the rise of HTTP/2 and QUIC multiplexing makes multiple API calls less of an issue, while others believe that it's still important to optimize API design.
  • The use of intermediate services, such as BFF stacks, can help bridge the gap between frontend and backend complexity, but may also introduce additional complexity and overhead.