Wieloplatformowe aplikacje mobilne
Autor: Wojciech Stańczuk, publikacja: 2017-06-27
Aplikacje mobilne stają się bardzo istotnym elementem współczesnych rozwiązań informatycznych. Powszechny dostęp do Internetu za pośrednictwem urządzeń przenośnych powoduje, że często aplikacja mobilna jest wiodącym lub też jedynym kanałem dostępu do ofertowanych usług i produktów. Aby jednak wykorzystać tę powszechność dostępu urzędzeń mobilnych, należy stworzyć aplikację mobilną działającą na wielu platformach software'owych, a przynajmniej na tych najczęściej używanych: Android, iOS, Windows Mobile.
Jakie narzędzia wykorzystać do budowy oprogramowania?
Decydując się na realizację aplikacji mobilnej na wielu platformach systemowych, stajemy jednak przed dylematem wyboru narzędzi wykonania oprogramowania. Mamy tutaj do wyboru dwa podejścia. Pierwsze to wykonanie osobnych aplikacji dla poszczególnych platform. Problemem tutaj jest konieczność przygotowania wielu wersji kodu źródłowego w różnych językach programowania, co powoduje dość duże koszty zarówno przy produkcji aplikacji, jak i przy jej późniejszym utrzymaniu.
Alternatywą jest wykorzystanie jednej z wieloplatformowych technologii budowania aplikacji mobilnych pozwalającej na wykonanie jednego kodu, który jest odpowiednio kompilowany na różne platformy. Jest ich wiele, każda ma swoje wady i zalety. Bardo popularnym podejściem jest pisanie aplikacji w HTML5 i JavaScript tak, by mogły zostać opakowane w komponent webowy uruchamiany w ten sam sposób na danej platformie. Takie podejście jednak nie daje możliwości wykorzystania charakterystycznego wyglądu aplikacji w poszczególnych systemach operacyjnych, co więcej nigdy nie będą one tak szybkie jak aplikacje kompilnowane natywnie.
Co wykorzystać, gdy zależy nam na wydajności przy zachowaniu natywnego wyglądu aplikacji?
Jedną z ciekawszych propozycji jest wykorzytanie frameworka programistycznego Qt. Znany jest on od lat programistom C++ jako wieloplatformowe narzędzie do budowy wydajnych aplikacji (8 na 10 firm z Fortune 500 wykorzystuje Qt w swoich aplikacjach). Framework ten bazuje na wspólnym zbiorze bibliotek programistycznych (co bardzo istotne: w tym również komponentów wizualnych), które są kompilowane na różne systemy operacyjne. Dzięki temu Qt stał się również idealnym rozwiązaniem do budowy wieloplatformowych aplikacji mobilnych, natywnie kompilowanych na różne systemy operacyjne.
Qt idealnie tutaj łączy funkcjonalność z wydajnością. Wielość dostępnych komponentów graficznych pozwala na tworzenie bardzo zaawansowanych kontrolek i widgetów do wykorzystania przy budowie interfejsu aplikacji. Zaś kompilacja programu do natywnego kodu na daną platformę zapewnia dużą wydajność oraz możliwość wykorzystania natywnego wyglądu kontrolek, charakterystycznego dla danego systemu operacyjnego.
W jakim języku programować aplikacje?
Aplikacje Qt programowane są w języku QML oraz C++. QML to deklaratywny język oparty na JavaScript służący do projektowania oprogramowania silnie związanego z interfejsem graficznym. Komponenty QML dostępne wraz z Qt to zaawansowany zbiór kontrolek i zachowań (przejścia, animacji, zmiany stanu). Mogą być one rozszerzane za pomocą JavaScript lub za pomocą standardowego dla Qt języka C++. Framework pozwala również na integrację z dedykowanymi na daną platformę komponentami sofrware'owymi, np. napisanymi w Javie.
Podsumowanie
Zastosowanie frameworka Qt do budowy wieloplatformowych aplikacji mobilnych gwarantuje możliwość utrzymywania jednej wersji kodu programu przy zachowaniu maksymalnej wydajności i użyteczności aplikacji na urządzeniach docelowych. To pozwala na znaczące ograniczenie kosztów budowy aplikacji oraz skraca proces jej realizacji.
Opracował:
Wojciech Stańczuk
Entim