Чому Ruby On Rails це хороший вибір в 2020 році?
Кожен тренд, технологія і навіть мова програмування досягає свого піку популярності, а потім рано чи пізно опускається вниз. Якщо ми пошукаємо в Google “положення мови Ruby”, ми, швидше за все, виявимо безліч статей про падіння інтересу до Ruby, зниження його популярності і навіть про насувається кончину. Але, незважаючи на це, я впевнений, що Ruby добре тримається і як і раніше залишається гідною технологією, яку можна вибирати і в 2019. І ось чому.
1. Це одна з топових мов програмування на GitHub
Оскільки Ruby числиться в топі мов програмування згідно зі статистикою GitHub за 2018 рік, дуже малоймовірно, що в найближчому майбутньому його чекає передчасна смерть. Більш того, великі корпорації, такі як Github або Airbnb, продовжують використовувати Ruby (on Rails).
Зовсім недавно гігант хмарних обчислень, AWS, додав Ruby до свого безсерверного рішення-AWS Lambda, поставивши його в один ряд з Java, C#, Python і Node.js, що доводить стабільне положення цієї мови.
Рубі, можливо, сповільнився, але він далекий від смерті, особливо якщо згадати про кількість існуючих проектів на цій мові, які потрібно підтримувати та розширювати.
2. Активна та підтримуюча спільнота
Фреймворк Rails на Github має понад 3500 учасників. Часті оновлення і нові блискучі рішення, створювані розробниками, гарантують більш швидку і просту розробку і доставку додатків за допомогою цього фреймворку.
Члени спільноти регулярно обмінюються досвідом і допомагають один одному у вирішенні проблем. З урахуванням того що на Stackoverflow міститься більше 300 тисяч питань щодо Ruby, дуже малоймовірно, що ви не зумієте знайти там рішення виниклої у вас проблеми. І мова йде не тільки про Ruby: Ruby on Rails з роками став більш доопрацьованим, а його документація – більш детальною і великою (це хороший знак для початківців).
Ruby це не тільки Rails. Більш легкі рішення (наприклад, Sinatra), фреймворки, що пропонують інший підхід (наприклад, Hanami), і навіть фреймворки для джерел подій набувають популярності і вдосконалюють те, що може запропонувати Ruby.
3. Ruby постійно розвивається
Творці Ruby, випускаючи оновлення як мінімум двічі на рік, вберігають цю мову від смерті і стежать за його постійним розвитком.
Ruby має деякі проблеми з продуктивністю, які навряд чи зникнуть найближчим часом (це пов’язано з деякими базовими характеристиками Ruby як такого, особливо з його динамічною природою). Незважаючи на це, реліз Ruby 3, очікуваний в 2020 році, повинен принести деякі поліпшення, завдяки яким мова стане значно швидше.
4. Це дійсно відмінний вибір для стартапів, для внутрішніх інструментів і прототипування, але для чого ще?
Завдяки своєму інтуїтивному, простому і читабельному синтаксису (що в сумі дає більш високу продуктивність), Ruby прекрасно підходить для стартапів і будь-яких компаній, які хотіли б якомога швидше поставляти (і розширювати) продукти програмного забезпечення. Більш швидка розробка означає більшу економію (кращі показники time-to-market), а це важливо для стартапів з обмеженим бюджетом. Завдяки цьому більше грошей можна вкласти в розробку додаткового функціоналу, в маркетинг і т. д.
Великомасштабні проекти, у свою чергу, можуть використовувати RoR як інструмент для прототипування або як ефективний спосіб доставки рішень в рамках доказу концепції. Оскільки створювати і розширювати додатки на Ruby відносно легко і дешево, це також прекрасний варіант для створення внутрішніх /бекенд інструментів, для яких продуктивність не є найвищим пріоритетом.
Але Ruby використовується навіть для великих і високопродуктивних додатків. Втім, зазвичай це вимагає залучення інженерів, що спеціалізуються на додатках з високою продуктивністю, оскільки швидкість це не коник даної мови. Також для цього може знадобитися горизонтальне масштабування.
5. Ruby має хороші усталені рекомендації щодо стилю коду
Ruby це зріла мова програмування і стабільна технологія, а це дещо краще, що просто бути «в тренді». На Ruby як і раніше можна написати поганий код, хтось навіть може сказати, що це досить легко зробити через гнучкість мови. Саме ця гнучкість дозволяє досягати однакових результатів багатьма способами (і не завжди найкращими).
З іншого боку, мова як така дозволяє писати прекрасний і читається код. Цьому сприяє добре підібраний набір кращих підходів по частині реалізації і тестування. Подібний код, коли він правильно написаний, буде просто розуміти і підтримувати, а також покращувати, зберігаючи стабільність і підтримуваність всього рішення в цілому.
6. Щастя розробника
Величезна кількість бібліотек і навчальних ресурсів, активне і готове допомогти співтовариство, добре підібрані кращі підходи і прекрасний, читабельний синтаксис – все це робить Ruby мовою, з яким приємно працювати, мовою, орієнтованою на щастя розробника.
У більшості випадків щасливі розробники приносять більше користі споживачам. І хоча є й інші мови, які намагаються наслідувати кращі сторони Рубі (наприклад, Crystal), вони все ще занадто незрілі, і вони все ще повинні добре зарекомендувати себе у виробничому середовищі. Побажаємо їм успіху в цьому!
Але чому Ruby сповільнюється?
На це питання немає простої відповіді, але ми можемо поміркувати на цю тему. Швидше за все, Ruby в достатній мірі дозрів і втратив якийсь імпульс. Безліч рішень, бібліотек і технік вже створені, так що потреба в нових не так значна, як раніше. Ми також можемо спостерігати невеликий спад у появі нових навчальних матеріалів-ймовірно, з тих же причин.
Поява нових мов і фреймворків, краще підходять для певних додатків / рішень, змушує Ruby ділитися своєю “частиною пирога” з новими гравцями.
Нові мови вимагають менше ресурсів, надають ефективні бібліотеки для певних рішень, що мають відношення до машинного навчання та штучного інтелекту та інших концепцій. Деякі з цих мов створені для паралельної обробки даних. Ruby не може конкурувати з цими новими мовами в зазначених сферах, принаймні, поки не може.
Завжди краще використовувати для роботи найбільш підходящий інструмент, а Ruby не є таким собі універсальним інструментом на всі випадки життя.
Укладення
Навіть у 2020 році Ruby є відмінним вибором для потреб розробки. Це, без сумніву, цілком застосовна мова, як і раніше приваблює багатьох послідовників і розробників.
Нарешті, слід пам’ятати, що поганих мов взагалі немає, просто в деяких випадках можна неправильно підібрати мову. Так що якщо вам здається, що Ruby вам підійде, не варто коливатися, адже він як і раніше є одним з найбільш популярних мов.