molily: IE bashing

Beitrag lesen

Ein Browser ist eine stinknormale Anwendung, die irgendwelche Eingabedaten in eine bildliche Repräsentation umsetzt (und, ich gebe es widerwillig zu, auch Multimedia-Inhalte entsprechend einbettet). Also nichts, was auf konkrete Eigenschaften des OS angewiesen wäre.

Der Browser ist, wie jede nicht-triviale Software, sehr wohl auf konkrete Eigenschaften des Betriebssystem angewiesen.

Der Browser ist eine der komplexesten Anwendungen, die auf heutigen PCs laufen. Man schaue sich einmal WebKit for Developers an. Dieser Artikel erklärt, aus was für Komponenten heutige Browser aufgebaut sein müssen und wie sie auf Betriebssystem-Features aufbauen. Es zeigt auch die Schwierigkeit, die das Entwickeln eines betriebssystemübergreifenden Browsers mit sich bringt. Es ist überhaupt nicht trivial, diese bildliche Repräsentation zu erzeugen. – Eine Website auf das zu reduzieren wird den Möglichkeiten von HTML, CSS, JavaScript, SVG usw. ohnehin nicht gerecht. – Vielmehr ist es eine Wissenschaft für sich und sehr, sehr stark davon abhängig, was das Betriebssystem für APIs mit sich bringt.

Zudem sollte man einen Blick in die Lizenzbedingungen von Chrome (chrome://credits/) oder Firefox (about:license) werfen, um zu sehen, aus wievielen unzähligen Softwareprojekten ein Browser zusammengeschustert ist. Chrome und Firefox binden dutzende Open-Source-Bibliotheken ein, um grundlegende Dinge zu tun, die das Betriebssystem eigentlich schon mitbringt (z.B. das Dekodieren von PNG-Bildern), aber eben nicht betriebssystemübergreifend einheitlich. Chrome und Firefox sind betriebssystemübergreifend, weil sie das Betriebssystem quasi mitbringen.

Bei IE ist das grundlegend anders. Der IE ist nicht aus eigenständigen, plattformübergreifenden Open-Source-Bibliotheken zusammengestellt, sondern baut sinnigerweise auf Microsoft-Bibliotheken und speziell Windows-Techniken auf. Microsoft hat ein starkes Interesse, diese Funktion nicht mehrfach und parallel zu implementieren, sondern auf das zu bauen, was in neueren Windows-Versionen ohnehin zur Verfügung steht. Das ist erst einmal kein Marketing, sondern ein Gebot der Software-Entwicklung. IE 10 für ältere Windows-Versionen würde höchstwahrscheinlich das Backporten verschiedener Windows-Komponenten erfordern.

Es ist also eine willkürliche Einschränkung, dass IE9 und IE10 nicht mehr unter XP nutzbar sind, während aktuelle Versionen von Firefox oder Opera sogar noch mit Windows 2000 laufen.

Es ist keine willkürliche, sondern eine wirtschaftliche und auch technische Entscheidung. Und ja, natürlich will Microsoft auch neue Windows-Lizenzen verkaufen. Es besteht wirtschaftlich wie technisch kein Grund, aktuelle IEs für 10 Jahre alte Windows-Versionen bereitzustellen, deswegen tut es Microsoft nicht. Auch Mozilla und Chrome werden sich bald von alten Betriebssystemen trennen. Momentan unterstützen sie diese nur, weil ihre technische Infratruktur es erlaubt (s.o.) und weil Microsoft es nicht tut, sie also die Nische konkurrenzlos besetzen können.

IE 10 ist ein moderner Hardware-beschleunigter, energieeffizienter, sicherer Browser für Touch-Geräte unter x86 oder ARM – dafür hat ein aktuelle Betriebssystem sicherlich bessere Voraussetzungen zu bieten als ein über 12 Jahre altes. Heutige Browser kämpfen vor allem mit Parallelisierung der verschiedenen Operationen auf mehreren CPU-Kernen, und entsprechenden Sicherheits-Sandboxen. Mozilla schreibt aus diesem Grund den gesamten Browser neu – die Testversion läuft  derzeit lediglich unter Linux und OS X.

Als Anwender muss man das nicht schön finden, aber das ist eine andere, nicht-technische Ebene.

Mathias