Ruby on Rails почався як нішевий фреймворк, створений за допомогою Ruby, мови, яка на той час вважалась нішевою. Це була божевільна ідея людини, яка вірила, що все можна зробити по-іншому, краще, щасливіше.
Через кілька років Ruby on Rails вже не був нішевим фреймворком, він став орієнтиром для інших веб-фреймворків.
Ruby on Rails встановив новий стандарт у розробці веб-застосунків: ультра прагматичний, лаконічний і без складних шаблонів та налаштувань, він прийняв MVC архітектурний шаблон, щоб створити швидко розвиваний, високоякісний та надійний фреймворк, що постійно вдосконалюється з 2004 року.
Є великі компанії та галузеві лідери, які вибирають Ruby on Rails як свою базову технологію: GitHub, SoundCloud, Shopify, Basecamp, Airbnb, CouchSurfing, Bloomberg, Dribble, і це лише кілька прикладів.
Як сказав сам творець:
[…] ось що таке Rails.
Це всі ці стандартні будівельні блоки, які більшість людей буде потребувати, більшість часу.Ви не починаєте з нуля. Ви не будуєте будинок, спочатку кладучи глину на солому та випікаючи цеглу на сонці.
Філософія
Термін, який зазвичай використовують для опису філософії Ruby on Rails, — це “конвенція над налаштуваннями”, але я думаю, що він не передає ідею дуже добре поза технічним колом розробників веб-фреймворків. Я б описав філософію Ruby on Rails як "забудьте про зайві деталі", прагматичну та прямолінійну. І це повністю співвідноситься з нашими цінностями як компанії. Ruby on Rails пропагує підхід до розробки програмного забезпечення, заснований на дуже простих, але потужних концепціях, які легко комбінувати та розширювати.
Стійка екосистема
Ruby та Rails мають багато зрілих rubygems, що оточують їх.
На відміну від інших мов, спільнота Ruby навчилася зосереджувати зусилля на кількох дуже сильних рішеннях, а не розпорошувати їх на безліч маленьких проєктів, зроблених кількома людьми. Тому бібліотеки довговічні, добре підтримуються і стабільні. Ви можете покладатися на них і будувати на їх основі, це безпечно.
Як сказав Стів Клабанік (перефразовуючи):
Кожного разу, коли я намагався використовувати мікрофреймворк, я врешті-решт отримував неповноцінний Rails.
Ми теж так робили в минулому, багато разів, і ми багато чого навчилися, але найважливіше, що ми дізналися, це, мабуть:
Витрачати гроші на випікання цегли, коли вам потрібен будинок, — це не найкраще використання цих грошей.
Якісний код
Спільнота сприймає тестування як основну частину процесу розробки. Більшість інструментів, які ми маємо, включають велику кількість тестів, що значно підвищує якість коду.
Ті, хто підтримує проєкт, звертають увагу на метрики якості коду, шаблони проєктування та хороші практики коду.
Rails побудований на Ruby, що сама по собі є зрілою мовою. Використання зрілої мови означає, що існує зріла культура того, як повинен писатися код, і є консенсус щодо того, що є хорошим кодом, а що — ні.
Оптимізація
Rails — це Ruby. Ruby — елегантна, виразна та легка для читання мова.
Код пишеться один раз, а читається тисячі разів.
Маючи мову, яка є виразною і легкою для читання, яка може виразити складні ідеї або цілі алгоритми всього за кілька рядків коду, ми отримуємо величезну оптимізацію з двох причин:
- Вашій програмі завжди будуть потрібні люди для роботи над нею, і цим людям потрібно буде читати та розуміти код
- Буде менше коду для підтримки (майже в 4 рази менше, ніж у Java, в 2 рази менше, ніж у JavaScript)
Я не говорю тут про продуктивність процесора або запити на секунду, а про години розробки та досвід розробників.
У час, витрачений на зміну та розвиток існуючої кодової бази.
Спільнота та підтримка
Ruby on Rails створив велику та продуктивну спільноту навколо себе: близько 6K учасників (на момент написання), що є значним порівняно з 2.5K учасниками Django, 700 учасниками Laravel, і 300 учасниками Express.
Ці цифри допомагають показати, що зусилля всієї спільноти зосереджені на кількох широко використовуваних інструментах. Ваша команда та програма не постраждають від незакритих чи залишених пакетів.
Щороку виходить нова версія Ruby on Rails з новими функціями, покращеннями продуктивності, кращими інструментами та посиленою безпекою.
Те саме стосується і Ruby.
Жоден з них не є мертвим. Навпаки, вони дуже живі.
Перекладено з: Why Ruby on Rails?