Rozwiązania hybrydowe w świecie aplikacji mobilnych

Andrzej Lewandowski

Dzisiejszy świat – czy ktoś może wyobrazić sobie codzienne życie bez wszechobecnych smartfonów? ? Są z nami wszędzie: w pracy, w domu, a nawet w podróży. Nie rozstajemy się z nimi niemal na krok. Rozwój technologii sprawił, że dzisiejsze urządzenia mobilne to nie tylko środek komunikacji, ale wręcz przenośne biuro czy centrum multimedialne. Wszystko to sprawia, że rynek mobilny rozwija się bardzo prężnie, a ilość dostępnych aplikacji jest ogromna.

O tym, czy aplikacja osiągnie sukces na rynku, nie decyduje tylko trafność rozwiązania, czy jego innowacyjność, ale przede wszystkim dostępność na różne platformy. Stawia to przed twórcami szereg wyzwań związanych z różnicami, jakie determinują daną platformę. Zaczynając od warstwy widoku po warstwę logiki biznesowej, czy dostęp do danych lub sposób zarządzania podzespołami takimi jak aparat, żyroskop czy też czytnik linii papilarnych.

Każda z tych różnic powoduje, że pisząc rozwiązanie natywne, twórca oprócz znajomości specyfiki danej platformy musi znać także język programowania dla niej dedykowany. To zdecydowanie utrudnia utrzymanie integralności produktu i wydłuża proces tworzenia.

Rozwiązania hybrydowe opierają się o kod natywny, ale cały proces tworzenia odbywa się we frameworku dostarczającym programiście komponenty i narzędzia niezbędne do napisania aplikacji cross-platform (framework odpowiada za translację kodu aplikacji na język natywny danej platformy). Na rynku dostępnych jest wiele różnych rozwiązań, część oparta jest o wieloplatformowe środowisko uruchomieniowe Node.js, między innymi React Native, Apache Cordova, Ionic (darmowy mobile UI toolkit do tworzenia wysoko poziomowych aplikacji cross-platform na urządzenia mobilne z systemem iOS, Android).

Rozwiązania hybrydowe w aplikacjach mobilnych – jak to działa?

Aplikacja pisana jest najczęściej z użyciem HTML5 po stronie widoku i JavaScript lub TypeScript (otwarty język programowania stworzony przez firmę Microsoft, będący rozszerzeniem języka JavaScript – umożliwia programowanie zorientowane obiektowo oparte na klasach) po stronie logiki i warstwy dostępu do danych. Środowisko uruchomieniowe umożliwia podgląd wytwarzanej aplikacji wraz z dynamiczną możliwością zmiany prezentowanej platformy.

Ułatwia to proces testowania rozwiązania. W najnowszych telefonach występują ekrany bezramkowe (notch) oraz różne wielkości ekranów, co ma wpływ na skalowalność aplikacji. Aktualnie rozwiązania hybrydowe bazują na Angular wersji 8, która miała diametralny wpływ na optymalizację cyklu życia strony (pojedynczego ekranu aplikacji), jak i całej nawigacji pomiędzy ekranami.

Ze względu na to, iż Node.js jest jedynie środowiskiem uruchomieniowym do dystrybucji aplikacji wymagane jest odpowiednio skonfigurowane środowisko natywne (dla iOS jest to Xcode, a dla Androida jest to Android Studio). W przypadku iOS niestety niesie to za sobą konieczność posiadania sprzętu firmy Apple. Nie ma dostępnej wersji Xcode na inny system operacyjny niż iOS. W przypadku Androida sytuacja jest dużo lepsza i mamy tu pełną dowolność.

Aplikacje hybrydowe w najpopularniejszych sklepach

Proces tworzenia aplikacji nie kończy się na samym napisaniu kodu i wybudowaniu wersji. Należy ją również dystrybuować do odbiorców, na szczęście z pomocą przychodzą tu oficjalne kanały dystrybucji (App Store oraz Google Play). Aplikacje hybrydowe są w pełni wspierane przez te sklepy.

Umożliwiają one również łatwy i czytelny sposób zarządzania fazą testów. Od testów wewnętrznych po otwartą wersję Beta. Pozwala to na przeprowadzenie testów w ramach zdefiniowanej grupy użytkowników, jak i również możliwość promocji naszego rozwiązania wśród innych i poszerzenia grona potencjalnych odbiorców.

Wprowadzenie na rynek rozwiązań hybrydowych miało ogromny wpływ na świat aplikacji mobilnych. Bardzo ważnym aspektem wytwarzania oprogramowania jest optymalizacja czasu i kosztów związanych z procesem pisania aplikacji, jak i łatwość utrzymania integralności kodu dla różnych platform. Czas w świecie biznesu zawsze ma kolosalne znaczenie i niejednokrotnie decyduje o tym, czy dane rozwiązanie odniesie sukces czy też nie. Świetnym przykładem jest tu aplikacja mProlib, która zyskała uznanie wśród jury konkursu “Dobry Wzór 2019” organizowanego przez Instytut Wzornictwa Przemysłowego i zakwalifikowała się do wąskiego grona finalistów.