TK

SpecCheck (Caterpillar)

Migracja Vue 2 → Vue 3

Wraz ze zbliżającym się końcem wsparcia Vue 2, celem stała się migracja do Vue 3. Tryb kompatybilności działał dobrze — dopóki nie został wyłączony, po czym wszystko się posypało.

Przyczyna: aplikacja była sterowana przez backend (backend-driven UI). Backend opisywał, co renderować, jakie akcje pokazać, jakie endpointy wołać. Komponenty przekazywały między sobą mutowalne obiekty, które same modyfikowały swój stan — wzorzec fundamentalnie niekompatybilny z systemem reactivity Vue 3.

Zamiast migrować dziesiątki wyspecjalizowanych komponentów osobno, kluczową decyzją architektoniczną było zbudowanie jednego konfigurowalnego komponentu zdolnego renderować wiele typów stron, a logikę przenieść głębiej do backendu.

Aby zredukować ryzyko wdrożenia, przełącznik środowiskowy w pipeline'ie deploymentu pozwalał migrować sekcja po sekcji, z możliwością natychmiastowego rollbacku w dowolnym momencie.

Efekt: ok. 50% mniej kodu frontendowego, mniej wyspecjalizowanych komponentów, czystszy kontrakt z backendem, a migracja ukończona w niecałe trzy miesiące bez przestojów w dostarczaniu.

Ograniczenie treści: żaden kod, prawdziwe dane ani UI SpecCheck/Caterpillar nie są tu pokazane — wyłącznie ogólny, własnoręcznie narysowany diagram architektury backend-driven UI (bez danych firmowych).