27 февраля 2025

💎📐 Ruby on Rails vs Next.js: почему дед веб-разработки до сих пор дает жару

Пишу об IT и на Python. kungurov.net
Как винил в музыке, который снова в тренде, Rails продолжает жить и процветать в мире, где технологии меняются быстрее, чем мы успеваем о них узнать.
 💎📐 Ruby on Rails vs Next.js: почему дед веб-разработки до сих пор дает жару
Статья основана на публикации «Why Ruby on Rails still matters».

🎵 Уроки винила

Недавно я наткнулся на виниловые пластинки моего покойного деда. Меня поразило, как этот носитель из прошлого тысячелетия до сих пор отлично воспроизводит музыку. Винил стал настоящим прорывом в распространении музыки – он сделал тиражирование и обмен звуковыми записями доступными, создав стандарт, который живет по сей день. И хотя способы передачи аудио эволюционировали, старые подходы по-прежнему работают. В нашем усложняющемся мире многие возвращаются к винилу именно из-за его простоты.

То же самое можно сказать и о веб-технологиях – мы часто забываем, что старые сайты до сих пор прекрасно работают. Текстовая страничка из 90-х загружается в современных браузерах точно так же, как и тогда.

Со временем сайты обзавелись новыми возможностями – CSS для стилизации, JavaScript для интерактивности, веб-сокеты для обновлений в реальном времени. Но их фундамент все еще строится на страницах, формах и сессиях.

Ruby on Rails появился двадцать лет назад как универсальный подход к созданию интерактивных веб-приложений с базами данных. Он стал основой для множества успешных компаний – Airbnb, Shopify, Github, Instacart, Gusto, Square и других. Всего-то на триллион долларов бизнесов работает сегодня на Ruby on Rails.

Ruby умер
Ruby умер

🚗 Абстракция как ключ к эффективности: почему Rails работает

Эффективные инструменты упрощают сложные задачи через абстракцию. Возьмем автомобили – раньше для вождения требовалось понимать работу топливной системы, зажигания и механику сцепления. Сейчас большинство водителей даже не знают, сколько передач в их машине.

Rails упаковал лучшие практики веб-разработки в доступный инструментарий: авторизацию, защиту от CSRF-атак, работу с базами данных. Эта абстракция позволяет разработчикам сосредоточиться на создании продукта, а не на технических деталях. Сегодня большинство программистов не знают содержимое своей авторизационной куки, хотя она обеспечивает работу их приложения.

Next.js сейчас стал самым популярным инструментом для создания стартапов. Этот фронтенд-ориентированный фреймворк обеспечивает динамические состояния загрузки, серверный рендеринг и создание сложных компонентов. Триллионные компании строятся на Next.js, и эти веб-приложения быстрее и отполированнее того, что можно было создать на Ruby on Rails.

🧩 Сложность vs простота: обратная сторона JavaScript-фреймворков

Правда в том, что новая волна JavaScript-фреймворков вроде Next.js сделала создание веб-приложений сложнее, а не проще. Эти инструменты дают разработчикам больше возможностей, но ценой меньшей абстракции.

Rails развивался на протяжении двух десятилетий, добавляя JavaScript-интерактивность, управление фоновыми задачами, состояния загрузки и инструменты для приложений реального времени. По мере эволюции паттернов Rails включал их как функции фреймворка, сохраняя свою HTML-основу.

🧪 Эксперимент разработчика: сравнение Rails и Next.js на реальных проектах

У меня есть опыт работы с обоими фреймворками. Find AI, венчурный AI-стартап, я построил на Rails. Как поисковому движку, ему подошла возможность Rails справляться со сложными бэкенд-операциями при простом фронтенде. Сейчас я работаю над Chroma Cloud для исследования и управления большими наборами данных, и Next.js обеспечивает его продвинутые интерактивные возможности.

Rails начал сдавать на фоне текущей волны AI-приложений. У него проблемы с потоковой обработкой текста для языковых моделей, параллельной обработкой в Ruby и отсутствием строгой типизации для AI-инструментов. Но несмотря на эти ограничения, он остается эффективным.

👨‍💻🎨 Библиотека фронтендера
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека фронтендера»

💼 Почему технологии вторичны по отношению к ценности продукта

В конце концов, пользователям важнее польза продукта, чем детали реализации. Лоск проходит, а полезность остается. И пока мы восхищаемся отполированным интерфейсом Linear, старомодный Craigslist на своем сайте из 90-х преспокойно зарабатывает больше них.

 💎📐 Ruby on Rails vs Next.js: почему дед веб-разработки до сих пор дает жару
***

Frontend-разработка с нуля: что дает курс Frontend Basic от Proglib Academy

Курс Frontend Basic от Proglib Academy дает структурированный путь в веб-разработку: от основ HTML/CSS до создания интернет-магазина на React за 2 месяца, с обратной связью от практикующих разработчиков из Газпромбанка и Аэрофлота.

Чему вы научитесь за 2 месяца:

  • Верстка адаптивных макетов на HTML и CSS с учетом семантики
  • Программирование на JavaScript и взаимодействие с DOM
  • Разработка пользовательских интерфейсов
  • Обмен данными с сервером
  • Создание проектов на React.js
  • Работа с системой контроля версий Git

Формат обучения:

  • 26 видеоуроков и 28 практических заданий
  • Бессрочный доступ к материалам
  • Обратная связь от преподавателей по всем заданиям
  • Возможность персональных консультаций (зависит от тарифа)

Преподаватели – практикующие разработчики:

  • Игорь Грудинин – программист ООО «Айньюс», экс-инженер Аэрофлота
  • Константин Теляков – Frontend-разработчик в Газпромбанке

А какой фреймворк используете вы в своих проектах? Поделитесь опытом, когда старая технология неожиданно оказалась лучшим решением для современной задачи.

ВАКАНСИИ

Добавить вакансию
Hotel Search Team Lead (Golang)
по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ