GitLab slaps “Ruby on Rails is dead” remarks: I’m still using it!

Sorting | Peng Huizhong Editor in Charge | Tu Min

Produced | CSDN (ID: CSDNnews)

The Ruby language was very popular between 2013 and 2015, but then its popularity declined . As early as 3 years ago, there were remarks in the industry that “Ruby and Ruby on Rails are dead”. However, even today, Sid Sijbrandij, CEO of GitLab, said: Ruby on Rails is still GitLab’s firm choice. So what is the magic of this dying technology?

The “best of both worlds” Ruby on Rails

Ruby on Rails (officially referred to as Rails, also referred to as RoR) is an open-source web application framework written in the Ruby language. The design principles of Rails include Don’t Repeat Yourself ” and “ Convention Over Configuration , so it has been adopted by many developers and manufacturers once it is released.

However, recalling the initial experience of creating Ruby on Rails, founder David Heinemeier Hansson said that he was a little hesitant during development due to the influence of PHP and Java. On the one hand, he doesn’t like Java’s low speed and flexibility because it makes web frameworks complicated and difficult to use, but he’s delighted by the structural integrity of Java. On the other hand, he likes the “novice friendliness” of PHP, but doesn’t like PHP’s cluttered structure of web frameworks.

It seems difficult to get the best of both worlds. Either choose PHP which is “novice friendly” but disjointed, or Java which is well structured but difficult to use.

It seems like a choice between what used to be server-like operating systems (like Unix) and client operating systems (like Windows and MacOS), which were stable but hard to use, and easy to use but often crashed.

In past attempts, everyone seemed to embrace this black-and-white option, until Jobs brought the NeXTSTEP operating system, which offered a nice, approachable, slick build on top of the stable Unix. graphical user interface. Today, “server-grade” Unix can run not only a nice GUI desktop, but also most cell phones and smartwatches.

So it turns out that “simple to use” and “unstable” of an operating system are not actually related, nor are “novice-friendly” and “cluttered” of a web framework, independent of each other.

With this in mind, Ruby on Rails, created by David Heinemeier Hansson, is an extremely “novice-friendly” and well-structured web framework. And Ruby also proved to be the ideal vehicle for the Ruby founders to use Rails to achieve the above requirements.

Rails coincides with GitLab

When GitLab co-founder Dmitriy Zaporozhets decided to build GitLab, he chose Ruby on Rails, even though he was primarily using PHP at the time. Dmitry’s choice may have been prescient or accidental, but Rails does serve GitLab very well, and a large part of that is because David succeeded in achieving what he wanted for Rails: easy to use and well-structured.

Rails enables GitLab to develop modular monoliths . A modular monolith is a well-structured, well-architected, highly modular program that runs as a single process and keeps it as “dry” as possible.

The modular monolith takes GitLab’s open-centric business model from a beautiful theory to a reality. Because, in order to reap the real “benefits” of open source, the source code provided by contributors must be attractive. Such code must be very well-structured in order to maintain architectural integrity in the face of contributions from various sources, and to maintain a clear demarcation between open and closed components. And through modular monoliths, users and other third-party developers contribute additional functionality to the core product, with unparalleled speed of innovation and scalability.

The organized, structured style of the Rails framework aligns with GitLab’s core mission . Because Rails is lean, anyone can join GitLab and participate, which made it particularly appealing to GitLab CEO Sid Sijbrandij from the start.

“Our mission is that everyone can contribute. And Ruby on Rails happens to be ‘novice friendly’, it follows all the principles and conventions and doesn’t have all the bells and whistles of other extensions. I think GitLab’s primary value is Provides a very good open source code base. The secondary value is providing such a “dull” solution: not doing any bells and whistles so that everyone can create on top of this code base. Really appreciate Ruby for providing us with such a stable ecosystem,” Sid said.

Although it is not perfect, “the flaws do not hide the beauty”

Although Rails is a very good technology, there are still some fly in the ointment, one of which is performance . However, only a small portion of most codebases have high performance requirements. In response, GitLab developers have improved performance in a number of ways, including rewriting the code in Go and using the Vue framework. Go was used to address other issues affecting load times and to reduce memory usage. And VUE is used to rewrite frequently accessed pages like issues and merge requests so they load faster and improve the user experience.

“For those parts that are frequently attacked, have high performance requirements, or have to wait a long time on system IO, we have rewritten in Go,” Sid said. “At the same time, we are still working on making GitLab Takes up less memory, so we need to enable multithreading. While it won’t make development blazingly fast, it will at least reduce memory usage.”

The text and pictures in this article are from CSDN

loading.gif

This article is reprinted from https://www.techug.com/post/gitlab-said-ruby-on-rails-is-dead-in-the-face-im-still-using-it/
This site is for inclusion only, and the copyright belongs to the original author.

Leave a Comment