Před pár dny byl uvolněn Windows Mobile 6.5 Developer Kit, což je první sada nástrojů pro vývoj aplikací pro Windows Mobile 6.5. Trochu jsem si s ním hrál a docela mě zaujala možnost psát widgety.
Widget je jednoduchá aplikace napsaná v HTML, CSS a Javascriptu, může komunikovat po Internetu pomocí technologie AJAX a umí pár dalších věcí. Není to samozřejmě na psaní velkých programů, ale na jednoduché věci typu zobrazovátko na počasí, jízdní řády nebo tak to bohatě stačí.
Zvládne to každý, kdo umí HTML a nebojí se Javascriptu, poněkud stručný návod je zde. Microsoft se ovšem rozhodl chytře implementovat již hotový standard W3C a nevymýšlel svůj. Dokumentace na MSDN i na W3C je ovšem pofidérní - na MSDN zatím pořádně není (a možná ani nebude, když ji má W3C), a W3C ji má v kvalitě typické pro sebe samo.
Ne, že by to bylo špatně zdokumentováno, ale občas jsem se nad některými věcmi pozastavoval, mohly by být napsány lépe a výstižněji. Místo vět typu “funkce by měla vracet nejlépe blablabla” bych uvítal raději věty typu “funkce musí vrátit blablabla” nebo “funkce vrací blablabla”. Takhle to vypadá, jako kdyby už při psaní té normy předpokládali, že to někdo naimplementuje blbě.
Psát aplikace v HTML a Javascriptu může někomu připadat dost úchylné, mě to tak ze začátku taky přišlo. Ale ono to tak není. To, že starší Windows Mobile widgety neumí, je možná jeden z důvodů jejich stagnace. Modelová situace - potřebujete jednoduchou aplikaci, která jenom stáhne data z Internetu a nějak hezky je zobrazí. Pište to v C++. Jde to, ale není to ono. Pište to v .NETu. Lepší, u jednoduché aplikace nevadí, že to je pomalejší. Anebo to napište v HTML, které je na tohle dělané. Prezentační možnosti HTML a CSS jsou řádově lepší než u WinForms, kde není úplně triviální zobrazit dokument plný formátovaného textu a obrázků. A patlat se se scrollováním a vykreslováním toho všeho, pokud je to trochu více grafiky, je také dost zbytečná práce.
Na malé a jednoduché aplikace mi widgety přijdou ideální, té logiky a javascriptu, se kterým by se člověk měl vztekat, tam moc není a napsané to mám hned, během dvou nebo tří hodin.
Protože jsem si chtěl vyzkoušet Twitter API, napsal jsem jednoduchý widget, který podporuje umí publikovat příspěvky a zobrazovat aktuality z Twitteru. Jednoduché a snadné, jako ukázkový příklad to dávám ke stažení, můžete si s tím hrát, upravovat, vylepšovat, přidávat fičury atd.
(pokud se chcete podívat na zdrojáky, změňte příponu na
zip a rozbalte)