Ми раді оголосити про стабільний реліз Inertia 2.0, який приносить суттєві покращення у розробці програмного забезпечення з Laravel. Цей реліз є частиною нашої постійної інвестиції в те, щоб зробити досвід фронтенд-розробки з Laravel максимально продуктивним і приємним.
Нові можливості Inertia 2.0 включають асинхронні запити, відкладені пропси, попереднє завантаження та опитування. Слідуйте цій інструкції для оновлення. Для швидкого огляду ознайомтеся з трьохвилинним відео від Джоша Цірре.
Inertia була створена для того, щоб доступно використовувати популярні фронтенд-фреймворки, такі як React, Vue та Svelte, не вимагаючи створення API. Inertia виступає містком між вашою серверною частиною і JavaScript-фронтендом, дозволяючи розробляти односторінкові додатки, зберігаючи при цьому відмінну серверну маршрутизацію та ORM Laravel.
В основі Inertia 2.0 лежить повністю переписаний шар обробки запитів, що забезпечує підтримку асинхронних запитів. Це фундаментальне оновлення відкриває нові потужні можливості, зберігаючи при цьому безшовну інтеграцію між Laravel та фронтенд-фреймворками React, Vue і Svelte.
Раніше всі запити Inertia були синхронними. З новою версією ви отримуєте повну підтримку асинхронних операцій, що відкриває нові можливості для створення чуйних інтерфейсів.
Нова система асинхронних запитів дозволяє виконувати кілька запитів одночасно без переривання один одного. Наприклад, метод reload
тепер є асинхронним за замовчуванням, що забезпечує більш плавний користувацький досвід, особливо під час оновлень даних у фоновому режимі або відправки форм.
// Вимкнення індикатора прогресу
// Не скасовує інші вихідні запити
router.reload({ only: ['users'] })
Асинхронні запити дозволяють реалізувати функції, такі як ледаче завантаження через компонент WhenVisible
, що оптимізує час початкового завантаження сторінки, відкладаючи запит даних, поки компоненти не стануть видимими для користувача.
Завантажуйте некритичні дані після початкового рендерингу сторінки, зменшуючи час до першого байта у ваших додатках і покращуючи основні показники вебу, такі як найбільший змістовний елемент. Додатки з такими характеристиками отримають особливу вигоду:
Попередньо завантажуйте дані для сторінок, які, ймовірно, будуть відвідані наступними. Це може покращити сприйняття продуктивності вашого додатка, дозволяючи даним завантажуватися у фоновому режимі, поки користувач взаємодіє з поточною сторінкою.
Синхронізуйте свій інтерфейс зі станом сервера, використовуючи нові допоміжні функції опитування. Допоміжний клас usePoll
спрощує реалізацію автоматичного оновлення даних з розумними функціями, такими як:
Ми спростили оновлення, зробивши його максимально плавним з мінімумом критичних змін між Inertia 1.x та 2.0.
Ознайомтеся з нашою інструкцією з оновлення для детальної інформації про нові можливості та їх реалізацію у вашому додатку.
Цей реліз — лише початок. Ми вже працюємо над Inertia 2.1, яка введе можливості безкінечного прокручування та інші цікаві функції. Слідкуйте за оновленнями.
Маєте відгуки щодо нашої документації, 2.0 або інших аспектів Inertia? Повідомте нас за адресами @laravelphp та @inertiajs. Для підтримки однодумців приєднуйтесь до Discord-сервера Laravel і запитуйте в #help.