Epoc SDK - programujeme pro Psiona

Naprogramujte si vlastní aplikaci.
Celý komplet se skládá z dvou CD médií. První obsahuje skutečně velmi podrobnou dokumentaci (jen občas narazíte na lakonickou poznámku no documentation). Ta nejenže poskytuje detailní informace o všech zákoutích OS EPOC32, ale zárověn je doplněna příklady. Ty jsou mnohdy velmi rozsáhlé. Ve verzi, kterou mám k dispozici byly k dispozici zdrojové kódy aplikace WORD. Navíc celou dokumentací prolíná po krocích vysvětlený vývoj složitější aplikace. Zde to je Lloydova šestnácka nazvaná BOSS. Kromě příkladů a dokumentace však toto CD zahrnuje i užitečné programy. Ať již např. EPOCinst (jakási obdoba windowsovského Install Shield Wizardu) nebo velmi výkonný a užitečný program WINS. Nejedná se o nic jiného než o emulátor PSIONA5. K němu jsou zahrnuty všechny standartní PSION aplikace.

Obr 1. - obrazovka emulátoru WINS
Obrazovka emulátoru EPOC systému pro Windows - takhle se dělá SDK.

Pozor však na Webbrowser a Email clienta . Jejich spuštění vám zhroutí systém (Na to jste však upozorněni přímo v dokumentaci, je jen potřeba si jít opravdu důkladně přečíst příp. tyto poznatky získat empiricky jako já). Na WINS je možno testovat Vámi vytvořené aplikace. Příp. pro tvorbu user-friendly SW použijte aleppo. Ten obstarává uživateli nápovědu přičemž texty je možné dodat ve Wordu příp. RTF formátu. Jen pro pro pořádek připomínám, že k vlastnímu přenosu je třeba komunikační SW např. CONNECT.

Celá dokumentace je psána jak jinak než v HTML. Je skutečně velmi přehledná. Škoda jen, že si s ní můj NETSCAPE 3.0 neporadil a tak bylo nutno šáhnout po MS Internet Exploreru, ačkoli ke netscape uveden jako možný prohlížeč. Kromě webového prohlížeče je potřeba vlastnit např. Pentium 133 a výšší, 300 MB HDD free a 32MB ram (takto je to uváděno v dokumentaci.

Nyní se dostaneme k vlastnímu vývoji aplikací. Tento SDK je postaven na ANSI C. Doporučeny jsou verze 4 a 5 MS Visual C++ a to professional a enterprise edice. Dovolím si tvrdit, že právě touto orientací je teď skutečně velmi jednoduché vytvářet aplikace pro EPOC32. Pro svoji práci máte k dispozici kromě standartních knihoven C i speciální knihovny. Do Vašeho C doinstalujete resorce kompiler (ten je samozřejmě součástí dodávky). Při samotné kompilace je pak třeba rozlišit cílovou platformu , přímo pro PSIONA použijete MARM (pro rodinu procesorů ARM7100), příp. volíme jako cílovou platformu WINS. Základní filozofie je následující: program stvoříme na plattformě WIN(kompilujeme pro WINS) a teprve na závěr ho přeneseme na skutečnou cílovou platformu. Ovšem reálně nastává nutnost přenosu a odzkoušení programu již v dřívějších fázích. Proč ?? Práce na WINS se skutečně blíží k reálu ale... myš se nechová zcela jako pen (nepovede se vám např. double-click, příp. drag-drop); aplikace je po přenosu nepřehledná a neovladatelná.

Mluvil jsem o speciálních knihovnách. Zde bych se rád zastavil a ukázal co vše je možné ovládat. Jádrem je základní velmi rozsáhlá knihovna E32 (viz obr. 2). Zde je popis jejích základních komponent......

  • Basic types - popisy dat. typů + typedef pro definici implement. nezávislých typů
  • descriptors - struktury pro práci s buffery, pointery a haldou (realokovatelný buffer)
  • Cleanup suport - ulehčení vývojáři, elegantní správa paměti (velmi vhodné, pracujete -li s omeyenými zdroji)
  • Threads and processes - práce s procesy, meziprocesová komunikace
    - struktura podobná WIN, proces je "uzavřená" entita
  • Client/Server Framework - některá zařízení či služby systému nemohou být využita procesem přímo ale využívají server, použití takovéto technologie navíc ulehčuje práci aplikačnímu programátorovi v tom, že zařízení ovládá pomocí jednoduchých metod a ostatní práci nechává na virtuálním serveru
  • Timers - netřeba rozsáhlejšího komenmtáře, potřebuju operovat s časem v aplikaci (pravidelné updaty čehokoli např. hodin) využijte timer
  • Unique IDs - asi nejzajímavější část a zajímavý postup firmy PSION - proč poznávat typ souboru podle extenze , data či knihovny mají hlavičku, pomocí funkcí knihovny E32 jednoduše zkontrolujete, zda uživatelem dodávaný soubor na vstupu je správného typu atd.....
    Co je na tom tak zajímavého??? Přidělování UID řídí centrálně firma PSION, je tedy možné identifikovat soubor využívající těchto služeb, o jaká data se jedná, která aplikace je schopna ho využít....

    Navíc v systému EPOC32 existuje tzv. registr (obdoba WIN95 registru), data v registru jsou vrácena na základě ID

  • Input/output - IO operace samozřejmě přes ovladač zařízení
  • Locale - v podstatě definujete rozdíl své země oproti VB (Velké Británii)
  • Graphics support - objektově orientovaná knihovna pro práci s grafikou
    - malá zmínka o GUI (Graphic user interface) - OS OPEC32 obsahuje standartní GUI EIKON, ale protože je to univerzální systém navrhovaný s ohledem na podporu různých zařízení (a to dle mého názoru WIN CE nejsou) u kterých se předpokládá absence klávesnice příp. jiné zvláštnosti je možné velmi jednoduše OS OPEC32 portovat i na ně pouhou výměnou GUI

    Bohužel k částem (oblastem) SECURITY a LEXER obsáhlejší dokumentace chybí, o Lexer je jen zmínka, že se jedná slovní analyzátor, je využíván např. mým oblíbeným jazykem OPL

    Obr 2. - základní komponenty knihovny E32

    Možná nejzajímavější částí je popis možností komunikace na OPEC32. Ten podporuje následující

  • sériovou a infračervenou komunikaci (podle standartů IrDa a IrCOMM)
  • protokol TCP/IP
  • dial-up připojení a PPP
  • email
  • fax

    Samozřejmostí je SW podpora. K dispozici je Mesage Suit (viz recenze zde). Tento balík zahrnuje Web a EMAIL klienta. Popis těchto částí snad v recenzi Ir propojení Ericssona (DI-27) s PSIONEM.

    Takže zpět k příkladům, zejména pak k BOSS Puzzle. Tady je praktická ukázka běžící pod WINS.

    Obr 3. - Obrázek ze hry BOSS Puzzle

    BOSS puzzle

    S nástupem jazyka C na platformu PSION mají dnes vývojáři možnost pracovat ve výkonném jazyku pro výkonnou platformu. Operační systém OPEC navíc získává důležitou podporu velkých firem, které se rozhodli ho montova do svých zařízení. Billova vize Windows (CE) everywhere tak nabírá vodu.

    Demoverze WINS na www.psion.com sekce Free SW/PC