XHTML v mobilnφch telefonech
Nov∞jÜφ mobilnφ telefony pou₧φvajφ WAP verze 2.0 a znaΦkovacφ jazyk XHTML. P°inßÜφ to vφce mo₧nostφ p°i formßtovßnφ strßnek pro wapovΘ prohlφ₧eΦe - m∙₧eme nejen pracovat s kaskßdov²mi styly, ale takΘ vytvß°et seznamy a t°eba p°ipravit formulß° s tlaΦφtkem. Komfortnφ editaci pak poskytuje nap°φklad Nokia Mobile Toolkit.
V souvislosti s mobilnφmi telefony a pot°ebn²mi technologiemi p°ichßzφ ke slovu takΘ znaΦkovacφm jazyk XHTML-MP (Mobile Profile). Tento odchovanec XML umo₧≥uje, ve srovnßnφ s klasick²m WML jazykem pro p°φpravu wapov²ch strßnek, upravovat obsah pro mobilnφ telefony s v∞tÜφmi mo₧nostmi. N∞kte°φ odp∙rci miniaturnφch displej∙ mo₧nß budou oponovat, ₧e to nemß p°φliÜ smysl, kdy₧ novß verze WAP 2.0 a XHTML "chodφ" zatφm jen v prohlφ₧eΦφch n∞kter²ch mobil∙. To je pravda, proto₧e mobily od r∙zn²ch v²robc∙ se opravdu liÜφ a i kdy₧ byly novΘ vlastnosti p°ece jen v n∞kter²ch modelech implementovßny, nemusφ v₧dy fungovat. P°esto vÜak v²voj sp∞je k XHTML pro jeho nepopφratelnΘ v²hody, z nich₧ n∞kterΘ jsou p°edm∞tem Φlßnku.
Co je t°eba dodr₧et?
Ne₧ se dostanu na n∞kterΘ "lah∙dky" verze WAP 2.0, kterß pracuje se zdrojov²m k≤dem XHTML-MP, poklßdßm za nutnΘ znovu zd∙raznit, ₧e XHTML podporuje zp∞tn∞ zobrazovßnφ strßnek klasick²ch WML. Tak₧e nenφ t°eba se obßvat, ₧e je nov∞jÜφ mobily nep°ijmou. Na poslednφ Φlßnek o WAPu jsem takΘ dostal n∞kolik rozzloben²ch e-mail∙ s p°ipomφnkami, ₧e wapovΘ strßnky (u nich₧ byl pou₧it zdrojov² k≤d XHTML) se na webovΘm serveru nezobrazujφ. ProblΘm je v tom, ₧e provoz strßnek XHTML na webovΘm serveru nestaΦφ nakonfigurovat pouze pro WML! Nap°φklad soubory s dynamick²mi strßnkami v PHP pou₧φvajφ p°φponu .php, kterß vÜak (na rozdφl od .htm a dalÜφch) nic ne°φkß o obsahu souboru. Proto je nutnΘ pou₧φt definici MIME-Type, nebo takΘ Content-Type. Navφc konkrΘtnφ typ souboru (nap°φklad obrßzek) nemusφ b²t v∙bec definovßn, tak₧e nenφ jasnΘ, co se s nφm mß ud∞lat. DoporuΦuji proto autor∙m, aby sami definovali asociace MIME-type pro strßnky psanΘ v XHTML. Nap°φklad ve Windows XP to provedeme takto:
- Z menu "Start" aktivujte | Ovlßdacφ panely | Nßstroje pro sprßvu | Internetovß informaΦnφ slu₧ba |.
- Objevφ se okno "Internetovß informaΦnφ slu₧ba", v n∞m₧ klikn∞te v levΘm sloupci prav²m tlaΦφtkem myÜi na slo₧ku "WebovΘ servery".
- V dalÜφm okn∞ "WebovΘ servery - vlastnosti" klikn∞te na zßlo₧ku "HlaviΦka HTTP".
- PotΘ v oddφle "Mapovßnφ MIME" aktivujte tlaΦφtko "Typy soubor∙" a zde m∙₧ete pomocφ tlaΦφtka "Nov² typ" p°idat nov² typ souboru MIME.
WAP 2.0
Nejprve malΘ shrnutφ. Technologie Wirless Application Protokol (WAP), kterou mßme zavedenou v mobilnφm telefonu, nßm umo₧≥uje Φφst internetovΘ strßnky, odesφlat e-maily, obchodovat, objednßvat si v knihovn∞ publikace a mnoho dalÜφho. WAP protokol je otev°en² globßlnφ standard pro komunikaci mezi mobilnφm p°φstrojem a internetem, nebo jinou poΦφtaΦovou aplikacφ. Vyu₧φvß znaΦkovacφ jazyk Wireless Markup Language (WML), k°φ₧ence HTML a XML. Prvnφ specifikace WAP vyÜla v roce 1998 (Organizace WAP f≤rum). Od Φervence 2000 platφ verze WAP 1.3.
PoΦßtkem roku 2001 byla zve°ejn∞na verze WAP 2.0, kterß u₧ vyu₧φvß pln∞ jazyk XHTML. Ten je flexibiln∞jÜφ ne₧ WML, p°inßÜφ programßtorovi v∞tÜφ mo₧nosti, z nich₧ t∞₧φ i koncov² u₧ivatel. Stejn∞ jako v p°φpad∞ WML lze dokumenty psanΘ v XHTML napojit na skriptovacφ jazyky (PHP, ASP a dalÜφ) a nap°φklad generovat strßnky p°φmo z databßze. Specifikace WAP 2.0 nenφ jeÜt∞ pln∞ rozÜφ°ena. Podporujφ ji pouze nov∞jÜφ mobilnφ telefony. Op∞t zd∙raz≥uji, ₧e ka₧d² wapov² prohlφ₧eΦ, kter² umφ zobrazovat XHTML, zobrazφ i strßnky psanΘ v k≤du WML. Podφvejte se na nßsledujφcφ tabulku, kterß ukazuje vyu₧itφ browser∙ WAP. (Uvßdφm pouze ty mobilnφ telefony, o nich₧ jsem m∞l mo₧nost zφskat informace, nebo kterΘ jsem testoval.)
ZnaΦka | Prohlφ₧eΦ - technologie | P°enos dat |
---|---|---|
Samsung T 100 | WAP 1.2.1 | CSD |
Samsung SGH-E700 | WAP 1.2.1 | GPRS |
Alcatel OT 535 | WAP 1.2.1 | GPRS |
Sony Ericsson P 800 | WAP 1.2.1 | GPRS |
Sony Ericsson Z600 | WAP 1.2.1 | GPRS |
Siemens M-55 | WAP 1.2.1 | GPRS |
Nokia 3510i | WAP 1.2.1 | CSD, HSCSD, GRPS |
Nokia 7700 | WAP 2.0/XHTML | CSD, HSCSD, GRPS |
Nokia 6600 | WAP 2.0/XHTML - JavaÖ MIDP 2.0/XHTML | CSD, HSCSD, GRPS |
Nokia 6230 | WAP 1.2.1, WAP 2.0 - JavaÖ MIDP/XHTML | CSD, HSCSD, GRPS, EGPRS |
Nokia 3650 | WAP 1.2.1/XHTML - JavaÖ MIDP | HSCSD, GRPS |
Nokia N-Gage | WAP 1.2.1/XHTML - JavaÖ MIDP/C++ | HSCSD a GPRS (2+2, 3+1) |
Kde zφskat informace o WAPu, vΦetn∞ nejnov∞jÜφ verze? Podrobnß dokumentace je k dispozici na www strßnkßch WAP forum.com, nebo takΘ na www strßnkßch otev°enΘho mobilnφho spolku Open mobile aliance (OMA). Tam zφskßte zdarma popis specifikace. Podmφnkou je pouze p°ihlßÜenφ se do centra, a to vypln∞nφm struΦnΘho formulß°e, naΦe₧ obdr₧φte e-mailem sd∞lenφ o p°φstupovΘm prßvu.
Vφce typ∙ seznam∙
Na rozdφl od znaΦkovacφho jazyka WML dokß₧e jazyk XHTML-MP zobrazovat v browserech mobilnφch telefon∙ r∙znΘ typy seznam∙. Stejn∞ jako v HTML lze pou₧φt element∙ <ol>, <ul>, <li>. Zde je ukßzka jednoduchΘho ΦφslovanΘho seznamu:
<!DOCTYPE html PUBLIC "-//NOKIA//DTD XHTML Mobile +CHTML 1.0//EN" "http://www.nokia.com/dtd/xhtml-mp-chtml.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Cislovany seznam</title>
</head>
<body id="main">
<p>
Ukßzka neΦφslovanΘho seznamu:
<ol>
<li>Prvni radek</li>
<li>Druhy radek</li>
<li>Treti radek</li>
</ol>
Ukßzka ΦφslovanΘho seznamu:
<ul>
<li>Prvni radek</li>
<li>Druhy radek</li>
<li>Treti radek</li>
</ul>
</p>
</body>
</html>
Jeliko₧ XHTML vychßzφ z jazyka XML, kter² pou₧φvß primßrn∞ k≤dovßnφ UTF-8, je pou₧ito takΘ v prvnφm °ßdku. Musφm vÜak poznamenat, ₧e mobilnφ telefony a brßny n∞kter²ch operßtor∙ toto k≤dovßnφ odmφtajφ. M∙₧eme sice pou₧φt takΘ jinß k≤dovßnφ, nap°φklad Windows-1250 nebo ISO-8859-2 (pro ΦeÜtinu), bohu₧el i v tak jde o nejistΘ °eÜenφ. Ne vÜichni naÜi operßto°i tato k≤dovßnφ akceptujφ, navφc je nepodporuje organizace WAP f≤rum. Prozatφm se zdß nejjist∞jÜφ psßt bez "hacku a carek". Nebo sice s diakritikou psßt, ale pφsmena nad rozsah ASCII p°evßd∞t na vyjßd°enφ entitami.
Vφce mo₧nostφ ve formulß°i
ZnaΦkovacφ jazyk XHTML nßm rovn∞₧ poskytuje v porovnßnφ s WML v∞tÜφ mo₧nosti p°i tvorb∞ formulß°∙. Pro odeslßnφ obsahu formulß°e m∙₧eme oproti WML pou₧φt navφc i tlaΦφtko. K jeho zobrazenφ tu slou₧φ blokov² nepßrov² element input, kter² se b∞₧n∞ pou₧φvß pro zobrazenφ textovΘho pole. V tomto p°φpad∞ je u elementu navφc hodnota submit, slou₧φcφ pro odeslßnφ dat:
<DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN"
"http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Formular s tlacitkem</title>
</head>
<body id="main">
<p>
<form method="get" action="stranka.xhtml">
Jmeno: <input type="text" name="jmeno"/><br/>
Heslo: <input type="password" name="heslo"/><br/>
<input type="submit" value="Odeslat"/>
</form>
</p>
</body>
</html>
Testovßnφ strßnek
Auto°i webov²ch strßnek to majφ celkem jednoduchΘ, staΦφ, kdy₧ si otestujφ v²sledek svΘ prßce na poΦφtaΦi pomocφ internetovΘho prohlφ₧eΦe. Tv∙rci strßnek pro mobilnφ telefony pot°ebujφ navφc k testovßnφ svΘ prßce simulßtory. Tyto nßstroje dokß₧φ pom∞rn∞ v∞rohodn∞ simulovat, jak se bude skuteΦnß wapovß strßnka chovat na mobilnφm telefonu. V souΦasnosti lze z internetu zφskat originßlnφ simulßtory nap°φklad spoleΦnostφ Nokia, Ericsson a Motorola. Je dobrΘ mφt v poΦφtaΦi alespo≥ dva kontrolnφ prohlφ₧eΦe, v nich₧ bychom m∞li svΘ strßnky testovat.
K nejznßm∞jÜφm v²vojov²m nßstroj∙m pat°φ Nokia Mobile Internet Toolkit (NMIT), momentßln∞ dodßvan² u₧ ve ΦtvrtΘ verzi. U₧ivatel v n∞m m∙₧e pracovat jak s editorem zdrojovΘho k≤du, tak i se simulßtorem Nokia Mobile Browser. Ten v²vojß°i ukß₧e, jak bude vypadat editovanß strßnka na skuteΦnΘm mobilnφm telefonu s WAP prohlφ₧eΦem. K dispozici jsou p°φklady zdrojov²ch k≤d∙ strßnek (WML, XHTML-MP) a takΘ p°edp°ipravenΘ Üablony.
Nokia Mobile Internet Toolkit je vlastn∞ cel² soubor editor∙ a simulßtor∙. M∙₧ete se rozhodnout pro simulaci strßnky od nejjednoduÜÜφch mobilnφch telefon∙ s podporou WAP Nokia °ady 6200 a °ady 7100 (pro WML 1.1 a 1.2) a₧ k nejnov∞jÜφm typ∙m, jejich₧ browser pracuje s WAP 2.0 a XHTML. StaΦφ zadat cestu k dokumentu a emulßtor se zaΦne chovat jako klasick² telefon. Pokud zjistφ nesprßvnou syntaxi, upozornφ vßs a zßrove≥ oznßmφ, na kterΘm °ßdku a k jakΘ chyb∞ doÜlo. Dokß₧e rovn∞₧ zobrazit zkompilovan² zdroj, a to v podob∞ zdrojovΘho textu, nebo ve stromu element∙. SouΦßstφ NMIT je i velmi obsßhlß dokumentace, rozd∞lenß do t°φ kapitol, na pr∙vodce u₧ivatele, v²vojß°sk² manußl a manußl pro wap-designΘry.
Program v angliΦtin∞ je freeware. Podmφnkou vÜak je, aby se zßjemce na strßnkßch NOKIA Forum registroval jako WAP developer (wapov² v²vojß°). Po registraci mßte ihned p°φstup ke sta₧enφ veÜkerΘho WAP software. Nezapome≥te ale p°ed vlastnφm sta₧enφm aplikace po₧ßdat na p°φsluÜnΘ webovΘ strßnce NOKIA o p°id∞lenφ k≤du, kter² vßm bude zaslßn e-mailem.
Je vÜak t°eba poΦφtat s tφm, ₧e mobily r∙zn²ch v²robc∙ p°istupujφ k simulaci strßnek r∙zn∞. Tak₧e ₧ßdnß prochßzka po zelenΘ louce! To platφ i pro v²vojovΘ nßstroje, n∞kterΘ nemajφ tuto zßle₧itost v∙bec oÜet°enu. Mnoho simulßtor∙ nap°φklad nebere v potaz velikost strßnky. Autorovi se sice jeho strßnka zobrazuje v simulßtoru dob°e, ale ouha, pokud ji zobrazφ na konkrΘtnφm mobilnφm telefonu, nestaΦφ se divit. ╚asto se v n∞m objevφ hlßÜka o chyb∞ nebo zm∞¥ n∞jak²ch k≤d∙.
Rozhodujφcφ je velikost k≤du, kter² vstupuje do mobilnφho telefonu z wapovΘ brßny. Ta toti₧ do jistΘ mφry zpracuje p∙vodnφ strßnku tak, ₧e jejφ velikost snφ₧φ. To je zvlßÜt∞ aktußlnφ u dynamicky generovan²ch strßnek, kterΘ zobrazujφ data p°ichßzejφcφ z databßze, proto₧e se nemusφ do prohlφ₧eΦe vejφt. Ve skriptu proto musφme na to pamatovat a pou₧φt navigaci typu "DalÜφ strßnka". Prost∞, vyhledßvßnφ rozd∞lφme do n∞kolika deck∙ a zßle₧itost velikosti p∙vodnφ strßnky je vy°eÜena.
N∞kterΘ nov∞jÜφ v²vojovΘ nßstroje dokß₧φ programßtorovi sd∞lit, jak je zßkladnφ strßnka velkß. Upozornφ autora, pokud velikost souboru p°esßhne doporuΦovanou hranici 1 397 bajt∙. Nejnov∞jÜφ mobilnφ telefony sice zobrazujφ strßnky o velikosti a₧ do 3 000 kB, pro jistotu je vÜak nutno stßle poΦφtat s touto minimßlnφ hranicφ.
WAP na vzestupu
Kdy₧ shrnu p°edchozφ informace, musφm p°iznat, ₧e WAP zdaleka nenφ do°eÜenou technologiφ. Nehled∞ k tomu, ₧e existujφ rozporuplnΘ nßzory pro i proti. Nespornou v²hodou tΘto technologie je ovÜem vyu₧φvßnφ informaΦnφch slu₧eb kdykoliv a kdekoliv, co₧ mnozφ u₧ivatelΘ oce≥ujφ jako velmi praktickΘ. A kdy₧ vidφm Ükolßky, t°eba s hernφ konsolφ Nokia N-Gage, nemohu se zbavit dojmu, ₧e WAP op∞t siln∞ boduje. U₧ to nenφ ÜedΘ nep°ita₧livΘ okΘnko, tento stroj mß vynikajφcφ barevnΘ zobrazenφ podporujφcφ XHTML. Tv∙rc∙m wapov²ch strßnek se tak nask²tajφ dalÜφ mo₧nosti, aby se p°iblφ₧ili jednoduch²m web∙m. V₧dy¥ pln∞ barevnΘ strßnky s obrßzky se v tomto mobilu natahujφ jen n∞kolik vte°in! Troufßm si tedy °φci, ₧e wap nenφ mrtvou technologiφ, naopak, teprve s p°φchodem podobn²ch za°φzenφ o₧φvß...