Вышел Livewire 4.0.
Что нового?
Blaze Compiler
Рендеринг в 3-10 раз быстрее. Статические части шаблона компилируются один раз. На Laracon показали: 329ms → 19ms.
Islands
Тяжёлые части страницы грузятся отдельно и не тормозят всё остальное. Дашборд открывается сразу, графики подгружаются фоном.
Single-File Components
Всё в одном файле: код, разметка, стили. Можно использовать emoji в названии файла. При необходимости легко разделить на несколько файлов.
Slots + Attributes
Теперь работает как обычные Blade компоненты. Можно передавать контент внутрь и пробрасывать HTML атрибуты.
Drag Sorting
Drag-and-drop из коробки. Никаких библиотек подключать не нужно.
Smooth Transitions
Плавные анимации через браузерный API. Никаких CSS анимаций писать не нужно.
Route::livewire()
Новый способ определения роутов. Чище и понятнее.
Component Scripts & Styles
Пиши JS и CSS прямо в компоненте. Стили автоматически изолируются.
Optimistic UI
Интерфейс реагирует мгновенно, не ждёт ответа сервера.
Loading States
Элемент автоматически получает атрибут при загрузке. Стилизуй через Tailwind.
Inline Placeholders
Skeleton loader пишешь рядом с контентом, а не в отдельном файле.
JavaScript Power Tools
Больше контроля при работе с JavaScript. Можно называть элементы, возвращать данные в JS, делать операции без обращения к серверу.
Итог
Заявляют, что Livewire 4 знатно поработал над своими проблемами: стал быстрым и компактным. Когда-то проект CutCode начался именно с готовых элементов на Livewire, так что я отслеживаю эту библиотеку, хотя со временем стал относится к ней более скептически.
https://github.com/livewire/livewire/releases/tag/v4.0.0
Post #835
1.03K