Wochenrückblick KW 13

Das NPM-Dilemma, die Zukunft von JavaFX und Apache PDFBox 2.0 – unsere Top-Themen der Woche

Kypriani Sinaris

©Shutterstock/Bohbeh

Manchmal reicht ganz wenig, um eine ganze Anwendung lahm zu legen: In der vergangenen Woche waren es 11 JavaScript-Zeilen. Diese hat ein Entwickler aus dem beliebten JavaScript Package Manager NPM entfernt und so für ganz schön viel Aufregung gesorgt. Wir blicken in unseren Top-Themen der Woche außerdem auf den Status Quo und die Zukunft von JavaFX und die zweite Hauptversion von Apache PDFBox.

1 Entwickler, 11 JavaScript-Zeilen, tausende defekte Anwendungen

Dependancies und ihre Tücken: In der vergangenen Woche ging ein Ruck durch die JavaScript-Community – einige Anwednungen brachen nämlich plötzlich zusammen. Der Grund dafür: Ein Entwickler hatte alle seine Module aus dem Open-Source-Projekt NPM zurückgezogen, ein für JavaScript-Projekte populärer Package Manager. Was genau dahinter steckt und was das für komplexere Codes bedeutet, die mehr als 11 Zeilen haben, lesen Sie in unserem Beitrag zum NPM-Dilemma.

Wir berichteten aber natürlich nicht nur von Dramen aus der JavaScript-Welt:

Mit ECMAScript 2015 hat sich bei JavaScript einiges verändert, der Quellcode ist kaum wiederzuerkennen. Wir haben vergangene Woche Christian Kaltepoth im Interview gefragt, was für ihn die wichtigsten neuen Features von JavaScript nach ECMAScript 2015 sind. Seine Einschätzung:

christian20kaltepoth_84

Christian Kaltepoth

Für mich persönlich ist das neue Modulsystem von ECMAScript 2015 auf jeden Fall ein Highlight. Bisher hat JavaScript für die Organisation des Quellcodes nicht viel bieten können. In einer normalen Anwendung verteilt sich der Quelltext oft über viele verschiedene Dateien, die in der exakt richtigen Reihenfolge in der HTML-Seite geladen werden müssen. Zur Laufzeit sieht die JavaScript Engine jedoch nur ein einziges großes Script. Das bedeutet vor allem, dass lokale Variablen aus einer Datei auch in anderen Dateien sichtbar sind, was zu unerwartetem Verhalten führen kann. Zwar haben sich mit der Zeit verschiedene Modulformate wie CommonJS und AMD etabliert, jedoch wird das Problem mit ECMAScript 2015 noch deutlich eleganter auf Ebene der Sprache gelöst. Jetzt ist es möglich, echte Module zu entwickeln, die sehr explizit Funktionalität exportieren, die von anderen Modulen wiederum importiert werden kann. Dadurch entsteht ein wohl definierter Abhängigkeitsgraph. Das erleichtert die Organisation und erhöht die Wartbarkeit des Quellcodes ganz enorm.

Worüber sich Java-Entwickler außerdem freuen können und welche Rolle TypeScript einnimmt – das vollständige Interview finden Sie hier.

Welche Zukunft hat JavaFX?

Die Frage, wie es um die UI-Technologie JavaFX steht, stellt sich immer wieder. In den vergangenen Wochen haben wir in einer vierteiligen Serie gezeigt, dass Java UIs durchaus ansehnlich sein können (Hier geht’s zu Teil 1, Teil 2, Teil 3 und Teil 4). In einem Quickvote wollten wir nun wissen, wie JavaFX in der Breite genutzt wird. Das Ergebnis kann sich sehen lassen: 21% der Teilnehmer nutzen JavaFX bereits produktiv in laufenden Anwendungen. Das ist eine Zahl, die durchaus eine positive Interpretation zulässt. Bereits jetzt ist die Verbreitung von JavaFX beachtlich, berücksichtigt man, dass die UI-Technologie erst in Java 8 Teil des JDK geworden ist. In diesem Beitrag beleuchten wir außerdem, wie sich JavaFX gegenüber anderen Technologien positionieren kann und welche Haltung Oracle gegenüber JavaFX hat.

JavaFX-Entwickler konnten sich in der letzten Woche außerdem über Release-News freuen: Wie das Gluon-Entwicklerteam bekanntgegeben hat, stehen den Nutzern der JavaFX-Lösungen Gluon Mobile, Gluon Cloud und Gluon Desktop ab sofort neue Softwareversionen zur Verfügung. Die Updates konzentrieren sich auf die Beseitigung von Bugs sowie die Verbesserung der Dokumentation.

Apache PDFBox 2.0 ist da

Über 1100 Issues haben die Entwickler von Apache PDFBox mit der zweiten Hauptversion der Java-Bibliothek hinter sich gelassen. Zu den Highlights des aktuellen Milestone Releases gehört das verbesserte Rendering und Extrahieren von Textbausteinen, der Unicode-Support für das Erstellen eines PDFs und der komplett überarbeitete Support für interaktive Formulare.

PDFBox ist auf GitHub quelloffen verfügbar. Im vergangenen Jahr wurde das Projekt die erste Open-Source-Partnerorganistaion in der PDF Association.

Eclipse Dropwizard Tools werden Open Source

Der Application-Lifecycle-Management-Lösungs-Anbieter Tasktop hat mit den Eclipse Dropwizard Tools einige quelloffene Werkzeuge zur Verfügung gestellt, mit denen Dropwizard-Anwendungen in Eclipse leichter zum Laufen gebracht werden sollen. Zwar kann man Dropwizard-Anwendungen auch ohne spezielles Tooling in Eclipse zum Laufen bringen, dieses Vorgehen birgt jedoch gewisse Nachteile: Führt man sie als Java-Anwendungen aus, nutzt beispielsweise jede Instanz den selben Port – neue Instanzen können somit nur nach Beendigung der vorherigen gestartet werden. Wir haben die neuen quelloffenen Eclipse Dropwizard Tools vorgestellt.

Performance verbessern, aber wie?

In der vergangenen Woche stand alles unter dem Motto „Performance verbessern“. Das Praktische daran ist, dass man Performance in Zahlen messen kann. Im Bezug auf Websysteme bedeutet eine gute Performance, dass die Antwortzeit eines Systems möglichst gering gehalten wird. Nicolas Bär, Daniel Takai und Christian Wittwer schreiben dazu in ihrem Beitrag zu Speed is a feature:

Die Performance ist ein Qualitätsmerkmal, das von allen Stakeholdern stets erwartet wird, denn niemand mag ein langsames System.

In diesem Artikel erklären sie, wie man einer schwachen Performance des Websystems strukturiert und automatisiert begegnen kann. Für Tipps zur Performanceverbesserung von AngularJS-Webapplikationen empfehlen wir den Artikel von Dr. Christina Straube: Hier stellt er Maßnahmen vor, die den AngularJS-Core nicht verändern – um Vorwärtskompatibilität zu unterstützen. Auch wenn Anpassungen am AngularJS-Core die Performance erheblich steigern können, überwiegen in den allermeisten Fällen die dadurch induzierten Nachteile, so der Entwickler. Die Grundlagen und Messmethoden für die Performance von AngularJS-Webapplikationen finden Sie außerdem in dem Einführungsartikel.

Weitere Must-Reads der Woche:

Aufmacherbild: Newspapers folded and stacked von Shutterstock / Urheberrecht: Bohbeh

Geschrieben von
Kypriani Sinaris
Kypriani Sinaris
Kypriani Sinaris studierte Kognitive Linguistik an der Goethe Universität Frankfurt am Main. Seit 2015 ist sie Redakteurin bei JAXenter und dem Java Magazin.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: