
Proizvod
Pretvaranje React aplikacije u iOS aplikaciju
Pretvaranje React aplikacije u iOS aplikaciju zvuči kao prenošenje, i obično se tako i radi: interfejs se iznova napravi u Swiftu, održavaju se dvije kodne baze, i one se razilaze u roku od jednog kvartala. Body Heal to nije uradio. To je platforma za wellness treniranje napravljena kao veb aplikacija prilagođena prvo telefonu, na Reactu i Supabaseu, a iOS verzija je isti kod upakovan kroz Capacitor, sa nativnim mogućnostima dodatim samo tamo gdje telefon zaista mora da uradi nešto što pregledač ne može.
Odluka o tome gdje ići nativno svela se na jednu funkciju. Klijenti prate personalizovane programe treninga, a ti programi su video. Veb video element unutar upakovane aplikacije ponaša se kao veb video element, što na telefonu nije dovoljno dobro za nekoga ko je usred vježbe, pa je plejer napravljen kao posebna integracija na Vimeo API-ju umjesto da se ostavi na podrazumijevanim podešavanjima. Sve ostalo, kontrolne table, upisivanje napretka i biblioteka treninga, ostalo je zajedničko.
Teži problem je bio to što je jedna aplikacija morala da bude tri. Administrator, trener i klijent svako vide drugačiji dio istih zapisa, a pretplata u tri nivoa odlučuje šta klijent može da dohvati unutar sopstvenog naloga. Ta podjela živi u bazi, a ne u interfejsu, jer se interfejs može zaobići, a pravilo u bazi ne može, i to je dio koji bi morao da se napiše dvaput da je iOS aplikacija pravljena ispočetka.
Performanse su mjesto gdje se upakovana aplikacija obično oda. Lista koja trza ili grafikon koji se iscrtava pri svakoj promjeni odmah djeluju kao sajt koji se pravi da je aplikacija. Interfejs je podešen da drži 60 sličica u sekundi na telefonu, a napredak stiže kroz Supabase realtime pretplate, pa trener koji gleda klijentovu kontrolnu tablu vidi upisan trening čim stigne, a ne tek nakon osvježavanja.
Nativna izrada ispočetka bila bi pogrešna za proizvod čija je vrijednost odnos između trenera i klijenta, gdje je svaki sat potrošen na usklađivanje dvije kodne baze sat koji nije potrošen na ono za šta ljudi plaćaju. Četiri ekrana koja su iz toga izašla su u studiji slučaja.





