Web 3.0 – Weg vom Browser

Web 1.0 brachte Information zum Benutzer, im nächsten Schritt brachte der Benutzer Information in das Web 2.0 ein. Nun ist es soweit und das Web 3.1* ist aus dem Browser herausgewachsen und überall verfügbar.

Irgendwann stellt sich immer die Frage: Was kommt als nächstes? Was ist also der Nachfolger des Web 2.0? In Internet-Jahren gesprochen, existiert Web 2.0 schon seit 100 Jahren. Von Web 1.0 (1991) zu Web 2.0 (2003) dauerte es ~10 Jahre und nun haben wir schon 2014, es sind also weitere 11 Jahre vergangen. Wo bleibt der Nachfolger, zumal sich doch alles immer schneller, beinnahe täglich, ändert?

Web 3.0

Geht es nach John Markoff ist die nächste Version des Webs das semantische Web. Also ein Web, dessen Inhalt so ausgezeichnet ist, dass es von Maschinen sinnvoll verwertet werden kann. Das semantische Web trägt also dem “Internet der Dinge” zu. Für die nächste Evolution des Webs ist es notwendig, dass nicht mehr nur Menschen Inhalte (Content) erstellen und konsumieren, auch die Maschinen müssen diesen verarbeiten und somit wiederum dazu beitragen, dass das weltweite Netz den Menschen noch besser unterstützt.

Man kann also sagen, dass das Web 3.0 schon veröffentlicht (released) wurde. Es ist bereits in Benutzung, aber stark in der Entwicklung und am Anfang seines Seins.

Web 3.1 – Abseits des Browsers…

bietet die Basis des Webs die super Ausgangslage, den Menschen in Zukunft auch außerhalb des Browsers** zu Unterstützen. Und das alles in der enormen Entwicklungsgeschwindigkeit, die wir vom Web gewöhnt sind.

Leider ist Apple in seiner WWDC14 Keynote nicht den Schritt gegangen, seine Plattform der WebTechnologie vollkommen zu öffnen. Stattdessen wurde Swift als Alternative zu Objective-C vorgestellt, schade. Aber: Apple hat seine WebView auf WebKit Basis weiter ausgebaut, sodass native (Swift) Apps noch besser mit JavaScript und Co. kombiniert werden können. Andere Hersteller sind hier aber bereits den Weg des Web 3.1 gegangen und ermöglichen native App Entwicklung mit WebTechnologien (JavaScript, HTML5 und CSS3), zum Beispiel:

  1. Mozilla mit ihrem Betriebssystem für Smartphones. Apps können im Firefox getestet werden und funktionieren ohne weitere Zutun auch genau so auf dem Smartphone: http://www.mozilla.org/de/firefox/os
  2. Klar, Google verdient mit dem Web den Hauptteil seiner Einnahmen und so ist der Schritt mit Chrome OS nur sinnvoll. Ein ganzes “Betriebssystem” für Laptops, das quasi nur aus einem Browser besteht. Die Apps sind ganz normale WebApps und können im gleichen Store gefunden werden, wie auch die Browser Chrome WebApps.
  3. BlackBerry hat mich von Anfang an mit seinen WebWorks genannten SDK begeistert und brachte so als einer der ersten HTML5 WebTechnologie zur Entwicklung nativer Apps auf das Smartphone.
  4. Mit Cordova und dessen berühmten Derivat PhoneGap ist es mittlerweile sehr leicht auch auf Android und iOS HybrideApps in den AppStore zu bringen. 
  5. Auch Microsoft ermöglicht seit einiger Zeit die Entwicklung von Software mit WebTechnologien für das Betriebssystem Windows 8. So können normale Anwender von Windows 8 gar nicht mehr unterscheiden, ob die Logik der gerade gestartete Anwendung mit JavaScript oder C entwickelt wurde.
  6. Dank vielen Open-Source Projekten wird, ähnlich wie bei Cordova / PhoneGap, auch das Entwickeln von Desktop-Software mit der Basis des Webs immer leichter:
    1. https://crosswalk-project.org/
    2. https://github.com/atom/atom-shell
    3. uvm

Um diese Liste zu vervollständigen ist besonders noch Famo.us zu erwähnen. Dank intelligenter Nutzung des Renderings durch WebGL mit entsprechender Layout & Physic Engine sind WebApps und HybrideApps, die sich anfühlen und performen wie ihre nativen Brüder, für viele Entwickler möglich. Durch Frameworks wie Famo.us wird die Verbreitung von WebTechnologie außerhalb des Browsers wesentlich vorangeschoben.

Das w3c hat mittlerweile auch die Arbeit für ein WebApp Manifest aufgenommen. Ein weiterer Beweis dafür, dass WebAnwendungen vollwertige Softwareprodukte sein werden.

Vom Erfinder des Internets, Tim Berners-Lee, stammt das Prinzip der Wahl der schwächsten Programmiersprache. Das hört sich negativ an, ist es aber nicht. Eine ganze Zeitlang wollte jeder nur die mächtigste Sprache, dabei bieten Sprachen, die weniger mächtig sind, dem versierten Entwickler viele Vorteile:

The less powerful the language, the more you can do with the data stored in that language.

So kam es auch zu der Aussage von Jeff Atwood:

any application that can be written in JavaScript, will eventually be written in JavaScript.

Und so haben wir mittlerweile in der, einst noch belächelten, Sprache JavaScript eine

und vieles mehr, von dem nie jemand annahm, dass sie jemals in der Scriptsprache JavaScript umsetzbar sind. Umsetzbar meint hier den vollen Umfang, nicht nur, dass es funktioniert sondern auch eine hohe Performance aufweisst. Dank der Optimierung der JavaScript Engines, als Vorreiter ist hier Googles V8 zu nennen, ist JavaScript eine ernst zu nehmende Konkurrenz für jede Sprache in jedem Bereich. Natürlich haben mittlerweile alle JS-Engines stark an Performance zugelegt und so bin ich begeistert von der Geschwindigkeit der Webkit JavaScript Engine JavaScriptCore (Apple Safari Nitro) und ab iOS8 wird dessen volle Power auch in hybriden Apps verfügbar sein.

Zusammenfassend kann man also sagen: JavaScript ist Web 3.1.

* Einfach nur eine geekige Anlehnung an Windows 3.1 und außerdem dient es der Abhebung von Web 3.0 als Bezeichnung für das Semantische Web durch John Markoff.

** Natürlich befindet man sich technisch gesehen immer noch in einer Browser Umgebung, wenn man als Beispiel hybride Apps entwickelt oder einen Laptop mit Chrome OS benutzt, dennoch ist es eigentlich nicht mehr der Browser im eigentlichen Sinne und die Anwendungen werden nicht per URL aufgerufen.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>