technologie umożliwiające tworzenie ograniczonych aplikacji w
Transkrypt
technologie umożliwiające tworzenie ograniczonych aplikacji w
www.pwt.et.put.poznan.pl Janusz Pochmara Politechnika Poznańska Instytut Elektroniki i Telekomunikacji Poznań, ul. Piotrowo 3a [email protected] 2005 Poznańskie Warsztaty Telekomunikacyjne Poznań 8 - 9 grudnia 2005 TECHNOLOGIE UMOŻLIWIAJĄCE TWORZENIE OGRANICZONYCH APLIKACJI W URZĄDZENIACH MOBILNYCH Streszczenie: Z myślą o pozyskaniu nowych użytkowników projektanci urządzeń mobilnych zaczynają zwracać swoją uwagę na aplikacje, które starają się przyciągać swoim in terfejsem przede wszystkim wzrok użytkownika. Dlatego coraz częściej w terminalach przenośnych umieszcza się bardziej wyszukane graficznie aplikacje systemowe. Jest to efekt uboczny w rozwoju usług mobilnych, który został wymuszony przede wszystkim ciągłym zapotrzebowaniem na nowych użytkowników. W pracy przedstawiono prze gląd tych narzędzi dewelopreskich aplikacji systemowych, które zasługują na szczególną uwagę. Celowo pominięto w doborze narzędzia komercyjne, które w obecnej chwili są stosunkowo drogimi produktami i nie każdy z użytkow ników systemów mobilnych może sobie pozwolić na ich za kup. Dlatego wybrano te aplikacje które są dostępne obec nie na rynku IT w sposób nieodpłatny. 1. WSTĘP Producenci telefonów komórkowych oferują w swych urządzeniach coraz bardziej zaawansowane tech nologie. Dzięki gwałtownemu postępowi w dziedzinie projektowania układów wielkiej skali integracji wy posażają oni przenośne terminale telefoniczne w szyb sze procesory, posiadające również więcej dostępnej pamięci operacyjnej. Umieszczają w terminalach rucho mych kolorowe i o coraz większym rozmiarze wyświetlacze LCD (ang. Liquid Crystal Display) oraz aparaty cyfrowe, które powoli stają się standardem wy posażenia dla urządzeń mobilnych. Trudno nie wspo mnieć o takich możliwościach telefonicznych terminali mobilnych jak rejestracja (popularnie określana jako usługa dyktafonu) i odtwarzanie dźwięku w bardzo dziś popularnym za sprawą Internetu formacie mp3 (ang. Mpeg Audio Layer 3). Producenci do swych urządzeń wprowadzają również mobilne elementy internetowe w postaci dodatkowych modułów wyposażenia. Z myślą o pozyskaniu nowych użytkowników projektanci urządzeń mobilnych zaczynają zwracać swoją uwagę na aplikacje, które są skierowane już dziś przede wszystkim do wzroku użytkownika. Dlatego coraz częściej w terminalach przenośnych umieszcza się coraz bardziej wyszukane graficznie aplikacje systemowe. Analitycy rynku IT zwracają uwagę, że przyszłość telefonii komórkowej należeć będzie do urządzeń zaawansowanych technologicznie oferujących zaawan PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005 sowane usługi multimedialne. Różne typy urządzeń mobilnych mają różne właściwości sprzętowe. Inne są możliwości przenośnego urządzenia telefonicznego, a inne urządzenia klasy PDA (ang. Personal Digital Assi stant), skrót ten odnosi się do wszystkich systemów po siadających zarazem cechy telefonu komórkowego jak i komputera osobistego. W tym celu projektanci ograniczonych aplikacji wbudowanych poszukują na rzędzi programistycznych, które umożliwiłyby rozwój aplikacji wbudowanych niezależnie od platformy sprzętowej, tak by nie trzeba było używać niskopoziomowych języków programowania (typu as sembler) do realizacji odpowiednich zadań. Dzięki takim aplikacjom można mieć dostęp do kalkulacji, umów, raportów i innych danych, które mogą okazać się przydatne wtedy, kiedy najmniej się tego użytkownik spodziewa. W artykule dokonano analizy narzędzi umożli wiających tworzenie aplikacji dla urządzeń działających pod kontrolą przenośnych systemów operacyjnych oraz wyposażonych w technologie bezprzewodowe. Producenci programistycznych narzędzi deweloperskich zapewniają, że dzięki ich produktom możliwe staje się tworzenie aplikacji dla wszystkich urządzeń przeno śnych. W praktyce jednak, tworzone aplikacje nie za wsze są niezależne od platformy uruchomieniowej i mają ograniczone możliwości w rozwoju aplikacji programowych. 2. ROZWÓJ APLIKACJI WBUDOWANYCH W TECHNICE MOBILNEJ Rozwój technologii mobilnych otwiera nowe możliwości nie tylko przed użytkownikami, ale również przed twórcami oprogramowania. Dostępne bezpłatne środowiska i narzędzia umożliwiają programistom two rzenie aplikacji, które mogą być uruchamiane na więk szości urządzeń mobilnych. Technologiczny rozwój telefonii komórkowej sprawił, że pojawiły się w przeno śnych urządzeniach dodatkowe funkcje: zegarki, notesy czy dyktafony. Jednak nadal użytkownicy mogą korzy stać jedynie z tych aplikacji, które udostępnił im producent. Aby temu zaradzić, różne konsorcja standa ryzacyjne próbują wdrożyć swoje systemy do po wszechnego użytku tak by umożliwić użytkownikom 1/6 www.pwt.et.put.poznan.pl uruchamianie własnych aplikacji w systemach mobil nych. W branży IT postęp miniaturyzacji umożliwia producentom umieszczanie funkcji komputerów typu desktop w coraz mniejszych urządzeniach. W branży urządzeń mobilnych miniaturyzacja doprowadziła do powstania znacznie bardziej zaawansowanych telefonów komórkowych, wyposażonych w funkcje przetwarzania danych. Na skutek tych dwóch tendencji w obu branżach pojawiły się urządzenia o nakłada jących się możliwościach; możemy już teraz rozmawiać o tym, jak przetwarzać dane za pomocą niewielkich, bezprzewodowych telefonów. W przeciągu ostatnich kilku lat, widać ogromny postęp w tej dziedzinie, który uwidacznia się błyskawicznym rozwojem ograniczo nych aplikacji obsługujących systemy mobilne. Projektowanie ograniczonych aplikacji dla urządzeń przenośnych powoli staje się „sztuką”, która łączy w sobie dwie skrajności tj. potrzebę użyteczności oraz artystyczną swobodę wyrazu. W przypadku apli kacji użytkowych pogodzenie tych dwóch sprzeczności jest bardzo trudne. Niektórzy projektanci nie chcą sły szeć o użyteczności wierząc, że artystyczna swoboda powinna być oceniana ponad użytecznością. Z kolei po trzeba użyteczności skłania projektantów do wyboru technologii opartych na programowaniu systematycz nym. W obecnej chwili kładzie się tu nacisk na techno logie oparte o takie języki programowania jak: Java, Vi sual Basic czy też Visual C++. Natomiast twórcy mający na celu środki artystycznego wyrazu upodobali sobie z kolei stosunkowo młodą technologię Flash Lite. W dalszej części pracy zostanie przedstawiony przegląd najpopularniejszych narzędzi umożliwiających two rzenie aplikacji wbudowanych dla telekomunikacyjnych urządzeń przenośnych. 3. NARZĘDZIA UMOŻLIWIAJĄCE TWORZENIE APLIKACJI MOBILNYCH W paragrafie tym spróbujemy przedstawić krótką syntezę najważniejszych właściwości poszczególnych technologii. Bardziej szczegółowe opracowania można natomiast znaleźć w obszernych monografiach poświ ęconych tym technologiom na stronach internetowych ich producentów [1], [2], [3], [4], [5]. W obecnej chwili kładzie się głównie nacisk na technologie oparte o takie języki programowania jak: C++, Java. Natomiast twórcy mający na celu środki ar tystycznego wyrazu upodobali sobie, jak już wcześniej wspomniano technologię Flash Lite. 3.1 J2ME Java stworzona została dla sprzętu elektronicznego stosowanego w gospodarstwie domowym, jednak po czątkowo wykorzystywana była przede wszystkim w In ternecie i w komputerach osobistych. Stało się tak ze PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005 względu na wymagania dotyczące wydajności i przeno śności kodu. Kod źródłowy Javy jest kompilowany do tak zwanego kodu pośredniego (ang. Byte), który może być uruchamiany na każdym urządzeniu, na którym zainstalowano maszynę wirtualną Javy (ang. Java Virtual Machine) [1]. Maszyna wirtualna pozwala na in terpretację kodu pośredniego i wykonuje go. Programista nie musi się martwić o różnice, które mogą wystąpić pomiędzy urządzeniami. Pojawienie się nowych telefonów, o większej pamięci operacyjnej i szybszych procesorach skłoniło producentów terminali mobilnych do wprowadzenia pakietów J2ME w skład tych urządzeń. Rozwiązanie takie umożliwia na uruchamianie tej samej aplikacji na różnych typach urządzeń mobilnych bez konieczności rekompilacji kodu źródłowego programu. Aby spełnić warunek kompatybilności sprzętowej, firma Sun Micro systems stworzyła specjalny rodzaj środowiska Java J2ME. (Java 2 Micro Edition). J2ME jest bezpłatnym środowiskiem umożliwiającym programistom tworzenie aplikacji w języku Java. Dzięki małym wymaganiom systemowym wielu producentów mobilnych urządzeń wyposaża swoje aparaty w jedną z dwóch możliwych konfiguracji środowiska J2ME [6]: • CLDC (ang. Connected Limited Device Configuration), która jest przeznaczona dla najprostszych urządzeń elektroniki użyt kowej; wystarczy około 512 Kb pamięci operacyjnej, • CDC (ang. Connected Device Configuration), która jest dedykowana urządzeniom, które posiadają więcej pamięci operacyjnej niż 2 Mb i wydajniejszy proce sor . Minusem takiego rozwiązania jest fakt, że do two rzenia aplikacji w Javie koniecznie potrzebna jest bar dzo dobra znajomość w zakresie programowania obiek towego, co zniechęca wielu programistów do posługi wania się tym językiem. Drugim minusem świadczącym na niekorzyść Javy jest czas potrzebny na interpretację kodu pośredniego przez maszynę wirtualną Javy. Roz wiązanie takie znacząco wydłuża czas potrzebny na in terpretację kodu źródłowego i jego wykonanie. Spośród dostępnych na rynku środowisk dewelo perskich z pewnością projekt Eclipse (rys. 1) jest li derem. Celem projektu jest dostarczenie użytkownikowi łatwego w obsłudze środowiska IDE, które uprościłoby tworzenie aplikacji w Javie do niezbędnego minimum. Eclipse jest to zwartym środowiskiem graficznym, które pozwala prezentować strukturę aplikacji podczas jej tworzenia. Niestety wadą takiego rozwiązania jest konieczność samodzielnej instalacji i konfiguracji kom ponentów Javy. 2/6 www.pwt.et.put.poznan.pl Rys 1. Zintegrowane środowisko Eclipse do tworzenia kodu Javy SYMBIAN OS NARZĘDZIA DEWELOPERSKIE APLIKACJE SYSTEMOWE IMPLEMENTACJA UI 3rd PARTY IDE UI FRAMEWORK TEST UI USŁUGI APLIKACJI DOKUMENTACJA SDK API USŁUGI SYSTEMOWE NARZĘDZIA TESTUJĄCE SPRZĘTOWY FRAMEWORK EMULACJA ŚRODOWISKA ADAPTERY URZĄDZEŃ KOMPILATOR 3rd PARTY URZĄDZENIA ZEWNĘTRZNE URZĄDZENIA ZEWNĘTRZNE Rys 2. Schemat architektury blokowej systemu operacyjnego Symbian [3] 3.2 SYMBIAN Framework Symbian został opracowany jako sys tem operacyjny, który pozwalałby na tworzenie apli kacji dla telefonów komórkowych w języku C++ lub Java. Jedną z pierwszych serii telefonów działających pod kontrolą Symbiana była Nokia Communicator, która miała arkusz kalkulacyjny, edytor tekstów i roz budowany program klienta poczty e-mail. Nowe modele telefonów działające pod kontrolą Symbiana (np. Nokia 7650) przy użyciu odpowiednich aplikacji pozwalają np. na odtwarzanie sekwencji filmowych czy też używa nie edytorów tekstu zbliżonych swoją funkcjonalnością do Microsoft Word. Software framework to prawie kom pletny, nie stworzony do końca system oprogramowa nia, powstały w celu tworzenia jego instancji. Definiuje architekturę dla rodziny podsystemów, dostarczając jed nocześnie podstawowych elementów do ich budowy. Pozwala również zdefiniować miejsca, w których na leży dokonać ich modyfikacji przystosowujących je do konkretnych zastosowań. W programowaniu obiek towym na software framework wykorzystuje się zestaw klas i klas abstrakcyjnych do tworzenia aplikacji. Two PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005 rzenie instancji takiego framework’u polega na kom pozycji i dziedziczeniu jego klas. Mówiąc krótko, fra mework to zestaw działających razem klas, tworzących schemat do budowania określonego rodzaju oprogramowania [3]. Konsorcjum Symbian tworzy i licencjonuje system operacyjny dla zaawansowanych telefonów komór kowych, będący światowym standardem przemysłowym w tej dziedzinie. Z licencji korzystają tacy wiodący na rynku producenci telefonów jak: Motorola, Nokia, Siemens i Sony Ericsson. Celem konsorcjum Symbian jest stworzenie globalnego rynku dla telefonów z sys temem operacyjnym Symbian, poprzez umożliwienie li cencjobiorcom tworzenia odnoszących sukces produk tów. Konsorcjum Symbiana (do którego należą czołowi producenci telefonów) udziela licencji na system, dzięki czemu na rynku pojawia się coraz więcej telefonów z tym systemem. Firmy, które posiadają najwięcej udziałów w konsorcjum Symbiana to Nokia oraz PSION. W środowisku Symbiana dostępny jest również interpreter Javy, dzięki któremu możliwe jest urucha mianie aplikacji J2ME. 3/6 www.pwt.et.put.poznan.pl Rys 3 Środowisko deweloperskie Microsoft Embedded Vc++ 4.0 3.3 EMBEDDED VISUAL C++ Embedded Visual C++ stanowi rozdzieloną wersję popularnego środowiska programistycznego umożli wiającą szybkie tworzenie wysoce niezawodnych i bogato wyposażonych aplikacji. Produkt ten to coś więcej niż kompilator. Zawiera bowiem obszerną bibliotekę Microsoft Fundation Classes, która upraszcza proces tworzenia aplikacji. W oparciu o ten sam kod, który znajduje się w systemie Windows CE, system Em bedded pozwala deweloperom aplikacji osadzonych na wybieranie tylko potrzebnych funkcji dla zindywiduali zowanych urządzeń osadzonych. Umożliwia to szybkie konfigurowanie, tworzenie i rozmieszczanie inteligen tnych rozwiązań. Zawarte w tym projekcie Developer Studio (rys. 3), które w sposób graficzny prezentuje całą strukturę apli kacji, już w momencie jej tworzenia. Całkowicie zinte growane narzędzie do usuwania błędów pozwala na na tychmiastowe sprawdzenie każdego szczegółu podczas wykonywania programu. Oprócz tego, Embedded Visu al C++ posiada ogromną liczbę funkcji umożli wiających pisanie aplikacji na najwyższym poziomie, przy wykorzystaniu wszelkich stosowanych obecnie technik języka C++ [4]. 3. 4 FLASH LITE Przedstawione do tej pory środowiska umożli wiające projektowanie aplikacji wbudowanych opierały swoje działanie głównie na tworzeniu kodu źródłowego programu, a następnie na jego kompilacji. Technologia Flash Lite wyraźnie się od nich różni dając do dyspozy cji użytkownikowi możliwośc tworzenia aplikacji przy użyciu grafiki wektorowej i specjalnego języka skryp towego Action Script. PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005 Flash Lite to produkt firmy Macromedia, która jest obecnie liderem w dziedzinie tworzenia takich aplikacji mobilnych. W rzeczywistości Flash Lite jest nieodpłatną nakładka na popularny program do tworzenia aplikacji internetowych FLASH. FLASH pozwala się koncen trować projektantowi na tworzeniu, bez zaprzątania sobie głowy sprawami technicznymi. Dzięki podobnym powodom dokumenty HTML i budowanie strony zy skały tak dużą popularność wśród użytkowników Inter netu. 3.4.1 ANATOMIA PROGRAMU Wszystko co można wykonać za pomocą programu FLASH, nosi nazwę filmu (ang. Movie Clip), nawet je śli jest to tylko jeden obrazek. Każdy film składa się z klatek. Liczba klatek w filmie może być dowolna, po dobnie jak prędkość jego odtwarzania. Liczba scen (film w filmie) także nie jest ograniczona. Wszystkie klatki i sceny są rozmieszczane w odpowiedniej kolejności wzdłuż linii czasowej (ang. Timeline). Pojedyncze klatki mogą się składac z obiektów (ang. Objects), grup (ang. Groups), nakładek (ang. Overlays), symboli (ang. Sym bols) i tła (ang. Background) oraz dźwięków (ang. Sounds). Prezentacje zrealizowane przez FLASH są dynamiczne i można je uruchamiać w prawie każdym systemie operacyjnym. FLASH pozwala zrealizować takie elementy aplikacji jak wstawianie tekstu, obrazu, odośniki czy tabele. Ponadto obsługuje warstwy (Ang. Layers), które umożliwiają w bardzo łatwy sposób na pozycjonowanie elementów w dokumencie. Bardzo wa żną cechą tego programu jest również możliwość osa dzania dowolnych czcionek w dokumencie. 4/6 www.pwt.et.put.poznan.pl Rys 4. Zintegrowany środowisko firmy Macromedia dostępne do tworzenia aplikacji Flash Lite [2] 3.4.2 WŁAŚCIWOŚCI TECHNOLOGII FLASH LITE Dzięki technologii Flash Lite można tworzyć wy soko wydajne, pełnoekranowe, animowane interaktywne aplikacje. O samym FLASHu można powiedzieć, że charakteryzuje go [5]: • praktycznie uniwersalny standard odtwarza nia; moduł odtwarzania, który pozwala wyświetlać publikacje zrealizowane w tech nologii Flash Lite, jest dostępny nieodpłatnie na większość urządzeń mobilnych, • prędkość, która pozwala na płynne wyświetlanie pełnoekranowych animacji, składających się z kilkunastu scen w czasie krótszym niż 10 sekund; możliwe to jest do zrealizowania dzięki wektorowemu opisowi obiektów znajdujących się w scenie; instruk cje opisujące obiekty są przechowywane w postaci odpowiednich formuł matematycz nych, dzięki czemu pliki wykonywalne swf (ang. Shock Wave) posiadają małą wielkość, • wysoka jakość obrazu i tekstu – grafika wek torowa opisuje sposób, w jaki obraz ma zostać stworzony; obraz taki wygląda zawsze najlepiej na danym urządzeniu; dodatkowo wprowadzenie antialiasingu pozwala to uzy skać efekt wygładzenia krawędzi poszczegól nych obiektów, • skalowalność jest główną zaletą grafiki wek torowej, gdzie zmiana kształtu w obrazie nie wpływa na jego jakość wyświetlania, • szybkość tworzenia – proces tworzenia apli kacji przebiega od początku do końca w jed nym środowisku (przetwarzanie grafiki, PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005 dźwięku, tekstu, oprogramowywanie kom ponentów), • łatwość użycia – dzięki technologii prze ciągnij i upuść (ang. Drag and Drop) użyt kownik może w prosty sposób szybko two rzyć i modyfikować elementy aplikacji. Oczywiście FLASH to nie tylko idealne środowisko do tworzenia aplikacji. Ma pewne wady, które początku jącym użytkownikom sprawiają trochę kłopotu. Miedzy innymi jest to: • korzystanie z linii czasowej, która wymusza od projektanta poruszanie się wzdłuż jej po szczególnych klatek, • ograniczony zestaw wbudowanych funkcji, które dla początkujących programistów mogą nie być wystarczające. 4. WNIOSKI W pracy przedstawiono charakterystyki ogólnodo stępnego oprogramowania, które umożliwia w prosty sposób tworzenie aplikacji na przenośne urządzenia komunikacyjne. Dzięki zwiększeniu mocy obli czeniowych oraz umieszczaniu opcjonalnych pakietów oprogramowania przenośne urządzenia mobilne śmiało mogą konkurować z urządzeniami typu desktop. Za prezentowane aplikacje stanowią główne narzędzia do stępne w sposób nieodpłatny dla rozwoju rynku aplikacji osadzonych. Nie istnieje jedno, idealne rozwiązanie spełniające oczekiwania wszystkich klientów. Programowanie w języku C++ bywa najlepszym wyborem, kiedy trzeba na pisać niewielką, bardzo wydajną aplikacje dla konkret nego urządzenia mobilnego, natomiast Java może naj lepiej spełniać potrzeby średnich aplikacji biurowych 5/6 www.pwt.et.put.poznan.pl oraz małych aplikacji multimedialnych. Środowisko fir my Macromedia dostarcza do tworzenia rozwiązań mobilnych języka programowania Action Script oraz wiele innych narzędzi (graficznych), które pozwalają zminimalizować trudności związane z rozpoczynaniem projektu. Dzięki łatwym kreatorom i narzędziom do projektowania wizualnego przyspiesza to realizacje projektu i pozwala uniknąć dodatkowych kosztów wprowadzania poprawek na późniejszych etapach. Flash Lite przyspiesza tworzenie aplikacji dla szerokiej gamy urządzeń mobilnych oraz pomaga zintegrować je z istniejącymi procesami i systemami. Flash Lite stanowi obecnie jedną z najbardziej „gorących” technologii mobilnych. Wiodące korporacje wykorzystują na swych aplikacjach możliwości grafiki do promocji własnych marek. Jako aplikacja służąca do tworzenia wek torowych animacji, Flash stanowi jednocześnie do skonałe narzędzie pomocne przy projektowaniu efektow nych, ale jednocześnie ekonomicznych aplikacji, pełnych animacji, dźwięku i interaktywności. Właściwie Flash Lite staje się powoli standardem w tworzeniu dynamicznego przekazu, dostępnego przy wykorzystaniu prawie dowolnych platform sprzętowych. Urządzenia mobilne, a co za tym idzie przeznaczone na nie aplikacje - są coraz popularniejsze na rynku IT. Klientami są nie tylko firmy, ale i odbiorcy indywidual ni. Użytkowe aplikacje mobilne stają się coraz bardziej rozbudowane, oferują coraz więcej możliwości swoim użytkownikom [7]. Natomiast użytkownicy powinni sta wiać aplikacjom mobilnym coraz wyższe wymagania, zarówno wobec funkcjonalności jak i sposobu ich obsłu gi. LITERATURA [1] http://java.sun.com - dokumentacja w wersji elektronicznej oraz narzędzia i specyfikacja dla platformy Java 2 Micro Edition firmy Sun Microsystems, 2005. [2] http://www.eclipse.org - witryna internetowa grupy standaryzacyjnej dla środowiska Eclip se, 2005. [3] http://www.symbian.com - witryna internetowa Konsorcjum Symbian, 2005. [4] http://www.microsoft.com - witryna interne towa firmy Microsoft producenta programu Embedded Visual C++ 4.0, 2005. [5] http://www.macromedia.com - witryna interne towa producenta programu FLASH Macrome dia, 2005. [6] K. Topley, „J2ME – Almanach”, Wydawnictwo Helion, Gliwice, 2003. [7] E. Smitkowska, „IT w kieszeni – rynek urządzeń mobilnych”, Software Developer’s, 2005. PWT 2005 - POZNAŃ 8-9 GRUDNIA 2005 6/6