Programowanie aplikacji mobilnych


Na samym początku naszej odnośnie przygody z programowaniem aplikacji mobilnych to my stajemy przed masą wyborów. Gdzie to po marketingowej części doboru grupy docelowej aplikacji, czy zasobów itp., musimy bowiem wybrać system operacyjny, a co się z tym wiąże konkretny język programowania, którym to będziemy się wówczas posługiwać.

Niestety, jednak każdy z obecnie dominujących na rynku smartfonów gigantów IT, do pisania aplikacji w swoim własnym systemie wybrał inny język programowania. W przypadku więc kiedy chcielibyśmy napisać aplikację natywną, która to równocześnie będzie działać na platformie Google Android, iOS, Windows Mobile, BlackBerry, a także najstarszej na rynku Nokii z systemem Symbian, zostalibyśmy więc zmuszeni do nauki języka C, Java, Java ME oraz .NET (ewentualnie jeszcze C++). Szczęśliwie jednak od jakiegoś czasu korzystając zaledwie z trzech języków programowania, a także jednego narzędzia, mamy możliwość by stworzyć jedną uniwersalną, także działającą oraz wyglądającą aplikację dla wszystkich wyżej wskazanych platform.
W chwili obecnej na rynku mamy możliwość, aby znaleźć kilka alternatywnych rozwiązań, które to służą do programowania aplikacji natywnych w wyżej opisany sposób. Najbardziej jednak znane to: Rhomobile (oparty o Ruby), Titanium (który to jest frameworkiem z własnym natywnym UI) i PhoneGap. Skupmy się więc na omówieniu ostatniego z nich, czyli PhoneGap’a.

Czym zatem wyróżnia się PhoneGap w porównaniu ze swoimi konkurentami? Przede wszystkim, nie jest on frameworkiem, toteż nie jest konieczna nauka następnego pseudojęzyka programowania, bowiem jest środowiskiem programistycznym opartym o OpenSource z dosyć sporą społecznością zgromadzoną wokół niego. Równorzędną wadą, jak i również zaletą, w zależności od konkretnego programisty jest brak występowania GUI, co daje nam z kolei  ogromne możliwości pod względem własnego layoutu aplikacji. Z kolei zaletą jest natomiast brak ograniczeń w JS a także możliwość wykorzystania zewnętrznych bibliotek takich jak na przykład : jQueryMobile, BackBone, SenchaTouch, jQTouch, Jo lub chociażby lekkiego XUI.

Programując w nim aplikacje mobilne poprzez używanie technologii mamy możliwość, aby korzystać też z urządzeń wyróżniających je od komputerów stacjonarnych bądź  przenośnych. Mamy też dostęp do sprzętowej geolokalizacji z użyciem GPS, a także do akcelerometru, czy kontaktów znajdujących się w telefonie, oraz plików z pamięci wewnętrznej, kamery, albo choćby powiadomień wibracyjnych i zdarzeń dotykowych, a więc praktycznie wszystkich dobrodziejstw sprzętowych, które są używane przez aplikacje natywne. PhoneGap jest swego rodzaju opakowaniem aplikacji internetowej do wersji offline, która wykorzystuje przeglądarkę opartą o silnik WebKit a także dodatkowe biblioteki do aplikacji natywnej.
W najnowszej jednak wersji PhoneGap 1.0 mamy możliwość tworzyć równolegle oprogramowanie dla systemów operacyjnych  jak na przykład :iOS, Android, BlackBerry, czy WebOS, Windows Phone 7, a także  Symbian,oraz  Bada.

Autor