HTML5 und CSS 3 machen das Rennen. Interview mit Daniel Fisher
Kommentare

Daniel, du hast deinen Arbeitsschwerpunkt auf das Web, HTML und CSS3 ausgerichtet. Was waren deine professionellen, aber auch persönlichen Gründe dafür?
Ich habe 1995 mit Softwareentwicklung begonnen.

Daniel, du hast deinen Arbeitsschwerpunkt auf das Web, HTML und CSS3 ausgerichtet. Was waren deine professionellen, aber auch persönlichen Gründe dafür?

Ich habe 1995 mit Softwareentwicklung begonnen. Im Gegensatz zu vielen Kollegen fand ich den Einstieg aber nicht über C64- oder Amiga-Spielen. Meine ersten Erfahrungen habe ich bereits im Webumfeld gesammelt. Von HTML und JavaScript zu Perl über PHP, klassisches ASP mit VBScript und VB6, ISAPI mit C++ und JSP habe ich so einige Zeit verbracht. Als 1999 dann ASP.NET mit Web Forms vor der Tür stand, war ich von den Konzepten wie Modularität, Hot-Deployment oder Handler & Module von Anfang an begeistert. Der damit aber nicht überwundene Schmerz bei der clientseitigen Webentwicklung war über die Jahre hinweg immer der Cross-Browser-Support. Und als wäre das nicht schon genug, kamen dann auch noch die Smartphones als ernst zu nehmende Devices dazu.

Persönlich kann ich natürlich von meinen bereits in der Vergangenheit angeeigneten Fähigkeiten in Bezug auf JavaScript profitieren.  Jedem anderen kann ich nur empfehlen, sich mit der objektorientierten Programmierung von JavaScript zu beschäftigen. Mit Windows 8 werden das Fähigkeiten, die auch auf dem Desktop relevant werden. Es kommt einem ein wenig so vor, als ob HTML5 und CSS3 das erreichen, was XAML sein wollte.

Anfang des Jahres war Silverlight noch das beste Pferd im Stall, doch jetzt scheint HTML5 das Rennen zu machen. Woran liegt das?

Die Idee hinter Silverlight ist zugegebenermaßen nicht schlecht: ein Workflow der auch den Designer nicht ausschließt, Cross-Browser-Kompatibilität und Drag and Drop wie auf dem Desktop. Auch devcoach, unsere Firma, hat einige Kundenprojekte mit dieser Technologie begleitet. Dabei zeigte sich jedoch schnell, dass die Realität die Ideen eingeholt hat. Obwohl Microsoft z.B. auch Office für die OSX-Plattform anbietet, gibt es keine Tools, die auf dem von Designern präferierten Betriebssystem von Apple laufen. Moonlight, das Linux-Plug-in, hemmt die Nutzung der neusten und produktiver machenden Features. Der gut gemeinte asynchrone Ansatz für die Nutzung von Web Services mit Klicki-Bunti-Unterstützung in Visual Studio kostet, ohne dass man seine eigene Abstraktionsschicht einzieht, mehr Zeit und Aufwand bei Konfiguration und Deployment als wir und unsere Kunden bereit waren, zu investieren. Und zu guter Letzt die fehlende Unterstützung auf mobilen Geräten – auch auf dem Windows Phone 7 Browser läuft es nicht – haben uns von der Technologie abwenden lassen.

Mit der Ankündigung von HTML5, CSS3 und dem aktuellen Stand von JQuery und den dutzenden Polyfill-Libraries hat sich im Web einiges gedreht: Die Browserhersteller leisten sich ein Innovationsrennen, um die neuen Features zu implementieren, genauso wie die Entwickler- und Designer-Tool-Hersteller. Es geht ja um einen W3C-Standard, nicht um ein Herstellerprodukt, und es steckt viel mehr als nur „ein paar neue Tags“ hinter HTML5. Web Sockets & Co. bieten neue Möglichkeiten der Kommunikation ins Backend. Mit CSS3 können extrem einfach sexy User Interfaces gestaltet werden, die überall gut aussehen – die Polyfills sorgen überraschender Weise bis zu einem gewissen Grad sogar für IE6-Unterstützung.

Bei Silverlight wurde schon die Trennung von Logik und Design gepriesen, wohin führt uns HTML5, wie beeinflusst es den Workflow in Entwicklungsprojekten?

Die SOLID Principles, TDD und Clean Code sind ja nicht nur in der Microsoft Community beliebt und erfreuen sich immer größerer Anhängerschaften. „Seperation of Conerns“ gehört für mich zu den höchsten Gütern in der Softwareentwicklung. Das Konzept, Layout von UI und Logik zu trennen, ist in HTML ja quasi eingebrannt: HTML File = UI-Deklaration mit Markup, CSS Stylesheet = Layoutdefinition, JavaScript File = UI-Logik.

Zudem gibt es unzählige Frameworks und Open-Source-Projekte, die sich gerade im Zuge von HTML5 und ECMASscript5 (wie JavaScript ja eigentlich heißt) mit der Thematik beschäftigen. Mit Backbone.js steht zum Beispiel eine Implementierung des MVC-Patterns (Model View Controller) für JavaScript zur Verfügung. Wer es gern etwas einfacher mag und vielleicht durch XAML schon mit MVVM in Berührung gekommen ist, wird mit Knockout.js viel Spaß haben.

Somit lassen sich Webprojekte im Team – auch zusammen mit Designern – hervorragend entwickeln.

Was kann man mit HTML5, CSS3 und ggf. noch JS machen, wo liegen die Vorteile, wo die Grenzen?

The Sky is the Limit. Die Möglichkeiten sind zurzeit nur durch die noch nicht hundertprozentige Abdeckung der Features durch alle Browser begrenzt. Das bezieht sich aber nicht wie in den Neunzigern auf Layout. Web Sockets und http Persistent Connections  für die Kommunikation ins Backend ohne HTTP-Overhead, Web Workers um asynchrone Aufgaben im Hintergrund zu erledigen. Für Offlineszenarien gibt es Caching, isolierten Speicher, eine eingebaute inprocess-Datenbank und Offlineereignisse. Native Unterstützung für die Wiedergabe von Audio- und Videodateien, Drag and Drop vom Desktop in den Browser, CSS-basierte Animationen, 2-D- Transformationen, 3-D-Transformationen und Möglichkeiten zur Einbindung von Fonts, die nicht auf dem Client installiert sein müssen, native Unterstützung für WebGL, SVG und SMIL. Das ist schon ein gut gefülltes Paket an Technologien, mit denen man seine Kreativität und Geschäftsideen ausleben kann.

Wie sehen hierbei deine Praxiserfahrungen aus, gibt es schon größere Projekte?

Seit circa einem Jahr merken wir verstärkt das Interesse und die Nachfrage an der Thematik. Mit dem Fokus auf HTML5 haben wir bereits mehrere Projekte begleitet, umgesetzt oder schlicht und einfach für den Know-how-Transfer gesorgt. Dazu gehören kleine Anwendungen und Micropages genauso wie wirklich große Projekte aus dem Bankenumfeld.

Gerade der Einstieg in die Welt der dynamischen Sprachen und das vermeintliche Verlassen der Convenient-Zone verunsichert viele Entwickler – genau da setzen wir an und helfen, die Toolkette zusammenzusetzen. Auf den Konkurrenzplattformen wie Ruby oder PHP ist es immer noch gang und gäbe nur mit Notepad zu entwickeln (stellvertretend genannt für TextMate, VIM und Co.). Visual Studio ist zwar schon ein wenig in die Jahre gekommen – oder warum heißt es seit Version 7 jetzt in Version 10 immer noch „Common7“ – bietet aber ein professionelles Umfeld und den produktivitätsunterstützenden Komfort, wenn man das Werkzeug beherrscht.

Glaubt man den ganzen Spekulationen und Interpretationen rund um die BUILD, Windows 8 und Windows Phone, hast du aufs richtige Pferd gesetzt. Was erwartest du von der Microsoft-Konferenz?

Ich werde ja nicht in Anaheim sein. Ein paar Tage vorher findet die seit 5 Jahren mit Stephan Oetzel und Constantin „Kostja“ Klein zusammen organisierte NRW Conf statt, dort bin ich dann zu finden. Aber es wird ja nichts so heiß gegessen, wie es gekocht wird. So wie wir Microsoft kennen, wird WPF nicht von heute auf morgen vom Desktop verbannt werden. Es wird einfach eine neue Möglichkeit hinzukommen, die den Vorzug genießt, mehr Budget für Research zu erhalten und somit mehr Innovation hervorzubringen.

Gibt es ein Szenario, für das Du einem „traditionellen“ Entwickler heute raten würdest HTML5 zu nutzen?

Wenn es eine Webanwendung werden soll, dann HTML5, CSS3 und JavaScript. Darf es auch etwas Servertechnologie sein, so sollte es ASP.NET MVC mit Razor sein.

 Da HTML5, CSS3 und JavaScript auf dem Desktop noch in der Zukunft – wenn auch in naher – liegen, kann ich nur jedem empfehlen, heute damit anzufangen, sich damit auseinander zu setzen.

Treffen Sie Daniel Fisher am 27. und 29. September auf der .NET Entwicklerkonferenz BASTA! in Mainz.

Daniel Fisher ist Mitbegründer der Firma devcoach (http://www.devcoach.biz), die Unternehmen beim Einsatz der Microsoft-.NET-Plattform in konkreten Projekten von der Architektur bis zum Deployment ganzheitlich unterstützt und begleitet. Im Mittelpunkt seiner Arbeit stehen Serviceorientierung (SOA), agile Methoden und Prozesse, das Web und Datenzugriff. Er ist ein ausgewiesener Experte im Web-  und SOA-Umfeld und plant und realisiert seit mehreren Jahren verteilte Systeme auf der Microsoft-Plattform.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -