Programowanie na małym ekranie

Tworzenie aplikacji przeznaczonych dla urządzeń przenośnych i systemów osadzonych jest dużym wyzwaniem dla programistów przyzwyczajonych do platform PC. Wymagana jest umiejętność oszczędnego gospodarowania zasobami, cecha rzadko spotykana wśród autorów współczesnych aplikacji dla komputerów osobistych.

Tworzenie aplikacji przeznaczonych dla urządzeń przenośnych i systemów osadzonych jest dużym wyzwaniem dla programistów przyzwyczajonych do platform PC. Wymagana jest umiejętność oszczędnego gospodarowania zasobami, cecha rzadko spotykana wśród autorów współczesnych aplikacji dla komputerów osobistych.

Programowanie na małym ekranie

Microsoft oferuje rozbudowany pakiet emulacyjny. jest Dostępny specjalny motor, pod który podpina się pliki ISO z wersją emulatora - Windows CE 2.11, Pocket PC, Pocket PC 2002 lub SmartPhone

Przy tworzeniu oprogramowania dla komputerów osobistych praktycznie już nie optymalizuje się kodu pod względem zużycia pamięci. Rzadko optymalizuje się komponenty biznesowe na tak niskim poziomie, wychodząc ze skądinąd słusznego założenia, że znacznie ważniejsza jest odpowiednia architektura. Tymczasem zarówno systemy typu embedded, jak i urządzenia PDA ponownie stawiają przed programistami te same surowe wymagania, jakie obowiązywały na początku lat 90., a nawet wcześniej.

W przypadku systemów osadzonych ważne jest optymalne (zwykle najszybsze) wykonanie algorytmu czy obsłużenie dużej liczby żądań przy określonych zasobach pamięci. Na platformach PDA programista ma do dyspozycji kilkanaście megabajtów pamięci RAM (maksymalnie ok. 64 MB), w których musi się zmieścić system operacyjny, dane i wiele aplikacji. Nawet jeżeli do urządzenia można podłączyć rozszerzenie pamięci, zwykle jest to kosztowane i wymaga czasochłonnego przełączania bloków.

Zasadniczą kwestią, która różni platformy mobilne od tradycyjnie pojmowanych komputerów osobistych, jest interfejs użytkownika. Od wygody interfejsu w dużej mierze zależy, czy aplikacja przenośna odniesie sukces rynkowy.

Twarde programowanie w C/C++

Kompilator GCC (dokładniej: kolekcja narzędzi GNU w tym assembler, linker, kompilator C/C++ i prosty debugger) jest dostępny na każdą platformę sprzętową. Z nim jest powiązanych wiele narzędzi wspomagających tworzenie oprogramowania na poszczególne platformy. Na przykład prc-tools jest zestawem aplikacji pozwalających na pisanie programów dla Palm OS. Doskonale integruje się z pakietem SDK Palm 5 i można go traktować jako podstawowe narzędzie programisty C/C++, który chce pisać programy dla nowych wersji komputerów Palm.

Metrowerks, producent pakietu Code-Warrior, oferuje szeroką gamę kompilatorów dostosowanych do różnych platform typu embedded, opartych na wspólnym środowisku IDE. Firma oferuje wyspecjalizowane kompilatory, np. do poszczególnych procesorów DSP czy dla systemu QNX. Jest także dostępne środowisko dla rozwiązań osadzonych wykorzystujących Linuxa. CodeWarrior to klasyczny cross-kompilator, w którym rozwój aplikacji odbywa się na platformie Windows, a kod jest tworzony na docelowe urządzenie lub procesor. Code-Warrior ma bardzo rozbudowane możliwości podłączania mechanizmów współpracujących z debuggerem. Praktycznie można podłączyć docelową platformę za pośrednictwem portu szeregowego (lub zastosować emulator) i wykonywać krok po kroku program, obserwując zawartość zmiennych i rejestrów danego procesora.

Od niedawna Borland oferuje nakładkę na C++ Builder 6, która pozwala tworzyć aplikacje dla systemu operacyjnego Symbian zgodnie z wytycznymi zawartymi w Nokia Series 60 SDK. Z punktu widzenia programisty, po zainstalowaniu nakładki, w środowisku C++ Builder pojawia się nowy typ projektu o nazwie Mobile Application. Pozostałe elementy są takie same. Można używać mechanizmów typu BizSnap i DataSnap, tak jak przy pisaniu "dużych" aplikacji. Emulator uniwersalnego urządzenia zgodnego z telefonami z serii Nokia 60x jest zintegrowany z C++ Builder i programista może śledzić pracę programu, a także innych aplikacji tworzonych w tym środowisku. To bardzo wygodny sposób rozszerzania C++ Builder, ponieważ programista ma do dyspozycji pełne możliwości RAD.

Microsoft bezpłatnie udostępnia zestaw narzędzi MS Embedded Visual C++ (3.0) przeznaczony do tworzenia aplikacji dla i dowolnego urządzenia opartego na Windows CE 3.0/4.x. Ponadto są oferowane pakiety SDK do Pocket PC 2000/2002 i SmartPhone (wtedy w środowisku IDE pojawiają się dodatkowe typy projektów). Emulator w Pocket PC 2002 SDK jest symulacją wzorcowego urządzenia typu CEPC (platforma referencyjna). Co ciekawe, w emulatorze można łatwo wymieniać bazowe systemy operacyjne, zmieniając ich wersje językowe OS. Można też wygenerować nowy "obraz" systemu, używając narzędzia Platform Builder.

Przy tworzeniu aplikacji dla Pocket PC 2000/2002, SmartPhone 2002 i bazowego systemu Windows CE można wykorzystywać zarówno Win32 API, jak i biblioteki typu MFC i ATL. Są dostępne podobne narzędzia, takie jak w wersji Visual C++ dla komputerów osobistych.

Częścią Microsoft Embedded Tools jest kompilator Visual Basic. Wtedy na komputerze PocketPC jest instalowany kilkusetkilobajtowy interpreter, a program jest kompilowany do p-kodu. Funkcjonalnie praca z Embedded Visual Basic bardzo przypomina pracę z Visual Basic 6.0.


TOP 200