Suche

„JavaScript ist für die Web-Entwicklung, was Java für Enterprise Computing im Backend ist.“

Claudia Fröhling

Auf der letzten JAX in Mainz konnten wir ein deutlich stärkeres Interesse an JavaScript/HTML5-Themen beobachten als noch vor einem Jahr. Auch auf der kommenden W-JAX in München wird es einen ganzen Workshop-Tag zum Thema geben. Claudia Fröhling sprach mit Torsten Winterberg, der den Workshop mit seinen Kollegen präsentieren wird.

JAX: Warum müssen sich Eurer Meinung nach JAX-Teilnehmer mit JavaScript befassen?

Torsten Winterberg: JavaScript erlebt gerade einen regelrechten Aufschwung. In der Vergangenheit wurde die Sprache etwas belächelt, weil sie im Wesentlichen zum Aufhübschen von Webseiten verwendet, aber nicht als „echte“ Sprache für professionelle Anwendungsentwicklung gesehen wurde. Mit der enormen Ausbreitungsgeschwindigkeit von HTML5 dreht sich dieser Trend: JavaScript ist auf dem Weg, sich als Sprache zur Anwendungsentwicklung und Oberflächenprogrammierung zu etablieren. Man kann durchaus behaupten, dass JavaScript für die Web-Entwicklung das ist, was Java für Enterprise Computing im Backend bedeutet.

JavaScript enthält viele sehr moderne Eigenschaften für eine 15 Jahre alte Programmiersprache. Wenn man die Sprache richtig einsetzt, kann sie sehr gut mit aktuellen Vertretern wie Groovy oder Ruby mithalten. Sie hat als dynamisch typisierte, objektorientierte Skriptsprache mit Prototyp-basierter Vererbung viele für den Java-gewohnten Entwickler ungewohnte Eigenschaften. Es braucht seine Zeit, sich daran zu gewöhnen und zu lernen, idiomatisch gutes JavaScript zu schreiben. Je früher man sich damit auseinander setzt, desto besser.

Auch auf dem Server hält JavaScript mit Laufzeitumgebungen wie node.js Einzug und platziert sich dort als sehr valide Lösung für bestimmte Problemkategorien, beispielsweise Anwendungen, die eine großer Anzahl konkurrierender Zugriffe auf „langsame Ressourcen“ unterstützen müssen.

Es gibt zwar zunehmend mehr Werkzeuge, die das Programmieren in JavaScript vor dem Entwickler verbergen, wie z.B. Google Web Toolkit, CoffeeScript oder ClojureScript, dennoch ist eine fundierte Kenntnis der Grundlagen aus unserer Sicht unentbehrlich.

JAX: Was wird man in Eurem Workshop lernen und wie viel Vorwissen wird verlangt?

Torsten Winterberg: Teilnehmer an unserem Workshop sollten die Grundlagen der Webentwicklung kennen und ein grundlegendes Verständnis von JavaScript haben. Wir werden im Workshop keine komplette Grundlagenschulung für JavaScript anbieten. Einige für den Workshop wichtige Konzepte und Programmierpraktiken werden wir aber zur Einführung besprechen. Die Teilnehmer können ihr JavaScript-Wissen zu Beginn also ein wenig auffrischen.

Basierend auf einem vorgegebenen Backend-Service werden wir dann im Laufe des Workshops gemeinsam einen mobilen Web-Client für diesen Service entwickeln. Dabei stehen testgetriebene Entwicklung und das Produzieren von wartbarem und erweiterbarem JavaScript-Code im Mittelpunkt. Wir werden die JavaScript-Frameworks AngularJS und jQuery Mobile verwenden, die die Umsetzung dieser Praktiken sehr gut unterstützen. Als Werkzeuge für testgetriebene Entwicklung werden Js-TestDriver und Jasmine besprochen.

Das Ganze hat einen großen praktischen Anteil – also nicht vergessen, das eigene Notebook mit zu bringen. Theorie wird nur in dem Umfang vermittelt, wie es für die selbstständige Durchführung der praktischen Übungen nötig ist. Wir möchten hier keine trockene Theorieschulung, sondern zeigen, wie man in der Projektpraxis an konkrete Aufgabenstellungen professionell herangeht.

JAX: Ihr habt eine Integrationsbibliothek für AngularJS und jQuery Mobile entwickelt. Könnt ihr den Lesern das Ganze kurz vorstellen?

Torsten Winterberg: AngularJS ist ein JavaScript-Framework, das Funktionen wie Databinding, clientseitiges Templating, Validierung und Dependency Injection bereit stellt. Es erlaubt eine sehr effektive und saubere Entwicklung von JavaScript Clients.

jQuery Mobile ist ein beliebtes Framework zur Entwicklung der View-Schicht einer mobilen Web-Anwendung und unterstützt u.a. die größte Anzahl unterschiedlicher Browser.

Da liegt es nahe, für eine mobile Webanwendung beide Frameworks zu kombinieren. Aufgrund von technischen Problemen funktioniert das leider nicht direkt. Beide Frameworks modifizieren zur Laufzeit das Document Object Model der im Browser angezeigten Webseite. Diese Modifikation muss natürlich koordiniert werden, was durch unsere Integrationsbibliothek gelöst wird. Für den Anwender ist die Integration völlig transparent, d.h. er programmiert wie gewohnt mit AngularJS und jQuery Mobile, und alles funktioniert wie erwartet. Die Integrationsbibliothek stellt neben der reinen Integration der beiden Frameworks noch ein paar spezifische Funktionen für die mobile Entwicklung bereit, u.a. Paging zur Lösung von Performanceproblemen bei der Anzeige von langen Listen.

Autor der Integrationsbibliothek ist Tobias Bosch. Er bietet den Sourcecode frei verfügbar auch auf GitHub an.

Torsten Winterberg arbeitet als Direktor für Strategie und Innovation sowie als Leiter des Competence Centers SOA bei der OPITZ CONSULTING GmbH. Er ist bekannt als Autor von Fachartikeln, Sprecher auf diversen Konferenzen und besitzt langjährige Erfahrung als Trainer, Projektcoach und Architekt rund um die Erstellung von Java-EE-Anwendungen. Sein besonderes Interesse liegt im Design und der Entwicklung von komplexen IT-Systemen unter Berücksichtigung von BPM, BPEL, ESB, BAM sowie allgemein den serviceorientierten Architekturen. Torsten ist Oracle ACE Director und leitet zusammen mit Hajo Normann die DOAG SIG SOA.

Geschrieben von
Claudia Fröhling
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.