KRUHLYK 🇺🇦
1.11K subscribers
670 photos
60 videos
5 files
278 links
Download Telegram
Я вирішив розібратись із сучасним станом роботи з Livewire.

І мене певні речі у Livewire v3 дійсно здивували по-хорошому.

Перше, з чим я вирішив розібратись - це підтвердити чи розвінчати міф, що Livewire компоненти спамлять бекенд.

Звідки взявся цей міф?

У Livewire v1–v2 дійсно була така поведінка:
Кожна зміна інпуту (через wire:model) одразу відправляла AJAX-запит на сервер. Не було debounce або defer за замовчуванням, тому навіть швидкий набір тексту міг породжувати десятки запитів на секунду. Також старі версії не використовували оптимізоване "DOM diffing" - кожен запит міг повертати досить великий HTML-фрагмент.

Результат: у великих формах або таблицях справді з’являвся "спам" запитів і додаткове навантаження на бекенд.

Як працює Livewire v3 (реальність 2024–2025)

Починаючи з Livewire v3, механізм реактивності став набагато ефективнішим:

1. Лише цільові оновлення
Livewire не оновлює весь компонент - лише ті частини DOM, які реально змінилися, використовуючи "morphdom"-подібний підхід.
Передається мінімальний HTML-патч, а не повна розмітка.

2. Синхронізація стану відкладена
wire:model має режими:
- wire:model.lazy - оновлює стан лише після втрати фокусу.
- wire:model.debounce.500ms - дебаунсить зміни на 0.5 секунди.
- wire:model.defer - синхронізація лише після дії (наприклад, сабміту).
Ти сам контролюєш частоту оновлення.

3. Сервер не "пушить" нічого постійно
Livewire не тримає постійне з’єднання (як WebSocket чи polling), якщо ти сам цього не налаштуєш (wire:poll, наприклад).
Тобто:
Livewire не створює постійних запитів у фоні.
Кожен запит - це реакція на конкретну дію користувача (клік, зміна інпуту тощо).

4. Wire-події "групуються"
Livewire може "об’єднувати" кілька змін стану в один запит, якщо вони трапляються одночасно.

5. Використання Fetch + кешування
У v3 використовується fetch() API з HTTP/2 multiplexing, тому навіть коли запитів кілька - це не проблема для сучасних серверів, бо браузер їх оптимально групує.

Більш детально хочу розповісти у відео, яке вже почав готувати 😉
👍113😇1
Ну і вечірнє 😁
😁9
Однозначно мені потрібна ця книжка.

Make Coding Fun Again.

Раночку, панство! Майте смачну каву та гарний настрій!
👍10🤔1
Каву, серіальчик, в шось пограти, а не отой ваш деплой в пʼятницю.

Бережіть себе від непотрібних рішень сьогодні!
🤣6
Як ви, народ? Кияни, як ви?

Сьогодні буду вас трохи питаннями замахувати, ок? 😉

Пʼятниця, не працювати ж...
Питання намбер раз: проводимо сьогодні стрімчанський в обід?
Anonymous Poll
53%
Так
47%
Ні
KRUHLYK 🇺🇦
Є ідея завести нову рубрику на каналі. Давайте будемо розбирати ваш код. Проводитимемо код-ревʼю ваших проєктів? 🤙 Зі свого боку я зобовʼязуюсь не називати автора за вашим бажанням і давати лише конструктивні коментарі по вашому коду. Матюкати не буду 😁
Отримав першу заявку на розбір проєкту у форматі кор-ревʼю.
Але, такий формат - це або довге відео, або довгий стрім.
І тут дилема: довге відео дивитись не будуть. Треба різати на декілька. Стрім не зробить охоплення аудиторії, якій то було б цікаво... Дилема.
Питання намбер ту: робити стрім чи оформити відосами?
Anonymous Poll
22%
Стрім
48%
Відоси
30%
І стрім, і відоси 😜
KRUHLYK 🇺🇦
Питання намбер раз: проводимо сьогодні стрімчанський в обід?
Давайте ще півгодинки голосуємо і приймаємо рішення щодо стріму сьогодні
🤔3
Коли задовбе кодити, моя техніка не пропаде.
👍7😁3🔥2
Так, понеділок. Розклад на день маю. А ви шо? Коли код пісат?
🌚5😁3😭2
А який рівень ви наконфіжили? І чи юзаєте PHPStan взагалі?
Media is too big
VIEW IN TELEGRAM
От саме та проблема, яку ми обговорювали в подкасті з паном Микитою. Відносно новоприбулі розробники не розуміють суті інструментів, з якими працюють і не вміють в базу розробки. Просто тому, що їх тому навіть не намагаються вчити.

Всі оті вайтішні курси - інфоциганство, якщо вони вчать лише базовій мові і одному-двум фреймворкам максимум.

А для того, щоб стати дійсно профі і класно конкурувати на ринку, ви маєте розвивати багато різних скілів.

Як це зробити? Один з варіантів - працювати з ментором, якщо такого немає у вас на проєкті чи в команді.

Потрібен ментор або, як каже пан Микита, нянька? Переходь за посиланням!

А якщо ще досі не слухав наш подкаст, то заварюй каву чи чай і приємного перегляду!
👍5
Підтримка вінди 10 сьогодні (чи завтра) всьо.
Ви вже переїхали на 11?
Смачної кави та продуктивного дня, шановні!
🤣5👍1
🚀 PHP у 2025 році - що нового та куди рухаємось?

Цікаві тренди з нового звіту JetBrains. Давайте їх коротко розберемо і подискутуємо.

📊 Головні висновки
- У дослідженні взяли участь 1 720 розробників, для яких PHP - основна мова.
- PHP 8.x домінує - 89% опитаних працюють на 8-х версіях. PHP 7.x ще має частку (33%), а версії ≤5.6 - на межі зникнення (8%) 🥳🥳🥳.

- Щодо майбутнього: 58% розробників не планують змінювати мову найближчим часом.
- Найпопулярніші фреймворки/CMS: Laravel - 64%, WordPress - 25 %, Symfony - 23 %.

- У інструментах: використання PhpStorm / IntelliJ+PHP-плагін зросло до 68%, тоді як VS Code - 23%.
- 53% користувачів PhpStorm оцінюють свій інструмент "на максималку" (тільки 26% серед користувачів VS Code).

- Щодо тестування: PHPUnit - 50%, Pest - 17%, але 32% взагалі не пишуть тести 🙄.
- Інструменти якості коду: PHPStan - 36%, PHP CS Fixer - 30%, PHP_CodeSniffer - 22%, Rector - 10%. Але 42% не використовують жодних таких інструментів регулярно 🙄.

- AI та кодування: 95% розробників пробували хоча б один AI-інструмент, а 80% - використовують їх регулярно 🤙🏻.
- Найпопулярніші: ChatGPT - 49% 🤪, GitHub Copilot - 29%, JetBrains AI Assistant - 20% (в трохи більше ніж рік трійка зросла в активності).

У екосистемі варто виділити FrankenPHP - проєкт, що тепер під егідою PHP Foundation, з оптимізаціями продуктивності, асинхронною обробкою запитів тощо.

Детальніше.

ПиСи: Доречі, продуктивність FrankenPHP я тестував. Якщо не бачили - бігом!
👍5
Народ, а ви в Монобанку лимони теж збираєте? 🍋

Я назбирав 48. 2 навіть з підказками з мережі не можу знайти 🫠

Відчуваюю себе мануальним тестувальником.
😁7🤝21