Jak z istniejącej aplikacji webowej stworzyć aplikację mobilną? Jest na to kilka sposobów. Dzisiaj przedstawię jeden z nich.
Potrzeba klienta
Dlaczego to robimy? Wychodzimy na przeciw potrzebom klientów. Często na etapie tworzenia aplikacji, nie można jednoznacznie określić czy wersja mobilna będzie również potrzebna. Czasem okazuje się to dopiero w momencie, gdy aplikacja działa już produkcyjnie.
Co w takiej sytuacji możemy zrobić? Możemy się dostosować!
Dostosowanie istniejącej aplikacji
Poniższy przykład opisuje jak w łatwy sposób można dostosować istniejącą aplikację Angularową do aplikacji mobilnej, którą następnie możemy wrzucić do AppStore i GooglePlay.
Zabawę zaczynamy od instalacji cordovy, czyli „silnika” na którym oparta będzie nasza aplikacja mobilna (więcej informacji można znaleźć tutaj).
npm install -g cordova
Następnie tworzymy nowy projekt np. o nazwie „mobile”:
cordova create mobile
W kolejnym kroku musimy zbudować naszą aplikację, czego efektem jest otrzymanie nowego folderu dist.
ng build —prod
Do folderu mobile/www wrzucamy zawartość folderu dist. Możemy to zrobić sprytniej, uprzednio usuwając folder www i za pomocą komendy ln -s ../dist www
dodać te zmiany.
Co ważne, musimy w pliku index.html w base href dodać kropkę. Ścieżki absolutne, nie są dobrze obsługiwane przez cordovę.
Następnie przechodzimy do folderu mobile:
cd mobile
Kolejno instalujemy platformy, dla których chcemy utworzyć aplikację:
cordova platform add android
cordova platform add ios
W efekcie powinniśmy mieć taką strukturę folderów:
W zasadzie to tyle jeśli mówimy o dodaniu projektu mobile do naszej istniejącej aplikacji. Resztę rzeczy konfigurujemy już w sposób standardowy dla mobile. Dodajemy odpowiednie pluginy:
np. WKWebView, który pozwala na płynne działanie aplikacji na urządzeniu mobilnym.
npm i cordova-plugin-wkwebview-engine
Cała konfiguracja jest zawarta w pliku config.xml, tam również dodajemy inne preferencje np.
<preference name="AllowBackForwardNavigationGestures" value="true" />
Czyli umożliwiamy użytkownikowi na powrót do poprzedniej strony poprzez wykonanie gestu.
Możemy również dodać ustawienia splash screenu:
<preference name="SplashScreen" value="screen" />
<preference name="AutoHideSplashScreen" value="true" />
<preference name="SplashScreenDelay" value="3000" />
Możliwości jest dużo. Odsyłam do tej strony.
Ostatnim krokiem jest już oczywiście zbudowanie aplikacji:
cordova run android
cordova run ios
Podsumowanie
Reasumując, powyższy przykład jest oparty na Angular9 i cordovie, zachęcam do szczerszego zapoznania się z tematem i spróbowania wrzucenia swoich aplikacji do GooglePlay i AppStore.
Powodzenia!
Autorką tekstu jest Klaudia Moroń.
Zdjęcie: Caspar Camille Rubin na Unsplash