Перш ніж ми почнемо, давайте розставимо всі крапки над "і". Rails - це круто. Це, в основному, саме те, що потрібно для гарних додатків. І якщо ви почали працювати з Ruby над веб-проектом, то Rails - те, з чим, скоріше всього, найкраще знайомі. Всі ці речі виправдовують вибір Rails в якості основи для багатьох проектів.
Суть цієї статті не забрати першість Rails. Основною метою її написання є бажання пролити світло на альтернативи про які ви можливо не знали. Деякі з них для дрібних проектів, інші - для швидкого створення прототипів, але всі вони будуть працювати з Рубі і, сподіваюся, ви будете отримувати задоволення, знайомлячись з цими фреймоворками та мікро-фреймоворками, які допомагають працювати з цією крутою мовою у контексті Вебу.
Cuba Microframework
Cuba - це один з найпростіших наразі доступних мікро-фреймворків для старту для тих, хто пише на Рубі. Ключем фреймворку є його простота. Спроектований без зайвого і непотрібного функціоналу й, відповідно, маленький за розміром.
Як і більшість мікро-фреймворків, Cuba побудований на основі Rack(Ruby Webserver Interface). Rack мінімізує залежність між сервером і фреймворком. Це допомагає збільшити швидкість відповіді від серверу, що робить використання цього фреймворку доволі приємним.
Однією з найкрутіших частин Cuba є її документація. Покроковий мануал доступний онлайн і дає змогу будь-кому ознайомитись з перевагами фреймворку. Після знайомства з документацією, в вас буде вдосталь знань, щоб почати використовувати Cuba в своєму проекті.
На додачу до покрокового гайду, там є маленький додаток, який дає змогу протестувати Cuba при встановлені на сервер.
Trailblazer
Технічно, це не є фреймворк. Trailblazer. Ідея полягає в тому, щоб допомогти Rails працювати більш ефективно роблячи інкапсуляцію і адаптацію більш інтуїтивно зрозумілою з точки зору структури коду. Фреймворк надає розробнику більше шарів абстракції та спрощує роботу з Rails.
Оскільки це не є основний фреймворк, ми не будемо занурюватись занадто глибоко, але варто сказати, що він робить проекти кращими, якщо ви використовуєте Rails в якості основного фреймворку.
Volt
Volt - ще один свіженький фреймворк. Сфокусований на побудові швидкого додатку, Volt дає можливість елементам працювати швидше. Замість того, щоб працювати з синхронізацією інформації по HTTP, Volt використовує постійне з'єднання.
Єдиний недолік - Volt підтримує тільки MongoDB. Хоч це й класна штука, це не завжди те, що треба. :(
Cramp
Шукаєте щось асинхронне? Можливо, це те що треба! Побудований на основі Event Machine, Cramp спроектований як функціонал для відкриття зв'язку і дає змогу подвійної бінарної передачі даних.
Також підтримується Rack, Cramp використовує Ruby 1.9.2 або версію вище. Якщо ви знайомі з побудовою простого додатку на Рубі, стиль використання Cramp не буде для вас дивним чи незвичним.
Ще одна класна фіча - генератор додатків. Напишіть cramp new realapp
в вашій консолі, щоб почати з нового Cramp додатку.
Ramaze
Побудований на ідеалах стилю KISS (Keep It Simple, Stupid), Ramaze - це фреймворк, який шукає шляхи зменшення складності додатку. Ramaze побудований для роботи з різними ORM-системами, адапторами типу Unicom чи Pasenger, з різними реалізаціями Рубі із серії JRuby та Rubyinius. Якщо MRI не найкраща частина Рубі для вас, можливо Ramaze стане вашим вибором.
Ramaze швидкий і гнучкий, що дає йому переваги, поміж тих фреймворків, про які тут йшла мова. Ще однією перевагою є знайомий по іншим фреймворкам набір функцій. Для прикладу, якщо ви знайомий із Sinatra, є велика вірогідність що здружитись з Ramaze для вас буде доволі легко :)
Sinatra
Нерідко в моїй голові була битва Sinatra vs Rails. Можна стверджувати, що Sinatra - мій вибір для маленьких проектів. Оскільки багато використань Sinatra вже описані, ми можемо сфокусуватися на чомусь іншому. Для цього там є Konstantin Hasse's Almost Sinatra. Sinatra легка для встановлення і є більше ніж декілька Sinatra додатків, які працюють на Engine Yard.
Hanami
Після цих всіх фреймворків ви можливо досі шукаєте щось знайоме і схоже на Rails, але не Rails. Представляємо вам Hanami. Ключова відмінність між Rails і Hanami - легковісність та швидкість Hanami. Фреймворк побудований на основі MVC, тому перейти не стане проблемою. Єдиний нюанс - Hanami ще не готовий до повноцінної розробки додатків. Але вже майже :)
Висновки
Ми переглянули список фреймворків, які можна використовувати як альтернативу Rails. Знову ж таки, це не поклик забути про Rails. Але як на мене, потрібно розширювати горизонти і дізнаватись про нові круті штуки. P.S. Ви колись пробували один з цих фреймворків? Ми пропусти ваш улюблений? Пишіть у коментарі, будемо раді відповісти!
Ще немає коментарів