Geschichte des WWW & Web-Standards
Circa 1969 tauschten zum ersten Mal zwei Computer über ein Kabel Informationen miteinander aus. Das Projekt Arpanet des US-Verteidigungsministeriums verknüpfte einige über die USA verteilte Computer und wird damit zum Vorläufer des Internet. Daran angeschlossen waren auch immer mehr Universitäten. Daraus entstand Schritt für Schritt das Internet – über die Welt verteilte Computer die miteinander kommunizieren können.
Wir schreiben das Jahr 1989. Home-Computer werden immer populärer. Immer mehr Haushalte haben Desktop-Computer zuhause. Diese sind nicht mit dem Internet verbunden. Software wird auf Disketten und CD’s verkauft. Informationen in Computerheften verbreitet. Das Internet ist noch ein unwichtiges Spielfeld von Universitäten und Militär.
Am CERN entwickelt Tim Berners-Lee das World Wide Web. Das ursprüngliche Ziel des Systems war es, Forschungsergebnisse auf einfache Art und Weise mit Kollegen auszutauschen. Sieht man sich einfache Websites ohne CSS an, kann man darin heute noch die Similarität zu wissenschaftlichen Dokumenten sehen.
1993 kommt der erste grafikfähige Browser auf den Markt.
Mit Windows 95 schafft der Personal Computer den Durchbruch. 1996 liefert Windows automatisch den Internet Explorer in Version 2 aus.
In den folgenden Jahren verbreitet sich das Internet rasant in den Haushalten.
Die Browser-Hersteller überbieten sich gegenseitig mit neuen Funktionalitäten. Die Standards entwickelten sich nur langsam weiter. So musste damals bei der Entwicklung einer Website auf eine Vielzahl von Besonderheiten der verschiedenen Browser Rücksicht genommen werden.
2001 kommt der Internet Explorer 6 auf den Markt, auf Windows-Computern vorinstalliert. Damit gewinnt er einen Marktanteil von höher 90%. Er enthält viele neue Features, aber auch Sicherheitslücken und Inkompatiblität mit den HTML-Standards.
1998 wurde der Standard CSS 2 veröffentlicht. Damals unterstütze noch kein Browser diesen Standard.
Von 2002 bis 2011 wurde an CSS 2.1 gearbeitet. 2011 war CSS 2.1 fertig und bekam den Status einer Recommendation. Eine Empfehlung (Recommendation) des W3C entspricht einem offiziellen Web-Standard.
CSS 2.1 ist die Grundlage modernen Webdesign. Dieser Standard ist die Empfehlung für Browser-Hersteller als auch die Anleitung für Web-Programmierer.
Aktuelle Entwicklung
Die Weiterentwicklung der Web-Standards wurde über die Jahre optimiert. Inzwischen arbeiten in den Arbeitsgruppen des W3C vor allem Browser-Vertreter die gemeinsam neue Ideen entwickeln, abgleichen und gemeinsam zur Reife bringen.
Neue Standards werden zuerst als Arbeitsentwurf veröffentlicht. Browserhersteller setzen die neuen Ideen um, teilweise noch in verschiedenartigen Implementationen. Nach vielen Reviews und erst wenn mindestens zwei Browser die neue Spezifikation umsetzen, wird daraus eine Empfehlung.
Die Vorstufen im Entwicklungsprozess einer W3C-Empfehlung (W3C Recommendation) sind Arbeitsentwurf (Working Draft), letzter Aufruf (Last Call Working Draft), Empfehlungskandidat (Candidate Recommendation) und der Empfehlungsvorschlag (Proposed Recommendation). Zu einer Empfehlung werden weiterhin Berichtigungen veröffentlicht, und es kann eine neue Ausgabe einer Empfehlung herausgegeben werden. Falls nötig, können Empfehlungen auch zur Überarbeitung zurückgezogen werden. (Quelle: Wikipedia)
CSS3
Genau genommen gibt es keinen CSS3-Standard. CSS 2.1 hatte einen noch knapp überschaubaren Umfang. Der Entwicklungsprozess des Standards verzögerte sich aber bereits aufgrund des Umfang. Deshalb wird CSS in verschiedene Module aufgeteilt und diese werden einzeln, jedes in seinem Tempo, weiterentwickelt.
Ist das Modul neu beginnt die Nummerierung bei 1; baut das Modul auf der CSS2-Spezifikation auf, beginnt die Nummerierung bei 3.
Eine übersichtliche Liste der Stati der verschiedenen Module findet sich z.B. auf der Mozilla-Entwickler-Website.
Beispiele (Stand 2017):
- Das CSS Color Module Level 3 hat seit 2011 den Status einer Recommendation. Es definiert Opacity, bietet neue Möglichkeiten von Farbdefinitionen (hsl() u.a.)
- Das CSS Multi-column Layout Module hat den Status eines Anwärters auf eine Empfehlung (die Vorstufe zum Standard). Es definiert die Möglichkeit Text in Spalten aufzuteilen.
- CSS Grid Layout wird seit Frühjahr 2017 von allen grossen Browsern unterstützt und hat den Status "Arbeitsentwurf"
Moderne Webentwicklung
Natürlich könnte man als Entwickler eine Website basierend auf einem Standard entwickeln. Sinnvoller ist es, nur Features zu verwenden die von genügend Browsern unterstützt werden.
Dafür kann man sich Websites wie caniuse.com bedienen. Auf CanIUse hat man die Möglichkeit sich die aktuelle Unterstützung einer CSS-Eigenschaft nach Browserversionen und im Verhältnis ihres Marktanteils anzeigen zu lassen.
Sinnvoll sind bei der Entwicklung einer Website die folgenden Überlegungen:
Wie lange ist die Lebenszeit einer Website? Eine typische KMU-Website überdauert gut und gerne 7 Jahre. Wenn nun im ersten Jahr nur 80% der User einen bestimmten CSS-Effekt sehen können, so werden es ein Jahr darauf schon 95% und in zwei Jahren wahrscheinlich 99% sein.
Wer ist die Zielgruppe? Ist die Zielgruppe der normale Bürger, so kann man sich auf aktuelle Statistiken (canIuse) abstützen.
Erstellt man aber ein Intranet für eine Bank, so macht es Sinn nur Features zu verwenden, die mit dem intern verwendeten Browser kompatibel sind.
Wie sieht die Seite aus wenn ein Feature nicht unterstützt wird?
Gewisse CSS-Features können problemlos verwendet werden, auch wenn ein Browser sie nicht unterstützt.
Ein (zugegeben etwas älteres) Beispiel ist border-radius: Wenn ein Knopf keine abgerundeten Ecken hat, wird er einfach kantig dargestellt. Das Design sieht leicht anders aus als gestaltet. Aber es lässt sich genausogut bedienen.
Möchte man hingegen eine mdoerne Layouting-Technik wie CSS Grid Layout verwenden, so macht es Sinn sich genau anzusehen wie die Website in einem Browser ohne Unterstützung dargestellt wird – und allenfalls ein Fallback anzubieten.