Anzeige
Anzeige
UX & Design
Artikel merken

Technologien, die das Web verändern werden: State of the Art

Webentwickler haben derzeit die großartige Aufgabe, die Zukunft des (Arbeits-) Alltags vieler Internetnutzer mitzugestalten. Doch während Anwender mit Techologien wie dem iPad gefühlt in Star Trek TNG angekommen sind, arbeiten Entwickler an vielen Stellen immer noch mit Technologien, die sich seit den 1970er Jahren nicht wesentlich weiter entwickelt haben: SQL, TCP/IP, VI/Emacs, um nur einige zu nennen. Wir werfen einen Blick auf spannendere Technologien, die Entwickler sich unbedingt heute schon anschauen sollten.

6 Min. Lesezeit
Anzeige
Anzeige

Vergleicht man einen aktuellen Browser (zum Beispiel Safari 4.x) mit dem Internet Explorer 6, kann man sich schon wundern. Es ist wirklich erstaunlich, wie sehr der harte Konkurrenzkampf zwischen Apple (Safari), Google (Chrome), Opera und Mozilla (Firefox) um den besten Browser die Technologieentwicklung vorangetrieben hat. Ein Name fehlt: Microsoft – deren Leistung besteht momentan darin, langsam aber sicher wieder zum Rest aufzuschließen und sich nicht mehr mit Händen und Füßen gegen die Innovationen im HTML5-Standard zu wehren.

HTML und das Web der Zukunft

Anzeige
Anzeige

Und so kann man als Entwickler beginnen, die spannenden Technologien, die HTML5 mit sich bringt, auch in echten Projekten zu nutzen. Dadurch werden Webanwendungen noch performanter, noch effizienter, noch hübscher und noch interaktiver.

Offline-Storage [1] beispielsweise, inklusive einer über JavaScript zugänglichen SQL-Datenbank, macht Webanwendungen unabhängig von einer konstanten Verbindung zum Internet.

Anzeige
Anzeige

Websockets [2] hingegen können für Kommunikationsintensive Anwendungen (zum Beispiel Chats, aber auch kollaborative Editoren wie Etherpad) die fehleranfälligen und aufwändig zu verwaltenden COMET-Krücken oder Flash-Wrapper ersetzen.

Anzeige
Anzeige

Die in CSS3 [3] enthaltenen Effekte wie „border-radius“ und „drop-shadow“ machen dagegen das Styling von Webanwendungen leichtgewichtiger und flexibler: Man muss nur noch selten in Photoshop runde Ecken und Schatten ausschneiden. Mit CSS-Transitions (auch CSS3) kann man an vielen Stellen bisher mühsam in JavaScript programmierte Animationen ersetzen. Mit dem Canvas-Element gibt es außerdem endlich eine komfortable Möglichkeit, anspruchsvolle Grafiken in JavaScript direkt zu zeichnen.

Und wenn man über den HTML5-Horizont hinaus schaut, tauchen dort Dinge wie WebGL [4] auf, die es ermöglichen werden, in einem Canvas OpenGL zu verwenden, um 3D-Grafiken mit Hilfe der 3D-Grafikkarte zu rendern. Ist es da wirklich so schlimm, wenn einige wichtige Endgeräte, wie das iPad oder das iPhone, vermutlich niemals Adobes Flash unterstützen werden?

Anzeige
Anzeige

Die Multitouch-Revolution ist unaufhaltsam

In Bezug auf das iPad ergeben sich auch ohne Flash interessante Zukunftsszenarien. Wer schon mal ein iPad in der Hand gehalten hat, ahnt, dass die dort verwirklichte Multitouch-Steuerung eigentlich die Zukunft sein muss. Hat man das iPad benutzt, fühlt sich das Arbeiten mit einem Trackpad oder einer Maus danach doch ziemlich plump und vor allem indirekt an. Dieser Aspekt wird sehr direkte Auswirkungen auf die Arbeit von Entwicklern haben: Multitouch-Oberflächen funktionieren nämlich ganz anders als herkömmliche Eingabegeräte. Auf der einen Seite kann man mit einer Fingerbedienung nicht so präzise „klicken“ wie mit einer Maus – komplexe Menüstrukturen mit mehreren Ebenen oder winzige Buttons sind also keine Option. Auf der anderen Seite ist es eben Multitouch. Kaum ein aktuelles GUI-Framework ist überhaupt darauf ausgelegt, mehrere Eingaben gleichzeitig zu verarbeiten.

Event-basierte Modelle wie das Twisted-Framework in Python  skalieren deutlich einfacher als der synchrone Ansatz. 

Event-basierte Modelle wie das Twisted-Framework in Python skalieren deutlich einfacher als der synchrone Ansatz.

Ein nicht weniger wichtiger Aspekt ist, dass das Web allerspätestens mit dem iPad auch in komplett technisch unbeleckten Kreisen (Umgangssprachlich DAUs oder N00bz genannt) angekommen ist. Damit verpufft auch die letzte Möglichkeit, den DAU als unwichtigen Sonderfall zu betrachten. Eine Anwendung muss selbsterklärend und ohne Kenntnisse jahrelang gewachsener Konventionen bedienbar sein. Gerade hier gilt: Hochmut kommt vor dem Fall.

JavaScript auf Abwegen

JavaScript erlebt derzeit ein wahres Comeback. Seit der „Erfindung“ von AJAX durch Jesse James Garret ist dieser von vielen lange als Spielsprache verpönte Mix aus funktionalen und prototypisch-objektorientierten Sprachkonzepten stetig im Aufwind und wird nun plötzlich, überraschenderweise sogar aus Performance-Gründen, auch als Sprache auf dem Server interessant.

Anzeige
Anzeige

Node.js [5], eine von Ryan Dahl vorangetriebene Referenzimplementierung, basiert dabei auf V8 [6], der JavaScript-Runtime/VM aus Chrome, und ist konsequent auf Event-basiertes I/O ausgelegt – ein Modell, das durch das Twisted-Framework in Python [7] und die Eventmachine-Bibliothek [8] in Ruby schon bewiesen hat, dass es deutlich einfacher zu skalieren ist als der alte, synchrone Ansatz. So kann man mit besagtem node.js mit wenig Aufwand hochperformante Server bauen, die beispielsweise keines der üblichen Probleme mit hohen Verbindungszahlen haben.

NOSQL ist ein wichtiger Zukunftstrend. Dokumenten-Datenbanken wie<br />  CouchDB wollen beispielsweise Datenstrukturen näher an den Bedürfnissen<br />  von Webentwicklern abbilden. 

NOSQL ist ein wichtiger Zukunftstrend. Dokumenten-Datenbanken wie
CouchDB wollen beispielsweise Datenstrukturen näher an den Bedürfnissen
von Webentwicklern abbilden.

Das harte Problem der Concurrency

Neben JavaScript existieren ein paar andere Sprachen, die man vor allem wegen der besseren Parallelisierungs- und damit Skalierungs-Konzepte auf dem Schirm haben sollte. Aus dem Java-Lager buhlen vor allem Scala und Clojure um die Aufmerksamkeit, wobei Clojure vor allem LISP-Jünger ansprechen dürfte, während Scala versucht, sich nicht allzu weit von Java zu entfernen. Beide Sprachen orientieren sich auch an funktionalen Konzepten, die sich offensichtlich bewähren, wenn es darum geht, leichtgewichtige Lösungen für die Parallelisierung von Prozessen zu schaffen.

Seiner Zeit gerade auf diesem Gebiet weit voraus war auch Erlang [9], eine von Ericsson-Mitarbeitern in den späten 80ern geschaffene Sprache, die immerhin schon seit 1998 als Open Source verfügbar ist, aber erst in den letzten Jahren bekannter wurde, unter anderem durch den beliebten, weil hoch performanten und stabilen Jabber-Server ejabberd. Durch die mit Erlang mitgelieferte Open Telephony Platform (OTP) [10] ist es relativ einfach, skalierbare und vor allem hoch verfügbare Services zu bauen. Auch wenn die Syntax von Erlang sehr gewöhnungsbedürftig ist, lohnt es sich zumindest, sich die Architekturkonzepte einmal genauer anzusehen, denn dort stecken inzwischen wirklich Jahrzehnte an Erfahrung mit Hochverfügbarkeit drin – Ericsson betreibt mit Erlang vor allem Telefonvermittlungsanlagen [11].

Anzeige
Anzeige

NoSQL und die Zukunft der Persistenz

Ein weiteres Aushängeschild von Erlang ist CouchDB von Damien Katz, einem ehemaligen Lotus-Notes-Entwickler. CouchDB leitet direkt über zu einem weiteren spannenden Zukunftsthema – dem großen Trend NoSQL.

Entstanden aus der Erkenntnis, dass man SQL-Datenbanken wie das ubiquitäre MySQL eigentlich vor allem deswegen nutzt, weil man nichts besseres kennt, ist NoSQL ein Sammelbegriff für eine ganze Reihe von verschiedenen Konzepten für alternative Datenbanken. Die Motivation für die Nutztung derartiger Datenbanksysteme sind ganz unterschiedlicher Natur: Dokumenten-Datenbanken wie CouchDB oder MongoDB nehmen für sich in Anspruch, Datenstrukturen näher an den Bedürfnissen des Webentwicklers abzubilden, in dem sie zum Beispiel komplexe Datenstrukuren wie Listen und Hashes innerhalb eines Datensatzes erlauben und gleichzeitig komplett auf ein festes Datenschema verzichten. So hat man beispielsweise kein Problem mehr mit Datenmigrationen, was jeden Entwickler, der schon einmal eine halbwegs große SQL-Datenbank auf ein neues Schema migrieren musste, freuen wird.

Apache Hadoop führt Queries und Auswertungen verteilt aus. 

Apache Hadoop führt Queries und Auswertungen verteilt aus.

Key-Value-Stores wie Redis [12] oder Tokyo Cabinet [13] versuchen, durch besonders hohe Performance zu überzeugen und eignen sich weniger für komplexe Datenstrukturen. Dann gibt es noch Lösungen wie Riak [14] und Cassandra [15], die insbesondere für hoch skalierende Systeme gedacht sind und Replikation weitestgehend automatisieren sowie durch geschicktes Design Konflikte in verteilten Systemen minimieren. Hier ist ein oft genanntes Vorbild das Dynamo-Paper von Amazon [16], die mit SimpleDB [17] auch einen beliebten NoSQL-Vertreter im Stall haben. Sind die Daten ohnehin verteilt in der Cloud vorhanden, liegt es nahe, Queries und Auswertungen auch verteilt zu erledigen. Dafür bieten sich Googles „Map/Reduce“-Algorithmen an. Einige der genannten Systeme bieten derartige Fähigkeiten gleich mit an, ansonsten gibt es mit Apache Hadoop [18] eine Open-Source-Implementierung.

Anzeige
Anzeige

Zukunft wird gemacht

All diesen vorgestellten Lösungen ist gemein, dass sie nicht versuchen, alle Probleme auf einmal zu lösen, sondern sich auf ein spezielles Problemgebiet spezialisieren. Auch hier macht sich ein Meta-Trend bemerkbar: wirklich gute Lösungen sind oft hochspezialisiert – und so wie man Ruby on Rails und seinen Verwandten am Anfang vorgehalten hat, dass sie sich schlecht für das Anbinden von Legacy-Systemen eignen, könnte man CouchDB vorwerfen, dass es keine Transaktionen abbilden kann. Man könnte aber auch einfach schauen, an welchen Stellen man von den Vorteilen eines Systems wie CouchDB profitieren kann und gute Software für die Zukunft bauen.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
6 Kommentare
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Till K.

All die genannten Technologien machen das Arbeiten als Webdesigner wesentlich einfacher. Es geht kaum noch Projekt ohne AJAX umzusetzen. Bei den Browsern ist natürlich im Moment der IE nicht die erste Wahl, jedoch MySQL ist eine alte starke Liebe, die noch keinen Rost angesetzt hat. Was mich interessirt, ob es zukünftig einen Ersatz für die klassische Maus gibt. Vielleicht auch ein Multitouch-Pad? Ich bin gespannt.

Antworten
PHP-Bernd

Gut recherchierter Artikel! Leider kämpfe ich noch mit Umlauts und Stabilität bei MongoDB, sonst ist schemafrei natürlich voll doll!

Antworten
Dieter

Ein wirklich gut geschriebender Artikel. Danke Jan

Antworten
Dirk

Ein guter Blog mit tollen Infos. Die Html5 Variante ist klasse.

Antworten
Hannes

da wird wohl noch jede menge Arbeit auf uns zukommen :/ dafür werden die Möglichkeiten welche man hat immer umfangreicher :)

Antworten
Uwe

Ja, viel Arbeit aber sie wird sich sicher auch rentieren oder nicht?

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige