26.12.2014 Aufrufe

img - GitHub Pages

img - GitHub Pages

img - GitHub Pages

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

4.16. RP15 No Duplication 84<br />

Problem von Rendr<br />

Unterstützt nur Handlebars [Kat] für View-<br />

Templates<br />

Quelltext für Client kann nicht automatisch zusammengefasst<br />

und zur Übertragung optimiert werden<br />

Rendr ist mittels CoffeeScript [Ash] implementiert<br />

Wiederholte Überprüfung der aktuellen Runtime-<br />

Umgebung (Client oder Server) mittels entsprechender<br />

if -Statements<br />

Lösung durch barefoot<br />

Keine Vorgabe resp. ohne Template-Engine verwendbar<br />

Barefoot verwendet hierfür die browserifymiddleware<br />

(siehe auch 4.18 “RP17 Static<br />

Assets”)<br />

Barefoot setzt auf pures JavaScript unter Verwendung<br />

von Underscore [Aire]<br />

Einmalige Überprüfung, anschliessende Verwendung<br />

umgebungsspezifischer Mixins<br />

Abbildung 4.6.: Rendr vs. barefoot<br />

Diskussion<br />

Ähnlich den zwei Typen von Webapplikationen sind hier zwei kontroverse Strömungen<br />

in der Entwicklergemeinschaft erkennbar [Comd]: Die eine Gruppe drängt zur alleinigen<br />

Nutzung der neusten Features und tendiert daher eher zu Lösungen mit reinen<br />

JavaScript Clients. Andere Gruppierungen geben sich vergleichsweise konservativ. Sie<br />

argumentieren damit, dass:<br />

• zum Einen die Kompatibilität zu weniger leistungsstarken Browsern resp. Java-<br />

Script Engines (Smartphones, alte Browserversionen etc.) gewährleistet sein müsse<br />

• zum anderen die Umsetzung einer ebensolchen unobtrusive Lösung entsprechend<br />

aufwändig sei.<br />

Beiden Lagern kann das Projektteam mit der umgesetzten Beispielapplikation entgegentreten:<br />

Mit barefoot sind Webapplikationen möglich, welche mit einer einzigen, durchgängigen<br />

Codebasis sowohl das statische als auch clientseitige Rendering von User Interfaces<br />

resp. deren Ausführung ermöglicht. Daraus resultiert eine im Vergleich zur doppelten<br />

Implementierung höhere Effektivität im Entwicklungsprozess. Gleichzeitig kann<br />

das Erlebnis für den Endbenutzer optimiert werden.<br />

Ob sich die Investition in die Entwicklung einer Webapplikation, welche RP14 Unobtrusive<br />

JavaScript genügt, lohnt, kann das Projektteam nicht pauschal beantworten. Je<br />

nach Anforderungen kann die Erfüllung dieser Richtlinie aber zu einer höheren Akzeptanz<br />

bei den Benutzern führen. Frameworks wie barefoot können zudem künftig dazu<br />

beitragen, einfacher eine “unobtrusive” Lösung umzusetzen.<br />

4.16. RP15 No Duplication<br />

Um RP15 einfach erklären zu können, soll folgendes Beispiel dienen:

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!