Heute gibt es wieder etwas zum DI-Day. Dieser wurde erstmals von Marc-Uwe Kling zusammen mit dem Chaos Computer Club während des 39th Chaos Communication Congress (39C3) ins Leben gerufen. Ziel ist es, sich unabhängig von Big-Tech-Plattformen zu machen. Für mich bedeutet das, in Zukunft noch mehr darauf zu achten, ob es nicht eine Alternative zu den allbekannten großen Services gibt.

Auf der Webseite vom DI-Day, gibt es eine Menge von sogenannten „Wechselrezepten“. Sie sollen dazu anregen, zu einem alternativen Dienst zu wechseln. Deshalb möchte ich heute die Gelegenheit nutzen, um über eine sogenannte „Alternative“ zu sprechen. Ich möchte euch davon berichten, dass ich schon lange Firefox benutze und diesen Browser schon lange nicht mehr als Alternative verstehe, sondern in vielen Punkten auch überlegen im Vergleich zu anderen Browsern finde.

Der wichtigste Bestandteil eines Browsers, ist seine Engine. Das ist der Teil des Browsers der dafür zuständig ist, dass eine Webseite auf euren Display angezeigt wird. Blink ist ein Engine, die von Google entwickelt wird und ist die wohl am weitesten verbreitete Engine. Sie ist Bestandteil von Google Chrome, dem Browser mit der wohl größten Verbreitung. Aber es gibt auch eine Vielzahl an anderen Browsern, die auf Blink aufbauen, z. B. Edge oder Vivaldi. Aber damit nicht genug: Eine Vielzahl an Frameworks verwendet ebenfalls Blink. Ein Beispiel dafür ist Electron, welches von vielen Anwendungen eingesetzt wird. Eine weitere Browser Engine ist WebKit. Diese wurde von Apple entwickelt und kommt unter anderem in Apples eigenem Browser Safari zum Einsatz.

Firefoxs Browser Engine ist Gecko. Das Besondere im Vergleich zu den anderen Engines ist, dass Gecko zum Teil mit Rust programmiert wird. Das Besondere an Rust ist, dass die Sprache versucht, den Programmierer zu unterstützen, indem sie versucht, Speicherfehler zu verhindern. Speicherfehler sind einer der häufigsten Fehler in der Programmierung, die zu massiven Sicherheitslücken führen können. Deshalb kann ich die Verwendung einer Sprache wie Rust bei einer Browser Engine nur gutheißen. Blink auf der anderen Seite ist in C++ programmiert, auch eine sehr effiziente Sprache, jedoch werden in C++ viel häufiger Speicherfehler programmiert, da die Sprache nicht auf Speichersicherheit ausgelegt ist.

Ein weiterer wichtiger Unterschied bei den Browsern ist, welche Addons diese unterstützen. Leider ist das Internet, wie wir es kennen, nur noch mit Adblocker nutzbar. Die extreme Menge an Werbung, die auf einigen Seiten geschaltet ist, wäre ohne Adblocker nicht zu ertragen. Damit ein Addon funktionieren kann, muss der Browser sogenannte APIs bereitstellen. Diese werden für Browser in den WebExtensions definiert. Aktuell sind Manifest Version 2 (V2) und Version 3 (V3). Ein wichtiger Unterschied in den zwei Versionen ist, welche APIs diese unterstützen. Bedauerlicherweise ist bei der dritten Version die Unterstützung für blockingWebRequest entfallen. Dies führt dazu, dass Adblocker nicht mehr so effizient wie vorher arbeiten können1.

Wusstet ihr, dass man auch auf Mobilgeräten Browser Addons installieren kann? Wenn nein, nutzt jetzt die Möglichkeit, ladet euch Firefox für euer Handy runter und installiert uBlock Origin, ihr werdet mit Sicherheit ein besseres Browsererlebnis haben als vorher.