Interview mit Niko Köbler

Niko Köbler ist Software Architekt (iSAQB zertifiziert), Entwickler, Trainer, Autor, JUG Darmstadt Supporter und Speaker bei vielen internationalen Konferenzen (z. B. JAX, Voxxed Days Zürich, JFokus Stockholm etc.). Er schult die Themen "JavaScript für Java Entwickler" und "Reite das Nashorn - JavaScript Programmierung auf der JVM".

JavaScript ist in aller Munde, wie erklärt sich die Popularität derzeit, warum wird JavaScript so oft verwendet?
Jeder neue Trend bringt ja meist auch eine Neuerung mit, die es vorher so noch nicht gab. Bei JavaScript ist das nicht wirklich so. JavaScript selbst kann nichts, was andere Sprachen nicht auch schon können, und das teilweise sogar besser. JavaScript ist allerdings die einzige Programmiersprache, die im Browser ausführbar ist, und die wir dafür nutzen können, Web-Anwendungen dynamischer zu machen. Die eigentliche Neuerung, die den Trend JavaScript auslöste, ist die Tatsache, dass sich die Sprache selbst zur Zeit überdurchschnittlich schnell weiterentwickelt und somit in den vergangenen Monaten und Jahren unheimlich viele neue Möglichkeiten im Browser geschaffen wurde. Der serverseitige Einsatz half der Popularität sicherlich auch noch, da niemand damit gerechnet hat, dass eine überwiegend im Frontend eingesetzte Sprache sich auch auf dem Server breit macht.


Wie sieht die Geschichte von JavaScript aus? Wie lange gibt es die Sprache schon?
JavaScript gibt es bereits seit 20 Jahren, genau wie Java. Aber nein, ich möchte hier keine weitere Analogien aufkommen lassen, denn beide Sprachen sind doch grundverschieden.
In den ersten Jahren war JavaScript wirklich nur eine Browser-Spielsprache, um etwas mehr Dynamik in bis dato statische Html-Seiten zu bekommen. Viel drehte sich zunächst um Animationen. Vor etwas mehr als 10 Jahren kam dann der Ajax-Hype auf, mit dem man zur Laufzeit komplette Bereiche einer Website aktualiseren konnte mittels von einem Server nachgeladenen Fragmenten. Kurz danach kam die jQuery Bibliothek an die Öffentlichkeit, welche den Umgang mit vielen JavaScript Funktionen, speziell im Bereich der DOM-Manipulation, vereinfachte. In den letzten Jahren wurde mit Node.js dann die Möglichkeit populärer, JavaScript auch auf der Server-Seite zu nutzen. Diese Bewegung ist nach wie vor sehr trendig und wird sich weiter bergauf bewegen. Heute läuft JavaScript auf so ziemlich jedem Device: Angefangen von allen Browsers, auf verschiedenen Servern (auch das JDK hat mit Nashorn eine JavaScript Runtime) bis hin zu Smartphones, SmartTVs und auch in unseren Autos läuft weit mehr mit JavaScript, als wir denken.

Ein Kurs von Dir hat den Titel "JavaScript für Java Entwickler". Warum sollte nun der Java-Entwickler JavaScript lernen?
Viele Java Entwickler beschäftigen tag-täglich sich mit Web-Anwendungen. Deren Frontends werden durch die aktuellen Trends und Entwicklungen mit immer mehr Logik und damit JavaScript ausgestattet. Hier entsteht also ein Wissens-Bedarf, der gedeckt werden muss. Aber auch auf der Server-Seite wird JavaScript durch die fortschreitende Entwicklung der JDK-eigenen Nashorn JavaScript Engine sehr interessant und bietet neue Möglichkeiten. Mit Nashorn kann man sogar Java und JavaScript gemeinsam einsetzen, obwohl beide Sprachen unterschiedlich sind. Gerade hier muss man aber die Konzepte beider Sprache kennen.

Du bist ein gefragter Redner auf Konferenzen und Messen. Welche Konferenz hast Du zuletzt besucht, gibt es von Deiner Seite Informationen, die Entwickler wissen müssen?
Zuletzt war ich in San Francisco auf der "JavaOne" - die Java Konferenz von Oracle. Dort habe ich zwei Vorträge über - natürlich - JavaScript und Java gehalten. Die gesamte Java Community trifft sich dort und ich hatte viele Gelegenheiten für Smalltalk und Networking. Ich halte es schon seit jeher wichtig, dass ein Entwickler immer eine gewissen Portion Neugier an den Tag legen und sich für neue, andere Dinge interessieren sollte. Ausprobieren ist auch ganz wichtig! Jeden Tag nur das Bekannte tun, bringt weder den Einzelnen noch die gesamte Entwicklergemeine nach vorne. Voneinander lernen, Erfahrungen machen, austauschen und diskutieren! Man muss nicht immer nur das machen, was über Support-Verträge abgesichert und freigegeben ist. Die interessanten Dinge liegen meist etwas weiter vergraben. Diese bringen aber die Ideen für Innovationen. Diese Einstellung ist meiner Meinung nach wichtiger, als dedizierte Informationen, die jemand wissen muss. Das bekomme ich auf jeder Konferenz immer wieder zu spüren.

Seit wann gibst Du JavaScript-Kurse? Wie bist Du dazu gekommen?
Das ist noch gar nicht so lange her, dass ich mit JavaScript Kursen begonnen habe. In meiner bereits über 15jährigen Berater-Erfahrung habe ich meine Kunden immer wieder in unterschiedlichen Projekten beraten, unterstützung und auch Wissen vermittelt. Die Themen waren hier sehr vielfältig. Als aber der Trend JavaScript vor ca. 4 Jahren wieder größer wurde, habe ich gesehen, dass hier ein Bedarf entsteht und habe mich sehr auf dieses Thema (aber niht ausschließlich) konzentriert. Ich möchte in meinen Kursen auch nicht nur reines Wissen vermitteln, sondern auch den Spaß und Begeisterung an der Sprache wecken. Dazu gehört auch, dass ich an der ein oder anderen Stelle durchaus mal kritisch einige JavaScript-Eigenschaften betrachte und kommentiere.

Was ist eigentlich der Unterschied zwischen JavaScript und JScript?
Oh, den Begriff "JScript" habe ich ja schon lange nicht mehr gehört. Gibt's das noch? JScript war/ist eine spezielle JavaScript Sprach-Erweiterung für die Microsoft Internet-Explorer Welt. Offiziell wird das wohl noch gewartet, aber ich schätze seine heutige Bedeutung und Relevanz eher gegen Null ein.

Was ist der Unterschied zwischen nicht definiert und nicht in JavaScript definiert?
Meinst Du damit den Unterschied zwischen `null` und `undefined`? Die typische Bewerber-Frage...`undefined` meint in JavaScript halt wirklich, dass der Wert einer Variablen/eines Objektes "nicht definiert" ist. `null` ist dagegen in JavaScript ein Wert, der einem Objekt zugewiesen werden kann. Streng genommen ist `null` sogar vom Typ `Object`. Und wer noch den Unterschied zwischen `==` und `===` wissen möchte, der erfährt das gerne in meinem Training.

Was muss ein Teilnehmer mitbringen, wenn er JavaScript erlernen möchte?
Das übliche eben, wenn man etwas Neues lernen möchte: Interesse, Neugier und die Bereitschaft, Bekanntes auch mal fallen zu lassen und sich auf neues Terrain zu begeben. In meinen Kursen sollten die Teilnehmer bereits Erfahrung in der Programmierung mitbringen. Die Sprache selbst ist erst mal nicht wichtig, auch wenn ich mich speziell auf die Kombination von Java und JavaScript konzentriere. Ich setze eben auf den bekannten Paradigmen und Mustern auf und zeige, wie man das dann in JavaScript machen kann.

Vorträge von Niko Köbler in 2016

JAX 2016 in Mainz
19.04. - 21.04.2016.
Seine Vortragsthemen:
"Die Last mit den Tests – Lasttests mit Gatling"
"Isomorphe JavaScript-Web-Apps auf der JVM mit React und Java EE MVC"

Voxxed Days Zürich
03.03.2016
Sein Vortragsthema:
"Keine Last mit den Tests - Lasttests mit Gatling"

JFokus Stockholm
08.02. - 10.02.2016.
Sein Vortragsthema:
"Isomorphic JavaScript Apps mit Nashorn und React.JS"

Voxxeddays Berlin
28.01. - 29.01.2016.
Sein Vortragsthema:
"Isomorphic JavaScript Apps mit Nashorn und React.JS"


Unsere Kundenzeitschrift GEDOPLAN aktuell

In dieser Rubrik stellen wir Ihnen einen Artikel aus der aktuellen Ausgabe unserer Kundenzeitschrift zum Online-Lesen zur Verfügung. Alle weiteren Ausgabe zum Download finden Sie hier.

Aktuelle Kurs zum Thema:

JavaScript für Java Entwickler
12.09. - 13.09.2016 in Berlin
23.11. - 24.11.2016 in Berlin

Reite das Nashorn
JavaScript Programmierung auf der JVM
14.09. - 14.09.2016     in Berlin
25.11. - 25.11.2016     in Berlin