10 Gründe, warum der Browser zum universellen Betriebssystem wird

Vor einer Unmenge von Jahren in der Internetzeit (auch bekannt als 1995) haben Brendan Eich, Marc Andreessen und der Rest von Netscape das World Wide Web betrachtet und eine spärlich markierte Welt statischer Dokumente gesehen - eine Computerwüste, in der der Samen eines Programmierers keine finden konnte Kauf.

Sie hatten eine andere Vision: Pixel im Browser-Rechteck sind so lebendig wie jede Benutzeroberfläche. Sie wollten ein bisschen Turing-vollständige Berechenbarkeit hinzufügen, damit Programmierer die Seiten springen lassen können. JavaScript war die Antwort.

[Wie viel wissen Sie über Verkehrssprache im Web? Finden Sie es im JavaScript IQ-Test heraus. | Arbeiten Sie intelligenter und nicht härter - laden Sie den Developers 'Survival Guide von herunter, um alle Tipps und Trends zu erhalten, die Programmierer wissen müssen. | Bleiben Sie mit dem Developer World-Newsletter über die neuesten Entwicklernachrichten auf dem Laufenden. ]]

Am Anfang sahen Macho C-Programmierer ihre Kreation an und lachten. Sie scherzten über JavaScript als Spielzeug für Grundschulkinder, um Alarmboxen zu öffnen. Eich sah jedoch eine Möglichkeit für Programmierer, Informationen aus dem gesamten Web abzurufen. Bald kam es in Form von XMLHttpRequest.

Dreizehn Jahre später und ungefähr acht Jahre, seit das ganze Spiel in "AJAX" umbenannt wurde, wird die einstige Babysprache für Kinder schnell zur dominierenden Sprache für fast alles. Die Kombination von HTML, CSS und JavaScript versorgt Server, Desktops und Laptops mit Strom. Es ist im Wesentlichen die Standardplattform, das neue Betriebssystem.

Technisch gesehen bietet der Browser nicht das, was wir vom herkömmlichen Betriebssystem erwarten. Puristen werden sich beschweren: Macht sich das Browserteam jemals Gedanken über das knorrige Gewirr von Gerätetreibern? Hält der Browser das Dateisystem sauber und unbeschädigt? Jongliert der Browser mit mehreren Threads mit unterschiedlichen Prioritäten und hilft ihnen dabei, dieselben Prozessorkerne auf eine Weise zu teilen, die als fair angesehen werden kann? Die OS-Leute werfen einen Blick auf Chrome und lachen, weil dieser Browser nur puntet und sich für jede Webseite in einen anderen Prozess aufteilt, sodass die OS-Ebene die Arbeit erledigt.

Trotz dieser sehr legitimen Beschwerden von OS-Genies ist der Browser die dominierende Schicht, der einzige Nexus für Software, die einzige Schalttafel, in der alle Macht liegt. Das Betriebssystem benötigt ein Rechteck zum Zeichnen der Webseite, etwas Speicherplatz und einen TCP / IP-Feed. Alles andere wird plattformübergreifend ausgeführt, was, wenn alles in Betracht gezogen wird, relativ frei von Fehlern und anderen Problemen ist.

Im Gegenzug entlastet der Browser das Betriebssystem von vielem, außer dass er diese wenigen Informations-Feeds bereitstellt. Ein PC-Benutzer erwartet, dass er jedes alte Gerät einfügen und mit jeder alten Sammlung von Geräten arbeiten kann - ein sehr seltenes Ereignis. Ein Browserbenutzer möchte, dass ein Feld eine URL eingibt und Klicks an die JavaScript-Ebene sendet. Das Erstellen eines Nur-Browser-Geräts wird immer einfacher. Heck, Mozilla, eine sehr kleine Gruppe von Leuten, stellte Firefox OS mit einem winzigen Teil der Ingenieure heraus, die bei Apple, Google oder BlackBerry arbeiteten.

Und die Programmierer folgen den Benutzern zum Browser, um Funktionen an der Stelle bereitzustellen, an der Benutzer sie heutzutage erwarten. Hier sind 10 Gründe, warum der Browser jetzt König ist.

Browser als ultimativer Betriebssystemgrund Nr. 1: Der Aufstieg riesiger, umfangreicher Webanwendungen

Irgendwann wurde die Webseite zu einer vollständigen Anwendung. Der beste Weg, dies zu spüren, besteht darin, zu versuchen, etwas wie Google Mail mit einem sauberen Cache und einer schmerzhaft langsamen Internetverbindung zu starten. Das Programm ist groß genug, dass das Herunterladen aller Teile von JavaScript zu lange dauert. Der durchschnittliche Download kann fast 100 Dateien enthalten. Google erkennt nachdenklich, dass Google Mail für diese Gelegenheiten möglicherweise etwas zu groß ist, und bietet daher eine HTML-Basisversion, die viel kleiner ist.

Google Mail ist ein Beispiel für die Tausenden von großen Programmen, die regelmäßig in unseren Browsern ausgeführt werden. Viele lassen uns den Löwenanteil der Aufgaben erledigen, die einst nativen Anwendungen überlassen wurden. Es gibt integrierte Entwicklungsumgebungen (Codio, Cloud 9 und mehr), Bildbearbeitungspakete (unter anderem AIE) und viele HTML5-Spiele (siehe unten). Der Browser ist nicht auf statische Dokumente und das Ausfüllen von Formularen beschränkt.

Vor langer Zeit haben die Leute auf die Standard-Apps zum Lesen von E-Mails oder zum Bearbeiten von Fotos verwiesen und gesagt: "Kann Ihr Browser das tun?" Jetzt lautet die Antwort ja.

Browser als ultimativer Betriebssystemgrund Nr. 2: Einfache Erweiterbarkeit über Plug-Ins

Alle gängigen Browser verfügen über eine eigene Plug-In-Architektur. Wenn Sie mit dem Browser etwas Kluges tun möchten, kann die Plug-In-Ebene Ihren Code übernehmen. Sie schreiben Code in JavaScript und der Browser fügt ihn als Funktion hinzu. Sie können neue Routinen zum Bereinigen des Layouts hinzufügen oder bestimmte wertvolle Informationen wie Zitate für Ihr Papier speichern. Die Plug-In-Ebene für die Browser öffnet die Innenseiten für das Fummeln und dies auf eine sauberere und sicherere Weise, als dies mit herkömmlichen Betriebssystemen möglich ist.

Browser als ultimativer Betriebssystemgrund Nr. 3: Seine Open Source-Grundlage

Der Ausdruck "Open Source" enthält viele verschiedene Bedeutungen, und der Browser zeigt eine der einflussreichsten. Die Sprachen des Webs waren immer leicht zu verstehen - zumindest im Vergleich zu nativen Binärcodes - und als die frühen Entwickler die Option "Quelltext anzeigen" einschlossen, machten sie es Programmierern leicht, voneinander zu lernen.

Offenheit fördert Innovation, und dies ist einer der Hauptgründe, warum die Browser-Ebene mit so vielen cleveren Ergänzungen anschwillt. Das Erstellen von Software für die Browserebene ist einfacher, da dort mehr Arbeit geleistet werden muss. Das Innovationstempo ist blendend, weil gute Ideen schnell emuliert und verbessert werden. Jeder kann aus der Arbeit aller anderen lernen und dann alle im Gegenzug unterrichten. Allein diese Funktion hat so viele Programmierer hervorgebracht, dass sie von den Komitees in Washington, die sich ständig dafür einsetzen, mehr MINT-Studenten zu schaffen, als nationaler Schatz angesehen werden sollte.

Browser als ultimativer Betriebssystemgrund Nr. 4: Metaprogrammierung

Offenheit bedeutet nicht nur, dass der Quellcode für andere zum Kopieren, Überarbeiten und Erweitern verfügbar ist, sondern gilt auch für die Daten im Browser. Einige Softwarepakete wie Greasemonkey ermöglichen das Schreiben von Software, die über der auf einer Webseite ausgeführten Software ausgeführt wird. Greasemonkey kann direkt in den Webseitencode greifen und die Größe eines Elements ändern, eine Variable ändern oder den Text selbst neu schreiben. Es ist wie Open Source Codierung in Echtzeit.

Es gab Versuche, diese Art von Funktion klassischen Betriebssystemen anzubieten, aber die Skriptsysteme hatten noch nie einen ähnlichen Zugriff wie Greasemonkey im Browser. Selbst die fortschrittlichsten Skript-Tools wie AppleScript greifen nur über eine API auf den Code zu. Puristen mögen es vielleicht nicht, wenn jemand mit ihren Variablen herumspielt, aber sie haben nicht so viel Spaß. Aus diesem Grund sind einige der cleversten Tools in den Browsern verfügbar.

Browser als ultimativer Betriebssystemgrund Nr. 5: Einfachheit und Veränderlichkeit auf mehreren Plattformen

Mobile Geräte werden mit Browsern geliefert. Kühlschränke werden mit Browsern geliefert. Können mobile Kühlschränke mit Browsern weit zurückliegen? Warum nicht? Jeder möchte HTML, JavaScript und CSS für ein Rechteck auf seinen Computern verantwortlich machen, da es einfach anzupassen ist. Ist Ihr Bildschirm kurz und breit oder groß und dünn? Es spielt keine Rolle, da HTML in den dafür vorgesehenen Bereich fließt. Die CSS-gesteuerte Layout-Engine findet es heraus.

Es wird einige geben, die ganz richtig darauf hinweisen, dass nicht jede Webseite auf ungeraden Bildschirmen gut aussieht. Einige Websites sehen aus, als würde ein Auto sie treffen, wenn sie auf einem großen, dünnen mobilen Bildschirm angezeigt werden. Die Elemente sind überall verstreut und nichts reiht sich aneinander. Bei den Float-Stilen ist ein Fehler aufgetreten.

Diese Probleme verschwinden, da Webdesigner lernen, wie sie das breitere Spektrum der sich bietenden browserbasierten Möglichkeiten im Voraus planen können. Sie lernen, flexibel und elegant zu sein, damit der Inhalt unabhängig vom Gerät, auf dem er angezeigt wird, problemlos fließen kann.

Browser als ultimativer Betriebssystemgrund Nr. 6: Eine saubere Abstraktionsschicht

Die Open-Source-Grundlage des Webs fördert die schnelle Entwicklung von Best Practices für das Design. Es gibt immer noch einige Ecken der Technologiewelt - beispielsweise Apple -, in denen einige Designer darauf bestehen, dass alles auf ihre Weise mit ihrem nativen Framework erledigt wird. Trotz des Erfolgs von Apple bei der Steuerung mit Vader-Qualität ist das Web unschlagbar. Jede für iOS entwickelte Innovation wird schnell nachgeahmt und in die wichtigsten Frameworks integriert, die die HTML5-Welt dominieren.

Der demokratische Populismus des Browsers lässt die besten Ideen in die Luft sprudeln, während jeder ständig experimentiert. Dies ist zum großen Teil auf HTML und CSS zurückzuführen, die sich zu einer klaren Abstraktionsschicht entwickelt haben, die Bedenken trennt und die Zusammenarbeit für alle erleichtert. Designer und Programmierer können auf ihre spezifische Ebene abzielen und, wenn möglich, vordefinierte Bibliotheken und Frameworks einbringen, um die Arbeit anderer Designer und Programmierer in ihrem eigenen Code zu nutzen.

Browser als ultimativer Betriebssystemgrund Nr. 7: Bessere Freigabemodelle für Bibliotheken

Bibliotheken waren schon immer eine der größten Ursachen für Kopfschmerzen für Programmierer. Eine Anwendung auf dem Computer möchte die Version 3.4.666 einer Bibliothek verwenden, die andere die Version 3.4.667, aber das Betriebssystem kann nur die falsche finden. Wenn die Dinge nicht übereinstimmen, nennen es einige "Bitrot" und andere "Versionsfehler". In jedem Fall verliert jeder.

Die Browserwelt bietet eine bessere Möglichkeit, Bibliotheken zu verteilen. Viele Webseiten verweisen auf einige zentralisierte Kopien beliebter Bibliotheken wie jQuery oder Dojo. Anstatt ihre eigene Version zu verwenden, die auf der Website gehostet wird, verlinken sie auf eine zentrale Version, die von einem der Webinfrastrukturunternehmen wie Yahoo angeboten wird. Es ist wahrscheinlicher, dass diese vom Cache abgefangen werden, wodurch die nächste Webseite beim Herunterladen dieser Version der Bibliothek gespart wird.

Diese zentralisierten Versionen sind ordentlich nummeriert. Wenn zwei Webseiten Version 1.9.1 von jQuery verwenden, erledigt der Cache seine Aufgabe. Wenn man zu einer neueren Version wechselt, funktionieren beide. Der Cache spart möglicherweise nicht viel Zeit, bis er wieder dieselbe Version verwendet, aber der Switch funktioniert problemlos.

Der Ansatz ist nicht perfekt. Wenn die zentralen Kopien beschädigt oder mit Malware infiziert sind, kann jede Website, die sie verwendet, gefährdet werden. Aber wann war das letzte Mal so? Der Wechsel zu einer lokalen Version der Bibliotheken, die einfachste Lösung, wäre nicht schwierig.

Browser als ultimativer Betriebssystemgrund Nr. 8: Fruchtbarer, wettbewerbsfähiger Markt

Es war einmal nur Netscape. Dann dominierte der Internet Explorer. Jetzt scheint jeder einen Browser zu haben, der konkurriert. Chrome, Firefox, IE, Safari und Opera sind nur der Anfang. Es gibt Dutzende anderer kleinerer Browser mit eigenen Anhängern. Die mobile Plattform bietet noch mehr.

Alle konkurrieren um Augenanteile. Der Beste gewinnt, aber nur bis zum nächsten Upgrade-Zyklus. Dann beginnt der Wettbewerb erneut.

Dieser Kampf bringt Qualität hervor. Die besten Browser mit den nützlichsten Funktionen gedeihen, während die gelegentlichen Hacks verschwinden. Das passiert nicht immer auf der Welt, aber wenn es so ist, ist es großartig für die Verbraucher. Wenn es für Verbraucher gut ist, zeigt es die Leistungsfähigkeit der Browserschicht.

Browser als ultimativer Betriebssystemgrund Nr. 9: SVG, Canvas, Vektorgrafiken, großartige Benutzeroberflächen

Die frühen Webseiten waren vielleicht etwas langweilig, aber das war, bevor clevere Programmierer herausfanden, wie die CSS-Eigenschaften eines DIV oder eines SPAN animiert werden können. Jetzt können Rechtecke und die darin enthaltenen Wörter umdrehen, drehen, drehen, verblassen, blinken und sogar - den Gedanken verderben - einfach dort sitzen.

Wenn das nicht genug ist, sind die besten neuen Browser eng in Grafikkarten integriert und bieten dem JavaScript-Programmierer fast alle Funktionen. Während Spieleentwickler immer noch nativen Code benötigen, um einige extreme Tricks auszuführen, die Grafikkarten zum Schmelzen bringen, steht dem JavaScript-Programmierer fast jede ihrer Softwarefunktionen in irgendeiner Form zur Verfügung. Animiertes SVG, das Canvas-Objekt und einige Videos können fast alles. Es gibt sogar eine 3D-Ebene namens WebGL, die das dreidimensionale Rendern übernimmt. Der Browser wird niemals mit den Konsolen oder nativen Spielen konkurrieren können, aber er wird gute Arbeit leisten, wenn die Grafiken nicht zu kompliziert sind. Das ist mehr als genug für großartige Spiele.

All dies bedeutet, dass das Erstellen einer Benutzeroberfläche für eine Webseite jetzt viel einfacher ist als das Erstellen einer Benutzeroberfläche für eine Basis-App. Designer können mit HTML, JavaScript und CSS arbeiten, drei einfachen Sprachen, die viel einfacher sind als Java, C ++ oder Objective-C, die für native Apps verwendet werden. Erneut zieht eine einfachere Codierung mehr Programmierer an, die mehr Code erstellen und die Plattform dominieren lassen.

Browser als ultimativer Betriebssystemgrund Nr. 10: Node.js.

Der vielleicht ultimative Beweis für den Erfolg des Browsers als Plattform ist Node.js, das serverseitige Framework, mit dem Browser-Programmierer, die in JavaScript und Closures vertieft sind, Anweisungen für den Server schreiben können, ohne PHP oder Java zu lernen.

Das Paket bietet für einige Aufträge eine spektakuläre Leistung, indem das in früheren Generationen übliche Gewindemodell einfach weggeworfen wird. Stattdessen wird die Rückruffunktion verwendet, eine der Redewendungen der Browserprogrammierung, um die Arbeitslast zu bewältigen. In den richtigen Händen können Programmierer die Gefahren umgehen und einen sauberen Mechanismus erstellen, der die Informationen vom Server schnell und effizient aufteilt.

Dies ist ein kleiner Sieg für die JavaScript-Welt, da viele über die komplizierten Abschlüsse und Rückrufe der Browserprogrammierung spotteten und sie als verworren und übermäßig verschachtelt betrachteten. Doch jetzt, da die Ergebnisse schnell sind, akzeptieren die Menschen mehr. Geschwindigkeit und Sparsamkeit können Konvertiten überzeugen.