Чому Ruby on Rails досі є чудовим вибором для MVP?

текст перекладу

Ruby on Rails був вперше випущений у липні 2004 року, 19 років тому на момент написання цієї статті. У другій половині 2000-х років він став одним з найкращих (якщо не найкращим) фреймворків для розробки веб-додатків і еталоном у галузі. Нещодавно я натрапив на цей твіт від колишнього CEO і співзасновника GitHub, де він ділиться своєю історією з Ruby on Rails. Найцікавіше, що він згадує:

Швидкість була величезною перевагою — ми могли швидко створювати нові функції!

Ми ніколи не мали проблем з масштабуванням Rails. Я витратив значно більше часу на оптимізацію SQL-запитів і додавання кешуючих шарів, ніж на боротьбу з Rails або Ruby. Проблеми з масштабуванням, з якими ми стикалися тоді, виникли б за використання будь-якої веб-технології.

Не можу не погодитись.

Переваги використання Ruby on Rails для MVP

У наведених цитатах можна побачити дві найбільш важливі переваги використання Ruby on Rails для розробки MVP. Але є й інші.

Швидкість розробки та продуктивність

Мова програмування Ruby є виразною об'єктно-орієнтованою мовою, орієнтованою на продуктивність розробки. А Rails — це фреймворк для веб-додатків, що включає багато функцій, що відповідають філософії Ruby.

Однією командою можна створити проект з усіма файлами, необхідними для роботи Rails. Далі, ще однією командою, можна почати генерувати моделі, контролери, вигляди та тести. Будучи дуже спрощеним, можна сказати, що запустивши кілька команд, можна отримати працюючий додаток.

Найпоширеніші проблеми вже вирішені Rails або іншими доступними інструментами з відкритим кодом (так званими ruby gems). Як ми вже бачили в попередньому пості (Чи безпечний Ruby on Rails?), новостворений проект Rails постачається з виправленими найбільш поширеними вразливостями безпеки за замовчуванням. Інші типові проблеми, такі як автентифікація, авторизація, фонові задачі тощо, можна легко інтегрувати в ваш додаток Rails, просто встановивши ruby gem.

Можливість швидко створювати нові функції була актуальною ще в 2000-х роках і залишається такою і зараз.

Ruby on Rails є відкритим програмним забезпеченням

Ruby on Rails є відкритим програмним забезпеченням, і більшість ruby gems також мають відкритий код. Це має багато переваг, таких як:

  • Це добре протестований, якісний код, який ви можете переглянути
  • Ви часто отримуєте оновлення безпеки та нові функції
  • Ви можете вносити свій вклад у фреймворк та ruby gems, виправляючи помилки чи пропонуючи нові функції

Використовуючи Rails, команда розробників може зосередитися на створенні функцій швидко, а не на роботі з інструментами. Вкладений час має високу віддачу.

Масштабованість

Масштабованість — це дуже обговорювана тема щодо Ruby та Ruby on Rails. Люди часто порівнюють Ruby on Rails з Node або Python, стверджуючи, що Ruby повільний. Хоча є деякі моменти, що потребують покращення на рівні інтерпретатора, немає чіткої перемоги в цьому змаганні. Я завжди скептично ставлюсь до таких спрощених оцінок продуктивності.

Продуктивність — це складне питання, і жоден додаток не має однакових потреб і проблем. Швидкий інтерпретатор не робить веб-додаток масштабованим. Як каже Нейт Беркопек: "Час відповіді сервера є лише частиною реального досвіду користувача під час завантаження та взаємодії зі сторінкою — скорочення часу відповіді сервера на 99 мілісекунд просто не має значення". Оптимізація SQL-запитів, кешування, фонові задачі та балансування навантаження — це деякі з поширених технік, що використовуються при масштабуванні додатка.

Масштабованість не є реальною проблемою для MVP.
текст перекладу

Коли мова йде про MVP, рухатися швидко і будувати надійну основу значно важливіше, ніж швидкість інтерпретатора.

Екосистема

Ruby on Rails має величезну екосистему, що стала можливою завдяки своїй чудовій спільноті:

  • якщо вам потрібно додати автентифікацію користувачів у ваш веб-додаток, ви можете підключити RubyGem, і у вашому веб-додатку з'явиться автентифікація користувачів
  • якщо вам потрібно додати авторизацію користувачів у ваш веб-додаток, ви можете підключити RubyGem, і у вашому веб-додатку з'явиться авторизація користувачів
  • якщо вам потрібно обробляти фонові задачі, ви можете підключити RubyGem, і ваш веб-додаток отримає підтримку фонових задач для ресурсоємних операцій

Як ви можете уявити, для майже всього, що вам потрібно у вашому додатку, існує RubyGem. Ця розширюваність і загальна доступність плагінів дозволяє вам зосередитися на найголовнішому: бізнес-логіці.

Зрілий фреймворк і філософія

Rails існує вже майже 20 років. Його підхід до розробки веб-додатків був надихаючим і став ключовим моментом для індустрії розробки. Його філософія прагматизму, гнучкості та переваги конвенцій над налаштуваннями надихнула на створення кількох інших фреймворків і мов програмування.

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

Найголовніше, що його методи неодноразово були перевірені великими успішними компаніями, такими як GitHub, Shopify, і Airbnb, серед інших.

Ефективність з точки зору вартості

Як зазначалося вище в розділах про екосистему та відкритий код, фреймворк і бібліотеки переважно є з відкритим кодом. Це значно знижує бюджет, необхідний для запуску компанії. З іншого боку, оскільки команда розробників може зосередитись на створенні функцій, а не на інструментах, час, вкладений у розробку програмного забезпечення, має високу віддачу.

Наступні кроки

Ви можете дізнатися більше про цю тему в статті "Чому Ruby on Rails?" і про те, як створюється "MVP з SINAPTIA".

Також ви можете переглянути документальний фільм про Ruby on Rails.

Ось цікавий тред про те, як покращення інтерпретатора Ruby робить додатки Ruby on Rails значно швидшими.

Перекладено з: Why Ruby on Rails is still great for MVPs

Leave a Reply

Your email address will not be published. Required fields are marked *