Ми намагаємося обирати популярні інструменти, адже стандартні рішення мають неабияку цінність. Ми відступаємо від них лише за наявності вагомих причин. У випадку з Laravel та Inertia очевидним вибором здається Vue, проте ми зупинилися на React. Чому? Розповідаємо історію нашого вибору.
Після епохи jQuery ми перейшли на React завдяки курсу Jeffrey Way на Laracasts. Це був серйозний крок після чистого JavaScript, але результат нас цілком влаштовував. За рік у спільноті Laravel став надпопулярним Vue. Оскільки технічно обидва інструменти були чудовими, ми вирішили адаптуватися під більшість. Це спрощує обмін досвідом, а сторонні пакети частіше підтримують саме мейнстримні рішення, що полегшує інтеграцію.
Ми використовували Vue кілька років, але з часом переросли його через дрібні незручності в реактивності та композиції. Тим часом екосистема React активно розвивалася, і ми замислилися про повернення. Проте самих лише цих аргументів було замало для переходу. Ми не хотіли відмовлятися від де-факто стандартного frontend-фреймворку для Laravel, до того ж трава у сусіда завжди здається зеленішою. Проблеми Vue могли бути відсутні в React, але той мав власні нюанси.
Усе змінив TypeScript. Сувора типізація на frontend усуває цілий клас потенційних багів, робить рефакторинг безпечнішим, а підтримку великого коду — простішою. На той момент досвід розробки та рівень безпеки типів у зв'язці React та TypeScript на голову випереджали можливості Vue. Хоча з часом цей розрив скоротився, ми досі вважаємо тандем React і TypeScript потужнішим. Разом із величезною екосистемою інструментів на кшталт Radix це стало вирішальним фактором для переходу.
Ми намагаємося йти в ногу зі спільнотою. Але коли нестандартний вибір суттєво підвищує нашу продуктивність та задоволення від роботи, ми не боїмося відступати від загальноприйнятих стандартів.