Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs
ASP German Homepage Homepage
 

Liste

.NET 2.0 (1)
.NET Allgemein (16)
.NET Fu (5)
ADO.NET (11)
Aprilscherz (3)
ASP Grundlagen (44)
ASP Tricks (83)
ASP.NET (44)
ASPIntranet.de (5)
C# (28)
Datenbank (44)
Dokumentation (4)
IIS 6.0 (1)
Komponenten (29)
Optimierung (10)
Server (21)
Sicherheit (34)
Tee Off (6)
VB.NET (6)
WAP (8)
Web Services (11)
XML (9)

RSS 2.0 - Die neuesten fünf Artikel auf AspHeute.com


 

Suchen





 

English Articles
Chinese Articles
Unsere Autoren
 
Link zu AspHeute
Impressum
Werben
Anfragen

Erste Schritte mit WML (Wireless Markup Language)

Geschrieben von: Christian Holm
Kategorie: WAP

Dies ist der Beginn einer neuen Serie bei AspHeute.com. Hier werden Sie Schritt für Schritt das Programmieren und Erstellen von WML-Sites anhand von Beispielen kennen lernen.

    Heute lesen Sie:
  • Die Grundstruktur von WML
  • Werkzeuge um WML zu programmieren und zu testen
  • Ein Beispiel einer WML Seite

Grundstruktur von WML

Durch die heutzutage noch begrenzten Kapazitäten von Mobiltelefonen in Bezug auf Übertragungsgeschwindigkeit (9600 bps), Displaygröße, Speichervermögen etc, ist es nötig die Sourcecodegröße von WAP-Seiten für Handys gering zu halten, ohne jedoch den Bedienungskomfort zu schmälern.

Aus diesen Vorgaben entwicklete sich WAP als Übertragungsprotokoll und WML als Sprache für WAP-Seiten. Ähnlich wie HTML oder XML besitzt WML zur Beschreibung einer Seite Header, Tags und Attribute. Daneben erlaubt WML auch die Einbindung von Bildern im WBMP-Format (Endung *.wbmp) auf einer WAP-Seite, oder das Ausführen von client-seitigen Skripts in WMLScript.

Eine WML Seite kann, genauso wie eine HTML-Seite, unter Verwendung von server-seitigen Skriptsprachen dynamisch generiert werden, um zum Beispiel Ergebnisse einer Datenbankabfrage darzustellen.

Ein WML-Dokument besteht aus einem Deck, welches sich in Untergruppen, sogenannte Cards, unterteilt, die über Links miteinander verknüpft sind. Das Deck kann man sich also wie einen Container vorstellen, der in mehrere Fächer (sprich Cards) unterteilt ist. Um den Nachteil der geringen Übertragungsgeschwindigkeit bei GSM (und anderen Funknetzen) zu umgehen, wird das Deck mit all seinen Cards auf einmal in den internen Mobiltelefon-Speicher übertragen. Aus diesem Grund sollten für eine WAP-Site alle zusammengehörigen Cards in einem Deck untergebracht sein, um eine rasche Navigation zwischen den Cards zu ermöglichen.

Wählerisch sollten Sie auch bei der Auswahl des Inhaltes einer WAP-Site sein: Aufgrund der üblicherweise kompakten Displays von WAP-Handys sollten nur wichtige Informationen wie News-Schlagzeilen, Zusammenfassungen, Online Buchungen, m(obile)-Commerce ohne überflüssigen Ballast zum User geschickt und angezeigt werden.

Was benötigt man um WML zu programmieren und zu testen

Sie können WML-Dokumente (Dateiendung *.wml) schlicht mit einem Text-Editor erstellen. Komfortabler ist die Erstellung von WML-Seiten jedoch mit SDKs (Software Development Kit) für WAP, wie sie von diversen Anbietern (z.B. Nokia, Ericsson) oft gratis im Internet zum Download zur Verfügung gestellt werden.

Die Vorteile im Gebrauch von SDKs, oder anderer Entwicklertools für WAP und WML-Seiten, liegt darin, daß die Entwicklungsumgebung Features wie Listnumbers, Tag Coloring und meist auch ein Tag-Glossar besitzt und Sie das fertige Dokument unter Verwendung eines integrierten WAP-Emulators gleich kompilieren und ansehen können.

Um dann Ihre Site der Öffentlichkeit zu präsentieren, müssen Sie noch die WML Seiten auf einen, über ein WAP-Gateway zugänglichen und für WAP konfigurierten, Webserver legen.

Wenn Sie einen Internet Information Server (IIS) für WAP konfigurieren möchten, so lesen Sie bitte unseren Artikel IIS Konfiguration für WAP. Dieser enthält alle nötigen Anweisungen um die für WAP benötigten MIME-Types einzurichten.

Grafiken in WML

Um den Text einer WML-Site mit Bildern (z.B. Firmen-Logos) aufzuwerten können Sie auf diverse Grafik-Programme zurückgreifen, wenn sie das "WAP-Bitmap" (Dateiendung *.wbmp) Format unterstützen. Bedenken Sie beim Einsatz von Bildern unter WAP, daß die Displaygröße von Mobiltelefonen variiert und meist sehr begrenzt ist (Nokia 7110: 48x78 Pixel). Die Grafikauflösung ist in den allermeisten Fällen ebenfalls gering. Als Bilder kommen nur schwarz-weiß Bitmaps in Frage, da nur die wenigsten WAP-Mobiltelefone über ein farbtaugliches Displays verfügen.

Programmierung von WML

Obwohl die Programmierung von WML ähnlich der von XML ist (WML ist ein XML-Schema!), benötigen Sie keine XML Vorkenntnisse. Wie jede Programmiersprache, so hat auch WML gewisse Konventionen.

    Konventionen in WML:
  • Keine Unterstützung von Umlauten. Gegebenenfalls sind Umlaute zu maskieren (Ä wird Ä), oder Wörter zu umschreiben (aus "ä" wird "ae").
  • WML-Tags sind klein zu schreiben z.B. <p> ... </p>
  • WML-Tags sind immer zu schließen z.B. <table> ... </table>. Bei Tags ohne abschließenden Tag wird der Schrägstrich in den ersten Tag mit einbezogen z.B. eine Leerzeile <p/>.
  • Da WML-Editoren oft nicht auf Fehler im WML hinweisen, sollten Sie Ihren Sourcecode mit einen Emulator (Browser) testen und genau prüfen.

"Hello World" - Beispiel

Dieses einfache Programmierbeispiel soll Ihnen als Einstieg in WML dienen. Die Screenshots stammen vom Nokia WAP Toolkit Version 1.2, das für registrierte Mitglieder des Forum Nokia gratis zu downloaden ist. (Siehe auch Nokia Deutschland) Die Benutzung eines SDKs oder Toolkits für WAP ist keineswegs notwendig, für eine erfolgreiche WML-Site Entwicklung aber sicherlich vorteilhaft.

 1: <?xml version="1.0"?> 
 2: <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" _
 3: "http://www.wapforum.org/DTD/wml_1.1.xml"> 
 4: 
 5: <wml> 
 6: 
 7:   <card id="card1" title="ASPHeute.com"> 
 8:     <p> 
 9:       <!-- 1. WML Beispiel --> 
10:       Hallo Welt!!! 
11:     </p> 
12:   </card> 
13: 
14: </wml>

Ergebnis am Phone-Display:

Besprechen wir nun die einzelnen WML Zeilen:

Zeile 1: Der XML Tag sollte immer in der ersten Zeile stehen. Dieser Tag definiert die Kompatibilität zu XML-kodierten Dateien und macht es möglich, WML Seiten auch als XML zu interpretieren.

Zeile 2 und Zeile 3: Der Dokumententyp steht zwingend nach der XML-Definition der 1. Zeile. Er legt fest, um welche WML Version es sich handelt. Die nachfolgende Adresse ist der Resourcenursprung.

Zeile 5: <wml> Bezeichnet den Beginn des WML-Sourcecodes.

Zeile 7: <card> öffnet den Tag für ein Card, das Attribut id="card1" dient zur Bezeichnung der einzelnen Card innerhalb eines Decks. Jeder Card wird eine eindeutige ID zugeordnet, die den Zugriff auf die Card ermöglicht. Das Attribut title="ASPHeute.com" im <card> Tag gibt dem Benutzer Informationen über die betrachtete WAP-Site (Titel der Site).

Zeile 8 bzw. Zeile 11: Der Text innerhalb von <p> ... </p> ist als Absatz organisiert. Jede Card benötigt mindestens einen Absatz.

Zeile 9: Der <!-- ... --> Tag ermöglicht Kommentare in WML-Seiten. Sie sollten während der Entwicklung Ihren Sourcecode dokumentieren, damit die Seite übersichtlicher und einfacher zu debuggen ist. In der fertigen WML-Seite sollten Sie jedoch auf Kommentare verzichten, um die Seite, und daher auch ihre Ladezeit am Handy, so klein wie möglich zu halten.

Zeile 12: Der Tag </p> schließt den Tag <p> aus Zeile 7.

Zeile 14: </wml> beendet den WML-Sourcecode.

Schlußbemerkung

Dies war eine äußerst knappe Einführung in die Grundlagen und Möglichkeiten von WML. Der Artikel sollte Ihnen einen Überblick vermitteln und den Einstieg in die Seitenbeschreibungssprache WML so einfach wie möglich machen.

Verwandte Artikel

Eine kurze Einführung in die Technologie von WAP
Erste Schritte mit WML 3: Navigation und Links
IIS Konfiguration für WAP
Tools zur WML Programmierung

Links zu anderen Sites

Entwickler Forum Nokia

Wenn Sie jetzt Fragen haben...

Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten.

Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.

 

Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.

Bewerten Sie diesen Artikel
 Sehr gut   Nicht genügend  
   1  2  3  4  5  
 

  
   Für Ausdruck optimierte Seite

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.