Skip to main content
F-LOG-GE

Die Sache mit den vendor-prefixes

Es gibt mal wieder eine gehörige Portion Aufregung unter Frontendentwicklern. Auslöser sind die Mitschriften einer Sitzung der CSS-Workinggroup und eine von Tantek Celik recht offensiv geführte Diskussion um vendor-prefixes. Kurz gefasst möchte Tantek unbedingt das vendor-prefix "-webkit" auch bei Mozilla implementieren. "-webkit" und "-moz" würden dann einträchtig nebeneinander existieren. Es gab sogar die Idee, "-webkit" als offiziellen Standard zu übernehmen, sodass alle anderen Browserhersteller diese Prefixes auch implementieren. Egal wie lange ich darüber nachdenke, ich finde die Idee schlecht. Vendor-prefixes waren eine gute Idee. Sie sollten den Browserherstellern ermöglichen, neue Features zu implementieren, bevor die endgültige Syntax feststeht. Doch leider haben sich alle Beteiligten nicht so richtig auf ein Vorgehen geeinigt. So scheint es mir jedenfalls. Es gibt eine Menge Eigenschaften, die schon lange erfolgreich in Benutzung sind und deshalb endlich ohne Prefix implementiert werden können. Bei den runden Ecken ist dies nun endlich der Fall. Aber bei den meisten anderen nicht. Die Hersteller sind da in der Pflicht, sich zu beeilen. Microsoft und Apple lassen wir mal aussen vor. Deren Entwicklungszyklen sind so lang und langsam, dass sie nicht zählen.

Aber auch das W3C hat (mal wieder) versagt. Die Working Group schafft es einfach nicht, endlich mal einen Strich unter die schon seit einer gefühlten halben Ewigkeit diskutierten Techniken zu ziehen. Im Gegenteil: im Falle der Hintergrundverläufe haben sie nach Jahren der Stabilität die vorgeschlagene Implementierung wieder geändert.

Ein dritter Schuldiger sind faule Entwickler. In meinen Augen sind dies die wahren Schuldigen. Denn egal was die Browserhersteller und das W3C so tun, am Ende müssen wir Webentwickler Seiten mit den vorgeschlagenen und implementierten Techniken bauen. Wenn wir dabei nur an "-webkit" denken und alle anderen Browser ignorieren, dann ist das unser Fehler. Dieser Fehler ist leicht behebbar. Durch Information, durch gute Tools wie Präprozessoren.

In den letzten Monaten hatte ich den Eindruck, ein Großteil der veröffentlichenden Entwickler steht Kopf, wenn das Webkit-Team mal wieder eine neue Technik implementiert hat. Es las sich dann in Weblogs gerne so, als könne man die neue Technik X, die gerade in einem Webkit-Nightly implementiert wurde, sofort produktiv nutzen. Ich erinnere mich noch gut an einen Blogartikel, der Teaser mit 3D-Transforms vorstellte. Dabei fiel kein Wort darüber, dass alle anderen Browser nur seltsamen Kram darstellten.

Es ist ja ganz interessant und wichtig, mit neuen Techniken zu experimentieren. Aber der Ton macht die Musik. Denkt bitte daran, dass nicht jeder einen Webkit-Nightly nutzt und dass wir auch noch auf Jahre hinaus Seiten ausliefern müssen, die im IE8 bedienbar sind und nicht ganz miserabel aussehen. Ich verstehe die Frontendentwickler nicht, die großzügig über die Existenz anderer Browser als ihres Lieblingsbrowsers hinweggehen.

Würde Mozilla den "-webkit"-Prefix einführen, hätten wir überhaupt keine Unterscheidungsmöglichkeiten mehr und wären wieder auf Browsersniffing angewiesen. Denn wer garantiert mir, dass Mozilla, Opera und Microsoft die Techniken mit dem fremden Prefix genauso einbinden und realisieren, wie die Webkit-Entwickler? Niemand kann das, niemand wird das.

Nein, die Browserhersteller sollten sich beeilen, einen Strich unter die meisten Techniken zu ziehen und sie ohne Prefix zu implementieren. Sie sind in der W3C-WG und können ein wenig Geschwindigkeit in diese lahme Veranstaltung bringen. Parallel müssen wir dafür sorgen, dass Entwickler kein Lob mehr für Demos bekommen, die nur noch auf einen Browser ausgerichtet sind, obwohl es auch in anderen funktionieren würde. Und wir sollten alle unseren Fokus ein wenig verändern.

Natürlich ist es toll, eine völlig neue Technik zu demonstrieren. Wir sollten aber immer mit kommunizieren, wie die Einsatzfähigkeit in der Realität ist. Welche Tricks, Kniffe und Verrenkungen sind notwendig, um alle Browser bis zum IE8 (und 7!) mitzunehmen? Ich meine nicht, dass sie alle die gleiche Technik präsentieren sollen. Aber graceful degredation darf ich doch zumindest erwarten. Was bringen meinem Kunden Teaser in 3D, wenn sie bei 98% seiner Besucher ein unlesbarers und unbedienbares Ergebnis hervorrufen?

Zu diesem Themenkomplex gibt es eine Reihe sehr interessanter Wortmeldungen. Leider fast ausschließlich im englischsprachigen Raum. Wir sollten uns von dieser wichtigen Debatte nicht ausklinken. Es geht um wichtige Grundlagen unserer Industrie. Denn aktuell scheint es so, als würden wir die alten Fehler wiederholen. Früher war es "best viewed with Internet Explorer", jetzt steht da einfach "Webkit". Es war ein Fehler und es bleibt einer. Wir sollten doch aus der Geschichte lernen können.

Und hier eine bunt gemischte Auswahl an weiterführenden Links mit sehr unterschiedlichen Ansichten und Ansätzen:

Dies ist ein Archiv meines alten Weblogs, das von Oktober 2006 bis Dezember 2022 als Wordpress-Instanz existierte.