Przegląd narzędzi rozwojowych dla platform mobilnych: Bada OS

Bada jest platformą stworzoną przez firmę Samsung. Po raz pierwszy została zaprezentowana w listopadzie 2009 roku wraz z telefonem Wave, który stał się flagowym telefonem Samsunga promującym zarówno Badę, jak i nowy typ wyświetlacza Super Amoled. Samo słowo „bada” w języku koreańskim oznacza ocean. Bada OS, zgodnie z informacjami podawanymi przez Samsung’a, jest platformą z konfigurowalną architekturą jądra, dzięki której można użyć zarówno jądra Linuxa, jak i innego systemu czasu rzeczywistego.

Instalacja SDK

Instalator SDK należy pobrać z http://developer.bada.com, po wcześniejszej rejestracji w serwisie. Dzięki rejestracji uzyskujemy dostęp do wszystkich poprzednich wersji SDK, innych materiałów oraz do forów dyskusyjnych. Instalator jest mały, jednak to dopiero on będzie pobierał całe SDK, na które się składają: pliki wspólne (Common Files), na które składają się m.in. kompilatory, IDE, biblioteki oraz oprogramowanie dodatkowe. Dodatkowo należy zainstalować wybrany typ emulatora (platformy): WVGA, HVGA czy WQVGA. Każdy z wymienionych typów platformy determinuje dla jakiego telefonu będzie tworzona dana aplikacja. Oczywiście można zainstalować wszystkie platformy. Po wybraniu potrzebnych elementów następuje długo oczekiwana chwila rozpoczęcia pobierania SDK, które waży trochę ponad 2,5GB (przy wybraniu wszystkich możliwych elementów). Po pobraniu i zainstalowaniu całe środowisko rozwojowe jest gotowe do użycia.

Użytkowanie SDK

Samsung oparł swoje IDE, podobnie jak Google, HP i wiele innych firm, o dobrze znaną platformę Eclipse. Została ona przygotowana wprost do rozpoczęcia przygody z tworzeniem aplikacji dla Bady. Nie trzeba instalować żądnych dodatkowych narzędzi ani wtyczek. Na programistę czekają gotowe kreatory typów projektów aplikacji, jakie można tworzyć dla platformy, ponadto  inżynierowie Samsung’a przygotowali zestaw narzędzi do testowania tworzonego kodu aplikacji. Dodatkowo dostępny jest edytor GUI, dzięki któremu można zaprojektować wygląd aplikacji po prostu przeciągając wybrane kontrolki w obszar formatki.

Modele aplikacji

Nie wgłębiając się w szczegóły, dzięki SDK można tworzyć aplikacje w trzech różnych technologiach: Flash, Web oraz C++.  W następnych paragrafach krótko opiszę czym różnią się wymienione podejścia, oczywiście pomijając fakt oczywisty jakim są różne języki programowania.

Aplikacje pisane w C++ oraz we Flash, są do siebie bardzo podobne, jakkolwiek to brzmi. Mianowicie podczas tworzenia aplikacji Flash w kreatorze nowego projektu dodaje się odpowiedni plik swf. Kreator sam wygeneruje odpowiedni kod C++, dzięki któremu aplikacja będzie działać. Oczywiście najpierw należy posiadać aplikację w formacie swf. Jeżeli chodzi o tworzenie aplikacji w C++, to dostępnych jest kilka szablonów, w każdym z nich po utworzeniu projektu dostajemy szkielet aplikacji, który naszym zadaniem jest rozbudować.

Innym podejściem jest budowanie aplikacji w oparciu o model Web, tutaj jak można się domyślać głównie posługiwać się będziemy językami HTML, JavaScript oraz CSS.

Biblioteki

Wraz z SDK Samsung dostarczył także odpowiednich bibliotek, dzięki którym można obsłużyć każde urządzenie, jakie znajdzie się na pokładzie telefonu z BadaOS. Biblioteki dostępne są dla aplikacji C++ oraz Web. Oczywiście wybór bibliotek dostępnych dla C++ jest większy m.in. o biblioteki standardowe C,C++ oraz o możliwość wykorzystania OpenGL ES czy libxml, w zasadzie to można próbować wykorzystać dowolną bibliotekę, wystarczy skompilować ją przy użyciu dołączonych do SDK kompilatora.

Emulator/Testowanie

Wstępne testy funkcjonalne tworzonych aplikacji można przeprowadzić przy pomocy dołączonego emulatora, w zależności od wybranej kategorii urządzenia (WVGA, HVGA, WQVGA),  emulator uruchomi się w trybie zgodności z wybraną grupą urządzeń. Dzięki modułowi ,,Event Injector” tester może wpływać na warunki działania testowanej aplikacji np. zmieniać poziom naładowania baterii, zmieniać sygnały z m.in. akcelerometru oraz GPS.  Istnieje również możliwość przetestowania aplikacji w zdalnym laboratorium przy użyciu prawdziwego urządzenia. Szczegóły można poznać tutaj: http://developer.samsung.com/remoteTestLab.do .

Wraz z SDK dostarczono również odpowiednich klas/typów projektów do przygotowywania testów jednostkowych i ich automatyzacji (dla aplikacji C++).

Dokumentacja

Przygotowana bardzo solidnie, opisano metody tworzenia aplikacji dla wymienionych trzech modeli. Dostarczone są przewodniki, przykładowe aplikacje oraz adnotacje dotyczące API. Cała dokumentacja jest zintegrowana ze środowiskiem Eclipse. Ponadto ciekawe informacje oraz przewodniki można znaleźć na przytoczonej już witrynie: http://developer.bada.com .

Podsumowanie

BadaOS jest ciekawą platformą, zestaw dostarczonych narzędzi wraz z SDK pozwala na natychmiastowe rozpoczęcie prac nad aplikacjami. Cechą szczególną tego rozwiązania jest istnienie trzech modeli aplikacji, opartych o znamiennie różne technologie, mianowicie: C/C++, Web oraz Flash. Dodatkowo dostępność wielu bibliotek, dostarczonych wprost z SDK, sprawia że tworzenie aplikacji jest w dużym stopniu ułatwione. Nie można zapominać o dostarczonym emulatorze, który został znacząco poprawiony w stosunku do pierwszych wersji. Ponadto wartym uwagi jest fakt prowadzenia przez Samsung’a zdalnych laboratoriów, w których można przetestować aplikacje na prawdziwych urządzeniach.

Wiele zalet, jakich można by jeszcze wymieniać, nie sprawiło że BadaOS wyszedł ze swojej niszy, ponadto dużo wskazuje na to że system ten w niedługim czasie zniknie z rynku lub też przekształci się w inny.

KryteriumOS
 Bada OS
ProducentSamsung
RejestracjaTak
Wersja2.0.5
Język programowaniaC/C++ lub HTML/CSS/JavaScript lub Flash
Bibliotekistandardowe C/C++, do obsługi urządzeń(dostarczane przez Samsung’a)
OpenGLtak
Dostępność SDKWindows
IDEEclipse
Edytor GUItak
Emulatorjest
WsparcieDokumentacja/społeczność
Sklep aplikacjijest
Dodatkowe opłatybrak
Wspierany sprzętWave, Wave 525, Wave 533,Wave 575, Wave 723, Wave II,Wave 578, Wave M, Wave Y, Wave 3

Chcesz otrzymywać aktualizacje ? Zapisz się.

Aktualności embedded Programowanie Smartfony Software Systemy