Найкращий Ruby on Rails 8 вже тут — що нового?

pic

DHH та команда нещодавно представили Rails 8 на конференції Rails World, і зробили це з розмахом, як ніколи раніше. Чому? Тому що ця нова версія має безліч функцій, які роблять її «богом» серед веб-фреймворків.

Ми любимо, як вона спрощує весь процес веб-розробки, допомагаючи перейти від MVP до IPO за менший час, ніж ви можете собі уявити. Тепер вам більше не потрібна PaaS або складна хмарна інфраструктура, ви можете створювати та розгортати ваш продукт за кілька секунд. Більше сили для open-source.

Хіба це не захоплююче? Давайте подивимося, як Rails 8 досягає цього.

Неймовірна продуктивність

Rails 8 включає вдосконалення того, як ActiveRecord обробляє запити до бази даних, з метою прискорення виконання та зменшення накладних витрат. Вона має швидший час завантаження додатків.
Нативна підтримка багатозадачності та асинхронної обробки, а також знижене споживання пам'яті.

Просте розгортання без простоїв — Kamal 2

Kamal — це інструмент з відкритим кодом для розгортання без простоїв, який спрощує налаштування серверів і запуск додатків Rails на Docker-контейнерах. З Kamal вам потрібна лише IP-адреса вашого сервера або віртуальної машини (VM), і він справиться з усім — від встановлення інструментів для розробки та залежностей до налаштування вашого середовища. Все дуже просто.

Rails 8 тепер постачається з попередньо налаштованим Kamal 2 та оптимізованим Dockerfile. Ця комбінація може перетворити новий сервер Linux або VM на повноцінний сервер додатків за одну команду: kamal setup.
Розгортання ще ніколи не було таким простим.

Kamal також забезпечує супер-швидке розгортання без простоїв, автоматичні SSL сертифікати через Let’s Encrypt і підтримку кількох додатків на одному сервері без складних налаштувань.

Apache або Nginx більше не потрібні

Тепер вам більше не потрібен Apache чи Nginx як проксі-сервер для роботи з вашим Rails Puma сервером. Зустрічайте Thruster — сучасний, легкий проксі-сервер, розроблений для того, щоб стояти перед вашим Puma сервером. Thruster ефективно обробляє вхідний інтернет-трафік, пропонуючи такі функції, як: кешування ресурсів, стиснення тощо.

Solid Cable — Redis більше не потрібен

Тепер ви можете обробляти функціональність WebSocket лише з SQLite, усуваючи необхідність у Redis або навіть складному налаштуванні з MySQL або PostgreSQL.
Solid Queue за кілька секунд, використовуючи вашу існуючу базу даних.
даних.
Не потрібно Redis або інших залежностей для цієї мети, якщо ви хочете зберегти все простим.

Solid Queue може працювати як плагін для Puma, що є за замовчуванням на одно-серверних установках, або за допомогою нової команди bin/jobs для запуску спеціального диспетчера.

Він працює на продакшн середовищі і є масштабованим.

Solid Queue була ретельно розроблена під тиском реального продакшн середовища протягом останніх 18 місяців, і сьогодні вона обробляє 20 мільйонів задач на день тільки для HEY в 37signals.

No Build — Спрощене управління активами

Propshaft — це новий інструмент, який прощається з більш ніж десятилітньою старою системою Sprockets. Екосистема JavaScript пройшла великий шлях. Ми живемо в епоху, коли не потрібно терпіти всю складність npm install та node-modules.
Тепер, коли всі основні браузери підтримують ES6 за замовчуванням, нам більше не потрібно трансформувати код чи використовувати інші застарілі процеси.

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

Генерація власної аутентифікації — Вибач, Devise!

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

Просто виконайте команду

bin/rails generate authentication 

і ви отримаєте базові моделі для Session і User, разом з PasswordsMailer, SessionsController та Authentication concern.

Хочете дізнатись більше?

Покращення в Activerecord:

— Підтримка запитів JSONB прямо "з коробки", що спрощує роботу з структурованими даними.
— Оптимізоване попереднє завантаження для асоціацій, що знижує навантаження на запити.
— Покращене шифрування для чутливих даних, що забезпечує кращу безпеку.

Покращення API:

— Покращений легкий режим API-only для швидших та ефективніших API.
— Покращена серіалізація JSON з оптимізованими серіалізаторами для кращої продуктивності.
— Вбудована підтримка GraphQL, що полегшує створення потужних API.

Посилення безпеки:

— Автоматичне створення Content Security Policies (CSP) для кращого захисту від атак XSS.
— Посилений захист від CSRF для AJAX запитів.
— Конфігурація за замовчуванням для безпечних заголовків для покращення безпеки додатку.
— Розширене управління зашифрованими даними для забезпечення безпеки чутливої інформації.

Покращення досвіду розробника:

— Покращені сторінки помилок з корисними підказками для швидшого усунення проблем.
— Покращене логування з використанням структурованих логів для кращого налагодження та моніторингу.
— Більш інтерактивна консоль Rails, що покращує продуктивність розробника.
— Спрощене створення каркасів з оновленими шаблонами за замовчуванням для швидкого початку роботи.

Чого ви чекаєте? Спробуйте Rails 8 сьогодні!

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

Потрібна допомога у міграції старих додатків? Зв'яжіться з RailsFactory — ми допоможемо зробити перехід плавним та ефективним. Давайте разом виведемо ваші додатки на новий рівень!

Перекладено з: The GOAT Ruby on Rails 8 is here — What’s new?

Leave a Reply

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