26.02.2014 Aufrufe

smart developer Ein Code für alle (Vorschau)

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Schwerpunkt<br />

Mobile Business Apps<br />

und Maus zur Verfügung, sondern die Interaktion<br />

erfolgt über Gesten mit den Fingern.<br />

Auf diesen Umstand ist bereits während des<br />

Applikationsdesigns einzugehen.<br />

Der Benutzer sollte dabei in möglichst wenigen<br />

Schritten und mit möglichst wenig Interaktion<br />

an sein Ziel — die gewünschten Informationen<br />

— gelangen. Dies kann zum<br />

Beispiel dadurch erreicht werden, dass er in<br />

einer Liste verschiedene Werte zur Auswahl<br />

bekommt, anstatt zu verlangen, einen Wert<br />

manuell einzugeben.<br />

Zu vermeidende Elemente<br />

Ebenfalls ist es sinnvoll, auf spezielle Elemente<br />

und Funktionen zu verzichten, die<br />

zwar im Desktopumfeld weitverbreitet sind,<br />

jedoch im mobilen Umfeld unbedingt vermieden<br />

werden sollten. Hierzu zählen unter<br />

anderem die Weiterleitung beziehungsweise<br />

das Öffnen von Popups und Weiterleitungen<br />

mit target="_blank". Bereits bei Desktop-<br />

Browsern ist diese Art der Benutzerführung<br />

schwer zu handhaben. Auf mobilen Geräten<br />

ist dies jedoch nochmals sehr viel schwieriger,<br />

da viele Geräte Popups gar nicht erst unterstützen.<br />

Doch selbst wenn solch eine Unterstützung<br />

vorhanden ist, sorgen mehrere<br />

Bildschirmebenen auf einem Mobil-Display<br />

in der Regel <strong>für</strong> eine komplizierte Handhabung<br />

und sollten deshalb vermieden werden.<br />

Weiterhin beliebt sind auch HTML-Frames,<br />

um mehrere HTML-Dokumente in einer Ansicht<br />

zusammenzufassen und so eine anwendungsähnliche<br />

Oberfläche zu schaffen. Abgesehen<br />

davon, dass viele mobile Geräte<br />

Frames nicht unterstützen, führt diese Art<br />

der Aufbereitung einer Ansicht im mobilen<br />

Umfeld zu unzähligen Problemen: Oft funktioniert<br />

der Zurück-Button nicht oder nicht<br />

wie gewünscht, auch Lesezeichen anzulegen,<br />

ist meist nicht möglich. Zudem wird die<br />

Suche nach Inhalten erschwert und es entstehen<br />

Sicherheitsprobleme, da nicht immer direkt<br />

zu sehen ist, wenn verschiedene Frames<br />

aus verschiedenen Quellen stammen.<br />

Verzichten sollten Sie auch auf Spacer-Gifs,<br />

also auf Grafiken, die lediglich dazu dienen,<br />

Inhalte an bestimmten Positionen zu platzieren.<br />

Diese Grafiken erhöhen nicht nur die<br />

Anzahl an Requests, sondern verursachen<br />

unter Umständen auch höhere Kosten. Für<br />

jedes hinterlegte Bild muss beim Aufruf des<br />

Inhalts bzw. der Seite ein weiterer Request<br />

abgesetzt werden. Höhere Latenzzeiten und<br />

ein höheres Datenaufkommen sind die Folge.<br />

Deshalb sollte stattdessen auf Cascading<br />

Style Sheets (CSS) zurückgegriffen werden.<br />

Damit lassen sich Platzierungen durch Definition<br />

in einer zentralen Datei realisieren,<br />

was die Anzahl an Requests minimiert und<br />

eine saubere und fehlerresistentere Seitenstruktur<br />

zur Folge hat.<br />

Durch den <strong>Ein</strong>satz von CSS kann zudem<br />

auf Layout-Tabellen verzichtet werden. Dadurch<br />

erspart man sich unerwünschte und<br />

meist nicht vorhersehbare Seiteneffekte:<br />

Wird beispielsweise eine Tabelle vollständig<br />

dargestellt und überschreitet sie eine gewisse<br />

Breite, müssen Benutzer horizontal und vertikal<br />

scrollen, um Inhalte anzusehen. Diese<br />

Art der Navigation ist gerade bei einem mobilen<br />

Endgerät äußerst umständlich und<br />

sollte deshalb vermieden werden. Ebenfalls<br />

kann es passieren, dass der verwendete<br />

Browser die Tabelle beim Überschreiten der<br />

Displaybreite umbricht und die fehlenden<br />

Spalten in einer neuen Zeile einfügt. Diese<br />

clientseitige und geräte- sowie softwareabhängige<br />

Transformation ist nicht vorhersehbar<br />

und geht somit zulasten der Übersichtlichkeit.<br />

Außerdem vergrößert sich durch die<br />

Verwendung von Tabellen der zugrunde liegende<br />

HTML-<strong>Code</strong> erheblich, was zu einem<br />

unsauberen <strong>Code</strong> und erhöhtem Datenvolumen<br />

führt. Durch die Verwendung von CSS<br />

können diese Effekte vermieden werden.<br />

Semantisches HTML<br />

Um eine Aufblähung des <strong>Code</strong>s zu vermeiden,<br />

sollte man sich bei der Umsetzung von<br />

Seiten und Layouts nicht nur auf das rein optische<br />

Ergebnis konzentrieren. Vielmehr<br />

sollte man darauf achten, dass die drei <strong>für</strong><br />

ein gutes Ergebnis notwendigen „Säulen“ Inhalt,<br />

Design und Struktur strikt voneinander<br />

getrennt bleiben und auf <strong>alle</strong> drei Punkte in<br />

gleichem Maße Wert gelegt wird. Im Hinblick<br />

auf die Struktur sollte man zudem beachten,<br />

dass das zugrunde liegende Konstrukt an<br />

HTML-Elementen eine gesunde und möglichst<br />

semantische Struktur besitzt. Doch<br />

was genau ist darunter zu verstehen?<br />

Das World Wide Web stellt eine riesige<br />

Masse an Inhalten und Information bereit.<br />

Diese Daten stehen innerhalb des WWW<br />

normalerweise jedoch in keinerlei Beziehung<br />

zueinander. Das WWW bietet lediglich eine<br />

Art Präsentationsplattform, die die erfassten<br />

Daten darstellt.<br />

Um Inhalte tatsächlich als solche zu erkennen<br />

und erfasste Daten entsprechend deuten<br />

zu können, entwickelte Tim Berners-Lee (der<br />

„Erfinder“ des WWW) das Konzept des Semantic<br />

Web. Dieses beruht darauf, dass das<br />

Internet aus Daten besteht, die direkt oder<br />

indirekt von Maschinen interpretiert und verarbeitet<br />

werden können. <strong>Ein</strong> Punkt, der als<br />

26<br />

02/2011 <strong>smart</strong>-<strong>developer</strong>.de

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!