Kako ubrzati pokretanje Ionic 3 aplikacije?

Kako ubrzati pokretanje Ionic 3 aplikacije?

Ako koristite Ionic 2 ili Ionic 3 mogli ste primijetiti dugo vrijeme pokretanja aplikacije, kako na iOS tako i na Android platformi. Ja sam ga definitivno primijetio, a vidim da su i mnogi drugi.

Vrijeme potrebno da se aplikacija pokrene nakon Splash Screena kretalo se između 11 i 15 sekundi što nikako nije dobro za korisničko iskustvo.

Uzrok

Kao zadano, Ionic 2 & 3 projekti su u non-AoT stanju što znači da su uvijek u stanju za razvoj (state of development) i to je dobro i korisno za testiranje i rješavanje problema (debugging), ali nije dobro za kreiranje verzija aplikacija koje će koristiti krajnji korisnik.

Builds are now always development (non-AoT) by default. To enable prod builds, use the –prod option. – izvor

AoT (Ahead-of-Time) je termin za build process koji kompajlira predloške i minimizira JS datoteke kako bi se poboljšale performanse aplikacije prilikom pokretanja. Kompajler se pokreće samo prvi put prilikom kreiranja .APK-a tj. .IPA-a tj. ne pokreće se svaki prilikom pokretanja aplikacije i time se postiže veća brzina pokretanja aplikacije i prikaza predložaka. I to je upravo ono što kao developeri želimo.

Problem se javlja zbog toga što je Ionic tim odabrao da zadano stanje bude suprotno od ranije opisanog procesa. I to je razlog sporog pokretanja aplikacije. Može se činiti kao sitnica, ali i kao sitnica koja može izluditi developera koji može krenuti u proces preoptimizacije svoje aplikacije bez uspjeha.

Rješenje –prod

Rješenje svih problema sadržano je u nastavku –prod

//iOS
ionic emulate ios --prod
ionic build ios --prod
ionic run ios --prod

//Android
ionic emulate android --prod
ionic build android --prod
ionic run android --prod

Nakon dodavanja –prod nastavka možete primijetiti drastično ubrzanje prilikom pokretanja aplikacije s 11 do 15 sekundi na 2-3 sekunde.

Pretpostavimo da želite ubrzati proces pokretanja, ali ne želite minimizirati JS datoteke kako bi mogli jednostavnije testirati i rješavati probleme tj. raditi debugging. U tom slučaju možete koristiti – -aot nastavak.

//iOS
ionic emulate ios --aot
ionic run ios --aot

//Android
ionic emulate android --aot
ionic run android --aot

Na taj način koristite Ahead-of-Time kompajliranje, ali ne minimizirate JS datoteke.

Što ćete od ranije navedenog odabrati ovisi o vašim potrebama u određenom trenutku.

Zaključak

AoT čini drastičnu razliku u vremenu potrebnom za pokretanje Ionic aplikacije. Ionic tim je odabrao non-AoT kao zadano kako bi developerima olakšao proces razvoja što nove developere može odbiti od korištenja Ionic Frameworka jer im neće biti jasno zašto im je aplikacija koju su tek kreirali tako spora.

Objavio

Tomislav Stanković

Bloger širokog raspona interesa od kojih dio voli objaviti na ovom blogu. U neslobodno vrijeme Angular developer mobilnih i web aplikacija.

Odgovori

Vaša adresa e-pošte neće biti objavljena. Obavezna polja su označena sa *