Обзор

Ruby — выразительный язык, получивший широкое распространение в веб-разработке. На его основе были созданы различные фреймворки, каждый из которых подходит для определённых задач.

В этой статье рассмотрим наиболее популярные Ruby-фреймворки и разберем, в каких случаях стоит выбрать каждый из них.

1. Ruby on Rails

Самый популярный и функциональный фреймворк.

Плюсы:

  • Подход “соглашение вместо конфигурации”
  • Встроенный ORM (ActiveRecord), миграции, почта и многое другое
  • Большое сообщество и готовые библиотеки

Минусы:

  • Слишком тяжёл для небольших проектов
  • Порог входа для новичков

Пример:

# config/routes.rb
Rails.application.routes.draw do
  get '/hello', to: 'welcome#index'
end

# app/controllers/welcome_controller.rb
class WelcomeController < ApplicationController
  def index
    render plain: "Hello from Rails!"
  end
end

2. Sinatra

Минималистичный DSL для быстрого создания веб-приложений.

Плюсы:

  • Минимализм и простота
  • Быстрая разработка
  • Идеален для API и микросервисов

Минусы:

  • Нет встроенной поддержки БД и шаблонов
  • Не подходит для больших проектов

Пример:

require 'sinatra'

get '/' do
  "Hello from Sinatra!"
end

3. Hanami

Современный и модульный Ruby-фреймворк.

Плюсы:

  • Чистая архитектура
  • Лёгкий и модульный
  • Использует ROM для работы с данными

Минусы:

  • Маленькое сообщество
  • Новая архитектура требует изучения

Пример:

# config/routes.rb
get '/hello', to: 'home#index'

# apps/web/controllers/home/index.rb
module Web::Controllers::Home
  class Index
    include Web::Action

    def call(params)
      self.body = 'Hello from Hanami!'
    end
  end
end

Таблица сравнения

ФреймворкЛучше всего подходит дляПлюсыМинусы
RailsПолноценные веб-приложенияБогатый функционалТяжеловесный, жёсткий
SinatraМаленькие проекты и APIПростота и скоростьМало встроенных решений
HanamiЧистая архитектураМодульность, современностьМаленькое сообщество

Заключение

  • Используйте Rails, если вам нужно всё из коробки.
  • Выбирайте Sinatra для лёгких сервисов и API.
  • Пробуйте Hanami, если важна архитектурная чистота.