Interview mit Dennis Wilson

„Responsive Web ist schwieriger als versprochen wurde"
Kommentare

Das Jahr neigt sich dem Ende und wir blicken zusammen mit Experten aus allen Bereichen der IT zurück: Was waren 2013 die heißen Themen, was wurde Hype und was dürfen wir für 2014 erwarten? Diesmal gibt uns Dennis Wilson seinen persönlichen Jahresrückblick und einen Ausblick auf 2014.

PHP Magazin: Was war deiner Meinung nach das heißeste Thema 2013?

Dennis Wilson: 2013 war definitiv ein gutes Jahr für die strukturierte JavaScript-Entwicklung. AngularJS, Ember, Marionett und Co. haben einen merkbaren Trend in der clientseitigen Webentwicklung losgetreten. HTML5 Boilerplates und Frameworks gehören schon länger zur Palette unserer Standardwerkzeuge. Hier zeichnet sich allerdings eine zu begrüßende Entwicklung ab. Dadurch, dass Webanwendungen nun von vorn herein mit MVW-Frameworks wie AngularJS entwickelt werden, entsteht eine strukturierte Gesamt-Denkweise. Gerade für Projekte, die eher als echte Anwendung statt als Website einzuordnen sind, ergibt es sich, dass in Komponenten gedacht wird. Während ein gutes „Model-View-Whatever“-Framework (MVW) dafür sorgt, dass die Anwendungsarchitektur sauber und wiederverwendbar bleibt, greift man für View-Komponenten sowie das Look and Feel oftmals auf HTML-Frameworks zurück. Eine beliebte Kombination ist hier zum Beispiel AngularJS und Bootstrap. Der Vorteil ist außerdem, dass man auf allgemeine Lösungen der Community zurückgreifen und natürlich seinen Teil zurück in die Community fließen lassen kann. Dinge, die ein MVW-Framework nicht mitbringt, können dann immer noch von außerhalb mit in das Projekt aufgenommen werden. Vernünftige Data-Model Libraries zum Beispiel.

Die clientseitige Webentwicklung nähert sich durch die Strukturierung immer mehr der Entwicklungsmethodik traditioneller, nativer Client-Technologien. Wer schon mal auf Windows, Mac OS, Java oder eine mobilen Plattform native Anwendungen entwickelt hat, wird sich von der Komponenten-angelehnten Entwicklung durch selbst gewählte Frameworks unter Umständen schneller zu Hause fühlen. Denn gerade wenn man nativ Entwickelt, gibt man sich in der Regel einer durch das Betriebssystem vorgefärbten Philosophie hin. Zunächst wählt man aus einem Standardset einheitlich aussehender View-Komponenten, dann bettet man eine Hand voll eigener Event-Handler in vorgenerierten Controller Code. Der Layer unterhalb der Controller nutzt auch hier oftmals Third Party Libraries. Ganz so strikt wird es mit den Web-Frameworks sehr wahrscheinlich nicht werden, aber von der Idee her ähnlich.

Auch Webfrontends werden immer öfter durch Tests abgedeckt oder mit Linting auf Code-Qualität geprüft. Das hätte man sich 2012 nur schwer und 2011 noch gar nicht vorstellen können. In 2013 hat auch hier das Google Dream-Team mit Yeoman einen schönen Aufschlag gemacht. Yeoman ist ein Boilterplate- und Tooling-System für Webentwickler. Grunt zur Automatisierung, NPM und Bower für Dependencies. So bekommt man als Entwickler die Möglichkeit, aufeinander abgestimmte Toolchains zu nutzen. Es ist immer noch kein DIE, aber es fühlt sich wesentlich besser und organisierter an auf dieser Basis zu arbeiten.

PM: … und welches Thema wurde dem Hype nicht gerecht?

Dennis: Einen starken und enttäuschenden Hype hatte meiner Meinung nach Responsive Webdesign. Hype klingt grundsätzlich erst mal schlecht. Jeder Hype beinhaltet jedoch gleichermaßen erfreuliche und enttäuschende Aspekte.

Erfreulich war definitiv, dass die Diskussion über die Gestaltung des Web in den kommenden Jahren aus einem ganz neuen Winkel betrachtet wurde. Agenturen haben begonnen, über alternative Ansätze nachzudenken, was Ihre internen Workflows angeht. Vielerorts wurde sogar die provokante These formuliert, ob Gestalter in Zukunft weniger Photoshop und mehr andere Tools für die Ausarbeitung von Webdesigns nutzen werden. Ebenfalls entstanden schöne Diskussionen und Forschungsarbeiten bezüglich Problemthemen wie Bild und Video auf unterschiedlichen Endgeräten und mit geringen Übertragungsraten. SVG erhielt hier ein Comeback mit weiteren 15 Minuten Ruhm, und der eine oder andere wird zum ersten mal von den Medienformaten WebM oder WebP gehört haben.

Sehr ernüchternd war es für viele, als festgestellt wurde, dass „Responsive Web“ doch wesentlich schwieriger ist als es vielerorts versprochen wurde. Responsive Web ist viel eher eine Gesamtphilosophie mit hoch individueller Arbeitsmethodik als bloß ein wenig Responsive CSS-Code einzubetten. Ebenso schienen viele Menschen doch etwas enttäuscht zu sein, dass mit nahezu jedem CSS-Breakpoint ein wesentlicher Planungs- und Gestaltungsaufwand entsteht. Diese Enttäuschung machte sich interessanterweise sowohl bei Kunden als auch bei Experten bemerkbar. Somit erlebte Responsive einen vergleichsweise kurzen und doch massiven Trend, der, wie es mir momentan scheint, gerne etwas totgeschwiegen und geleugnet wird. Vielleicht aus Scham. Denn was uns dieser Trend sicherlich gebracht, ist die Erkenntnis, dass wenn wir es gewollt hätten, das Web eigentlich schon immer hätte „Responsive“ sein können. Die neuen CSS Media Queries sind schon wichtig, ergänzen das gesamte Responsive-Puzzle jedoch nur um ein weiteres Teilchen. Da hilft auch kein massives Framework.

PM: Was glaubst du, welche Technik oder Technologie wurde 2013 besonders unterschätzt? Und abschließend natürlich die Frage: was wird 2014 besonders heiß? Was müssen wir besonders im Auge behalten?

Dennis: Da Informations-Technologie ein kontinuierlich fortschreitender und auf Vergangenheit aufbauender Prozess ist, sehe ich die Themen, die meiner Meinung nach bisher zu kurz kamen, auf einer Stufe mit Themen, denen man in 2014 mehr Beachtung schenken sollte.

Mich beschäftigen gerade eine Vielzahl unterschiedlicher Themen – 2014 kann in vielerlei Hinsicht sehr spannend werden. Mich hat beispielsweise sehr erstaunt, dass WebGL gerade im letzten Jahres Quartal nochmal gut angezogen hat. Ich verfolge das Thema Canvas/WebGL jetzt schon eine Weile und habe lange Zeit damit gerechnet, dass WebGL erst lange nach Canvas vom Web angenommen wird. Falsch gedacht. Während Canvas 2D momentan kaum ein Thema ist und regelrecht übersprungen zu werden scheint, entsteht gerade ein kleiner WebGL-Hype. Hier mag die Bibliothek ThreeJS einen großen Anteil daran zu haben. Sie zieht weite Kreise und wird immer wieder an vielen wichtigen Stellen erwähnt. Auch, dass der Internet Explorer 11 nun WebGL (mehr oder weniger gut) unterstützt hat sicherlich dazu beigetragen, 3D-Grafik im Browser wieder ins Gespräch zu bringen.

Aber gehen wir aber nochmal zurück zu strukturierter Webentwicklung. JavaScript ist für viele Entwickler nach wie vor eine befremdende Sprache. Ja, fast jeder Webentwickler setzt täglich JavaScript ein. Dennoch betrachten die meisten Entwickler, die nicht hauptsächlich mit JavaScript arbeiten, die Sprache nach wie vor als ein notwendiges Übel. Viele nicht mal als ein zweites Standbein.

Daher höre ich vielerorts auf Konferenzen oder in persönlichen Gesprächen, dass sich mit der „Fremdartigkeit“ von JavaScript schwer getan wird. Es wird nach wie vor versucht, mit traditionell objektorientierten Paradigmen und Pattern Anwendungen in JavaScript umzusetzen. In den schlimmsten erlebten Fällen stellten Entwickler Bibliotheken wie jQuery mit JavaScript gleich. Architekturelle JavaScript-Themen kommen nach wie vor viel zu kurz. Ich glaube hier gibt es insgeheim eine Menge Aufklärungsbedarf. Es scheint nach wie vor Verwirrung darüber zu herrschen, wie guter JavaScript-Code auszusehen hat. Baut man sich mit Prototypen und Super-Calls eigene Vererbungs-Hierarchien? Was macht eigentlich den Funktionalen Ansatz in JavaScript aus? Wie sehr darf ich auf Mixins oder Polyfills setzen, ohne dass meine Anwendung darunter leidet? Wird vielleicht viel mehr auf stateless Modules und noch mehr Event-Messaging hinaus laufen?

Vielleicht klären wir diese Ansätze auch gar nicht und weichen auf andere Sprachen aus. Übersetzen unseren Code in LLJS oder ASM.JS. Die Antworten werden zwischen Frontend- und Backend-Entwicklung gewiss auch unterschiedlich ausfallen.

Da sich hier noch keine anerkannte Praxis herausgebildet hat, denke ich können wir uns in 2014 auf viele spannende Ansätze freuen.

Des Weiteren freue ich mich auf die Erben des Responsive-Design-Trends. Durch Mobile First (als Teilphilosophie von Responsive Design) hat man sich erstmals ernsthaft gedanklich vom „Festnetz-Computer“ entfernt. Man erkannte offen an, dass auch kleinere und weniger Leistungsstarke Infrastruktur existiert und wichtig ist. Momentan bekommt der Begriff „Offline First“, durch Leuchtturmprojekte wie Hoodie, viel Aufmerksamkeit. Dabei geht es unter anderem darum, Web Applications auch ganz oder teilweise offline, funktional zu halten. Oftmals mit einem Sync, wenn der Benutzer wieder online geht. Als Grundlage dienen hier die, zur HTML5-Reformation eingeführten, Browser Data-Stores. Die gibt es, wie WebGL oder CSS Media Queries, schon eine ganze Weile, aber ihnen wurde bisher kaum Beachtung geschenkt.

Insgesamt wird 2014 hoffentlich noch einmal die Diskussion aufbringen, wie wir mit Daten umgehen und welche Arten von Data Storage wir in Zukunft nutzen werden. Der aktuelle Data-Mining-Hype und die amerikanischen Überwachungsskandale bieten genügend Brennstoff, um selbst den Mainstream zu beunruhigen. Deshalb könnten sich spannende Entwicklungen im Bereich verteilter oder Per-User-Storages ergeben. Ich spreche nicht von einem kompletten Paradigmenwechsel; die meisten Daten werden auch weiterhin in serverseitig gelagert werden. Ich spreche von viel Forschung und neuen Konzepten in Sachen Per-User-Storage! Dieses Konzept könnte sich in die Polyglot-Data-Store-Entwicklung der letzten Jahre einreihen. Denn Entwickler haben mittlerweile regelrecht Spaß daran, andere Data-Store-Varianten zu erforschen, und für unsere Kunden könnte es in kommender Zeit wichtiger werden, wie wir mit ihren privaten Daten umgehen. Wer sich heute schon dafür Interessiert, sollte sich Projekte wie http://remotestorage.io/ oder https://tent.io/ anschauen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -