Vorheriger Artikel Nächster Artikel

Sponsored Post: Trainingsevent JavaScript Days lockt mit Experten [Interview]

Im März findet in München mit den Days ein statt, das die Veranstalter als Trainingsprogramm für und Software-Architekten beschreiben. Jakob Westhoff ist als Program Chair verantwortlich für die Inhalte des Trainingsevents. Er ist Experte für die Entwicklung von Web-Anwendungen auf Basis von JavaScript und dessen Frameworks. Im spricht Jakob Westhoff über Zustand und Zukunft von JavaScript und erklärt, was es mit den JavaScriptDays auf sich hat.

Sponsored Post: Trainingsevent JavaScript Days lockt mit Experten [Interview]

Die JavaScript Days finden vom 6. bis 8. März in München statt. Über drei Tage vermitteln elf JavaScript-Experten in insgesamt 18 Workshops die wichtigsten Tools und Techniken, zeigen wertvolles Know-how und präsentieren Lösungen für typische Problemstellungen bei der Arbeit mit JavaScript. Teilnehmer erhalten ein persönliches Entwickler-Akademie-Zertifikat, dasdie erfolgreiche Teilnahme bescheinigt.

Jakob, JavaScript hat es innerhalb kürzester Zeit geschafft, für alle Entwickler – egal mit welchem Background – eine wichtige Rolle zu spielen. Woher rührt deiner Meinung nach der Erfolg?

Jakob Westhoff: JavaScript ist aus dem Bereich der Web-Entwicklung nicht mehr wegzudenken. Woran liegt das? An der Eleganz der Sprache? An ihrem unglaublichen Feature-Reichtum? An Ihrer Flexibilität? Alles Punkte für die sich sowohl Befürworter, wie auch hartnäckige Gegner finden lassen. Es muss also etwas Anderes sein.

Die wahre Antwort lautet: JavaScript ist einfach alternativlos. Mit Hilfe dieser Sprache lassen sich komplexe Applikationen entwickeln, die den Browser als eine Laufzeitumgebung, und Layoutingsystem verwenden, ohne eine Website üblicher Art zu sein. Dank neuer HTML5-APIs stehen diese mittlerweile ihren Desktop-Pendants in nahezu nichts mehr nach. Im Gegensatz zu diesen bieten sie jedoch die gesamte Flexibilität, die mit verteilten Systemen einhergeht: Direkte Anbindung an ein System zur Datenspeicherung und - verarbeitung, transparentes und schnelles Deployment neuer Features und Programmänderungen, sowie ein großes Verbreitungspotenzial auf allen Systeme mit einem aktuellen Browser.

JavaScript ist als Sprache also diskussionswürdig, übt jedoch ungeachtet dessen durch seine nahtlose Integration in die meisten Systeme einen nicht zu unterschätzenden Reiz auf Entwickler und Product-Owner aus.

ECMAScript bildet den Kern von JavaScript, aktuell wird an Version 6 gearbeitet – Codename „Harmony“. Was bedeutet das für JavaScript als Sprache?

Jakob Westhoff: ECMAScript Harmony stellt eine grundlegende Veränderung vieler bekannter Sprachkonzepte dar. Das was wir aktuell allgemein als JavaScript (ECMAScript 262 Revision 5) kennen ist niemals für seine aktuellen Einsatzgebiete geplant gewesen. Wenn man bedenkt in welch kurzer Zeit und zu welchem Zweck die Sprache ursprünglich entstand, dann ist es erstaunlich, wie weit wir mit ihr bereits gekommen sind.

Revision 6 der Sprache stellt also eigentlich nur eine dringend notwendige Änderung und Ergänzung von Features dar, die JavaScript-Entwickler schon lange vermissen. Seien dies Klassen oder ein dynamisches Modulsystem.

Jedoch braucht sich momentan noch niemand Sorgen wegen eventueller Kompatibilitätsbrüche zu machen, denn bis ECMAScript Harmony komplett spezifiziert und anschließend in Browsern verfügbar ist, wird noch einiges an Zeit vergehen. Es schadet natürlich nicht sich bereits jetzt schon mit den neuen Features vertraut zu machen.

Welche weiteren Verbesserungen sind deiner Meinung nach noch nötig?

Jakob Westhoff: Das ist eine schwierige Frage. Die Spezifikation von ECMAScript Harmony ist noch nicht abgeschlossen. Das bedeutet es steht momentan noch nicht fest, welche der vorgeschlagenen Änderungen sich später in der Sprache wiederfinden werden.

Darüber hinaus haben sich viele der nun diskutierten Änderungen aus einer Notwendigkeit beim täglichen Einsatz ergeben. Ich wage nicht zu prognostizieren, wo JavaScript in 5 oder 10 Jahren sein wird. Besonders nicht, wenn ich mir anschaue als was es geplant war und nun eingesetzt wird.

Die Konkurrenz schläft nicht – Google schickt mit Dart einen Konkurrenten ins Spiel, Microsoft versucht mit TypeScript die Syntax zu vereinfachen – ähnlich wie es CoffeeScript versucht. Ist das der richtige Ansatz?

Jakob Westhoff: Ansätze eine Sprache, die für ihren Einsatzzweck nicht ideal ist, zu verbessern, sind immer gut. Durch den Versuch existierende Probleme zu lösen können unterschiedliche Wege erkundet werden, die schließlich zum Ziel führen. Letztendlich kann nur die Zeit zeigen, welche der unterschiedlichen Ansätze besser oder schlechter für den jeweiligen Zweck ist.

Ich sehe momentan die Zukunft eher in Ideen, wie dem Sweet.js-Projekt, das mit hygienischen Makros die Kontrolle über Veränderungen an der Syntax der Sprache dem Entwickler selbst in die Hand zu geben versucht. Letztlich kann dieser meist am besten entscheiden, welche Features er für sein aktuelles Problem braucht und welche nicht.

Trotz seiner Komplexität wird JavaScript immer beliebter und wichtiger. Welche Einsatzgebiete siehst du noch kommen?

Jakob Westhoff: Aufgrund seiner gigantischen Verbreitung und Entwicklergemeinde hat JavaScript momentan das Potential das zu werden, was Sun damals mit Java versucht hat. Eine Sprache, die auf jedem Gerät läuft, vom Desktop-Rechner, über den Mp3-Player hin zum Toaster und der Waschmaschine. Bereits jetzt existieren einige Projekte, die JavaScript auf eingebetteten System erfolgreich einsetzen. Mit dem Erfolg von nodejs, ist zumindest schon einmal der Sprung vom Client auch in den Serverbereich gelungen. Ich bin gespannt wo die Zukunft uns hinführen wird.

Sieht man sich die JavaScript Days an, bei denen du im AdBoard bist, fällt einem auf, dass ihr auch viele „Randbereiche“ abdeckt. Funktioniert JavaScript deiner Meinung nach als Stand-Alone-Paket? Oder liegen seine Stärken in der Unterstützung anderer Sprachen und Technologien?

Jakob Westhoff: JavaScript ist letztlich nur eine Sprache. Also eine Syntaxdefinition, zur Spezifikation von Abläufen und Kontrollflüssen. Ohne JavaScript umgebende Bibliotheken wäre die Sprache nicht zu viel nutze. Andere Sprachen besitzen oft nur eine einzige Laufzeitumgebung, daher wird bei diesen nicht so stark zwischen Technologien in ihrem Umfeld und der Sprache selbst unterschieden. Was wäre JavaScript im Browser beispielsweise ohne das DOM- Modell wert. Es wäre nicht möglich Ereignisse zu verarbeiten oder den Dokumenten-Baum zu verändern. Die Sprache wäre effektiv nicht sonderlich nützlich.

Ähnliches gilt für eine Vielzahl von HTML5-APIs, die mehr und mehr Einzug in die Browser halten und dort zahlreiche neue Möglichkeiten für Entwickler bereit stellen. Von Zugriffen auf das Dateisystem, über das Rendern von 3D-Darstellungen hinzu einem Zugriff auf Mikrophon und Webcam zur Umsetzung von Realtime-Kommunikation.

Ohne den Zugriff auf alle diese Technologien, die in anderen Sprachen, aufgrund ihrer Systemnähe, als selbstverständlich gelten, wäre JavaScript recht langweilig.

Bewegt man sich im JavaScript-Umfeld, fällt einem schnell auf, dass es zahlreiche Frameworks und Bibliotheken gibt, die das Arbeiten mit der Sprache stark professionalisieren. Welche Vertreter dafür fallen dir spontan dafür ein?

Jakob Westhoff: Eines der ersten Frameworks, das vielen in den Sinn kommen dürfte ist jQuery. Ein JavaScript Urgestein, das nahezu jedem Entwickler das Arbeiten mit dem DOM bereits mindestens einmal erleichtert und zugleich auch die ein oder andere schlaflose Nacht beschert hat. Daneben existieren natürlich noch viele weitere: Ext Js, Angular JS, Sproutcore, Backbone und Spline.js, um nur einige wenige zu nennen.

Es gibt eine unglaubliche Menge an komplexen Frameworks, sowie kleinen Hilfsbibliotheken (sog. Microframeworks), welche die tägliche Arbeit erleichtern können. Die Variationen sind vielfältig und reichen von Applikationsbaukästen und Wigetsets (Ext JS) hin zu Implementierungen der Struktur einer Applikation nach Mustern wie dem MVC- Pattern (Backbone.js, Spline.js) oder dem MVVM-Pattern (Angular JS).

Jedes dieser Frameworks hat durchaus seine Daseinsberechtigung. Man sollte sich nur davor in Acht nehmen jedes Problem mit exakt dem Gleichen System erschlagen zu wollen. Eine Eierlegende-Wollmilch-Sau existiert leider (noch) nicht.

Aus diesem Grund ist die Auswahl der Sessions auf den JavaScript-Days auch derart breit gefächert. Wir erlauben damit, dass jeder Teilnehmer in unterschiedliche Bereiche herein schnuppern kann.

Womit sollte man sich als erstes beschäftigen, wenn man den Einstieg in JavaScript wagen möchte?

Jakob Westhoff: JavaScript ist eine auf den ersten Blick recht einfach wirkende Sprache, die jedoch so manche Tücken hat. Speziell die Behandlung von Funktionen, sowie der Geltungsbereich von Variablen weist einige Besonderheiten auf, die gerade Anfängern gerne und oft auf die Füße fallen. Konzepte, wie Closures oder Hoisting machen den Umgang nicht gerade einfacher. Es ist also angeraten sich mit JavaScripts Natur in diesem Feld vertraut zu machen, bevor die Entwicklung komplexer Applikationen beginnt.

Prototypen sind ein weiteres wichtiges Konzept in JavaScript. Diese Sprache kennt das vielen bekannte Konzept der Objektorientierung mittels Klassen und Instanzen nicht. Stattdessen wird prototypische Vererbung zur Realisation eingesetzt. Ein ebenso mächtiges wie elegantes Konzept, das Klassen in nichts nachsteht. Viele Entwickler, die bereits Erfahrung mit anderen Sprachen sammeln konnten finden dieses Konzept jedoch zunächst verwirrend. Um den Einsatz bereits existierender Entwurfsmuster und Erfahrung gewinnbringend einsetzen zu können ist demnach ein Verständnis dieses alternativen Ansatzes von Nöten.

Neben der Vorstellung von HTML5-APIs, die JavaScript seine Funktionalität verleihen, bieten die JavaScript Days daher auch Sessions zu eben diesen Grundlagen, die auch bereits so manchem erfahrenem Entwickler noch das ein oder andere beizubringen vermochten.

Jetzt für die JavaScript Days anmelden!

Vorheriger Artikel Zurück zur Startseite Nächster Artikel
Keine Antwort
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Mehr zum Thema JavaScript
Bits & Pretzels: Das größte Gründerfrühstück der Welt [Sponsored Event]
Bits & Pretzels: Das größte Gründerfrühstück der Welt [Sponsored Event]

Am 26. September findet in München die Veranstaltung „Bits & Pretzels“ statt, bei der sich alles um das Thema Gründung dreht. Das Event richtet sich an Gründer, Gründungsinteressierte, … » weiterlesen

Event-Loop: So funktioniert die Befehlsverarbeitung in JavaScript
Event-Loop: So funktioniert die Befehlsverarbeitung in JavaScript

Dass JavaScript sequentiell, also Befehl für Befehl, abgearbeitet wird, dürfte bekannt sein. Wie genau das Ganze aber funktioniert, hilft dir dabei zu verstehen, wie deine Skripte besser aufgebaut … » weiterlesen

hy!-Gründer Aydogan Schosswald: „Startups sind das beste Vehikel für Innovationen“
hy!-Gründer Aydogan Schosswald: „Startups sind das beste Vehikel für Innovationen“

Kaum jemand kennt die Berliner Startup-Szene so gut wie Aydogan Ali Schosswald. Er ist Veranstalter der Eventreihe hy!, Mitgründer mehrerer Acceleratoren und ehemaliger Herausgeber des … » weiterlesen

Kennst Du schon unser t3n Magazin?

t3n-Newsletter t3n-Newsletter
Top-Themen der Woche für Web-Pioniere
Jetzt kostenlos
anmelden
Diesen Hinweis verbergen