Narzędzia wspomagające proces wytwarzania wieloplatformowych aplikacji mobilnych – infoShare 2012

post_img

Konferencja CEBIT 2012 pozwoliła nam zaobserwować bardzo ciekawy trend w procesie wytwarzania aplikacji mobilnych. Cytując Deutsche Messe: „Rozpowszechnienie standardu HTML5-Apps sprawia, że coraz więcej programistów i użytkowników nie jest już zmuszonych do korzystania ze sklepów z aplikacjami oferowanymi dla platform typu Android, iOS czy Windows Phone.”. Trend wytwarzania wieloplatformowych aplikacji mobilnych przy użyciu języka HTML5 dało się również zauważyć na tegorocznej konferencji infoShare 2012. Zainspirowany wykładem Jamesa Hughesa “Mobile, How Do I Develop Thee? Let me Count the Ways.”, postanowiłem przyjrzeć się metodom wytwarzania wieloplatformowych aplikacji mobilnych.

James Hughes przedstawił ciekawe narzędzia do wytwarzania oraz testowania wieloplatformowych aplikacji mobilnych, które w znacznym stopniu przyspieszają i ułatwiają ten proces.

Web Frameworks

Na początek zaprezentowane zostały dwa frameworki webowe: jQuery Mobile oraz Sencha Touch 2. Przedstawione biblioteki pozwalają na wytwarzanie wieloplatformowych aplikacji mobilnych z wykorzystaniem języka HTML 5 i jQuery.

Biblioteka jQuery Mobile Sencha Touch 2
Technologie HTML5, jQuery HTML5, CSS Obsługiwane Platformy iOS, Android, BlackBerry, Palm WebOS, Nokia/Symbian, Windows Phone 7, MeeGo, Opera Mobile, Firefox Mobile, Kindle, Nook iOS, Android, BlackBerry, Kindle Fire

Web Design

W kolejnym etapie prezentacji poznaliśmy narzędzia do tworzenia wieloplatformowych aplikacji mobilnych z wykorzystaniem powyższych bibliotek: Codiqa i Sencha Architect 2. Posiadają one graficzny interfejs użytkownika, który umożliwia budowę aplikacji z gotowych komponentów. Codiqa korzysta z biblioteki jQuery Mobile, a Sencha Architect 2 z Sencha Touch 2.

Interfejs graficzny narzędzia Codiqa

Interfejs graficzny narzędzia Sencha Architect 2

Web App Container

Kolejnym sposobem wytwarzania wieloplatformowych aplikacji mobilnych są kontenery webowe. Przedstawione zostały dwa narzędzia do wytwarzania i zarządzania aplikacjami mobilnymi – PhoneGap i Apache Cordova. PhoneGap jest dystrybucją Apache Cordova. Do wytworzenia aplikacji mobilnych przy pomocy tych urządzeń używamy języków HTML5, CSS3 oraz JavaScript. Proces wytwarzania aplikacji z użyciem PhoneGap został opisany w artykule Zbyszka Wysockiego na naszym blogu : http://blog.atena.pl/aplikacje-mobilne-w-html5-phonegap-jquerymobile .

PhoneGap jest darmowym narzędziem umożliwiającym wytwarzanie, wgrywanie oraz aktualizację aplikacji na wielu urządzeniach i zróżnicowanych platformach : iOS, Android, Windows Phone 7, Symbian, Bada, BlackBerry OS, WebOS.

Cross Platform

Inne podejście do sposobu wytwarzania aplikacji mobilnych mają narzędzia typu „Cross Platform”. Zasada ich działania opiera się na jednorazowym wytworzeniu kodu aplikacji i kompilowaniu go na wiele platform.

Przedstawiono następujące narzędzia typu „Cross Platform”:

  • Monotouch, MonoDroid
    • wytwarzanie aplikacji na system iOS Monotouch i Android MonoDroid;
    • język programowania C# i .Net;
    • dostęp do wszystkich natywnych funkcji urządzenia;
    • możliwość przenoszenia kodu pomiędzy systemami iOS, Android i Windows Phone;
  • Corona
    • dedykowany język programowania;
    • możliwość kompilacji na platformy iOS, Android, Kindle Fire, Nook;
  • Phonegap:Build
    • aplikacje tworzone w HTML, CSS i JavaScript;
    • kompilacja aplikacji na platformy Android, iOS, Palm, Symbian, BlackBerry;
  • Titanium
    • SDK oparte na składni języka JavaScript;
    • kompilacja aplikacji na platformy iOS, Android i HTML5;

Server Platforms

James zaprezentował również inne narzędzia ułatwiające wytwarzania aplikacji mobilnych i rozszerzanie ich funkcjonalności. Możemy do nich zaliczyć platformy świadczące usługi dla aplikacji mobilnych takie jak Parse i Kinvey.
Pozwalają one między innymi na:

  • przechowywanie danych w chmurze;
  • wysyłanie notyfikacji dla aplikacji klienckich;
  • prostą integrację z serwisami społecznościowymi.

Testing & Debugging

Jednym z głównych problemów występujących w procesie wytwarzania aplikacji mobilnych są testy. Wymagają one dużego nakładu czasu oraz sporej liczby urządzeń mobilnych. Tutaj z pomocą przychodzą platformy świadczące usługi testowania. Przykładem narzędzi i platform ułatwiających testowanie aplikacji mobilnych są:

  • Jasmine – testowanie aplikacji napisanych w JavaScript;
  • Less Painful – testowanie aplikacji na platformach iOS i Android;
  • Frank – testowanie aplikacji na platformie iOS;
  • Weinre – debugowanie stron na urządzeniu mobilnym z systemem Android, iOS, PhoneGap, Cordova.

Powstały również narzędzia, które ułatwiają przeprowadzenie testów aplikacji w wersji beta, wspomagają pracę deweloperów i testerów :

  • Hockey – obsługiwane platformy: iOS, Android, Windows Phone, Mac;
  • Testflight – wykonywanie testów aplikacji w wersji beta na platformie iOS.

Podsumowanie

Na rynku istnieje zatem wcale niemało platform i bibliotek ułatwiających tworzenie wieloplatformowych aplikacji mobilnych. Wiele z nich świadczy swoje usługi za darmo lub za niewielką opłatą. Nie można jednoznacznie stwierdzić, które z nich są najlepsze. Zdaniem Jamesa, wszystko zależy od konkretnego projektu. Wszystkie przedstawione narzędzia mają swoje wady i zalety, a ich przydatność w wytwarzaniu aplikacji w dużej mierze trzeba wiązać z charakterem projektu, docelowymi platformami i odbiorcami.
Przy okazji – zapraszam do czytania bloga Jamesa!

Źródła

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *