Die Werkzeugkiste #3: Mit RapidClipse ohne Konfigurationsaufwand entwickeln

RapidClipse ist auf die Cross-Plattform-Entwicklung ausgelegt und möchte Java-Entwicklern den von Eclipse gewohnten Konfigurationsaufwand abnehmen. Seit Januar 2019 liegt das Werkzeug in Version 4.0 vor.

Werkzeuge  –  1 Kommentare
Die Werkzeugkiste #2: Container und Serverless: Was kann Knative?

Bei RapidClipse handelt es sich um eine freie Eclipse-Distribution, die Java-Entwicklern den von Eclipse gewohnten Konfigurationsaufwand abnehmen möchte. RapidClipse ist auf die Cross-Plattform-Entwicklung ausgelegt – Projekte lassen sich aus derselben Codebasis heraus ohne zusätzliche Anpassungen als Webanwendung, mobile App oder klassische Java-Desktop-Applikation deployen. Mit Veröffentlichung von Version 4.0 im Januar 2019 unterstützt RapidClipse Java 11 und Eclipse 2018-12.

Eclipse ohne Konfigurationsaufwand

RapidClipse will den Projektstart mit vorinstallierten und vorkonfigurierten Eclipse-Plug-ins und Frameworks verinfachen. Darüber hinaus übernimmt das Werkzeug das Herunterladen vieler benötigter Java-Bibliotheken via Maven, die Anwender für die Web-, App- und Datenbank-Entwicklung mit JPA (Java Persistence API) nutzen.

In der heise-Developer-Serie "Die Werkzeugkiste" stellen Entwickler in regelmäßigen Abständen ihre nützlichsten Werkzeuge, Tools, und Hilfsmittelchen vor. Wie bei der Werkzeugkiste von Handwerkern gilt auch hier: Die Kisten sind meist ziemlich voll – die Auswahl des bevorzugten Werkzeugs für eine Arbeit immer subjektiv. Wenn Sie ihr Lieblings-Tool vermissen oder selbst gerne in einem Artikel vorstellen wollen, schreiben Sie doch einfach eine E-Mail an heise Developer.

Für grafische Oberflächen setzt RapidClipse auf Vaadin, ein serverseitiges Java-Framework, das zur Laufzeit den gesamten Web-Client dynamisch erzeugt und Entwickler damit nicht nur von der Web-Programmierung mit HTML und JavaScript entlastet, sondern auch die Client-Server-Kommunikation steuert. Da der von Vaadin eingeleitete Umstieg von GWT auf Web-Components auch mit Version 10 noch nicht vollständig vollzogen wurde, haben sich die RapidClipse-Entwickler entschieden, vorläufig weiter auf Basis von Vaadin 7 zu arbeiten.

Der GUI-Builder in RapidClipse 4 unterstützt beim Bau komplexer Oberflächen. (Bild: RapidClipse)

Die UI-Programmierung erinnert stark an Java Swing. Der Nachteil besteht darin, dass Anwender für den Einsatz von Vaadin gute Java-Kenntnisse besitzen müssen. Um die UI-Entwicklung zu vereinfachen, liefert RapidClipse einen GUI-Builder mit, der sich auch für komplexe Oberflächen nutzen lassen soll, sodass sich Java-Spezialisten im Team auf die Implementierung der Businesslogik konzentrieren können. Für wichtige UI-Elemente, Funktionen und Interaktionen stehen Assistenten zur Verfügung – beispielsweise für Master-Detail-Ansichten, Formulare, Menüs sowie für die Konfiguration von Tabellen und Suchfunktionen. Auch Autorisierung- und Authentifizierung, Internationalisierung und UI-Persistierung unterstützt der GUI-Builder.

Vereinfachte Datenbankentwicklung

In Sachen Datenbankentwicklung setzt RapidClipse auf den JPA-Standard. Eine optimierte und erweiterte Version der JBoss Hibernate Tools zählt zum Lieferumfang. Die RapidClipse-Macher versprechen für alle von Hibernate unterstützten Datenbanken reibungslosen Tabellen-Metadaten-Import und fehlerfreies Datatype-Mapping.

Um JPA-konforme Datenbankabfragen zu vereinfachen, bietet RapidClipse JPA-SQL, das die Vorteile von SQL und der Criteria API vereinen soll. JPQL (Java Persistence Query Language) ist zwar schlank und übersichtlich aufgebaut, verwendet aber SQL-Strings und ist daher weder typsicher noch datenbankunabhängig. Die JPA Criteria API hingegen lässt die SQL-Statements vom JPA-Framework erzeugen, der Criteria-Code wirkt dafür aber aufgebläht und unübersichtlich. Im JPA-SQL Editor steht Entwicklern die gewohnte SQL-Syntax zur Verfügung, während im Hintergrund Java-Code auf Basis der JPA Criteria API generiert wird. Davon können vor allem größere Projekte mit mehreren hundert Datenbankabfragen profitieren. JPA-SQL ist als Open Source verfügbar und lässt sich auch unabhängig von RapidClipse verwenden.

Der JPA-SQL Editor generiert im Hintergrund Java-Code auf Basis der JPA Criteria API. (Bild: RapidClipse)

Cross-Plattform-Anwendungen

Für das Deployment steht RapidClipse-Anwendern ein umfangreiches Tooling zur Verfügung, mit dem sich Projekte ohne zusätzliche Anpassung als Webanwendung, hybride mobile App oder klassische Java-Desktop-Applikation ausliefern lassen. Hybride Apps für iOS und Android bestehen aus einem nativen Teil, der den Zugriff auf alle wichtigen Gerätefunktionen und die Auslieferung über App-Stores erlaubt. Die Oberfläche ist HTML5. Die Applikation selbst läuft wie bei Webanwendungen auf dem Server. Anwender, die keinen Mac besitzen, können über einen RapidClipse-Dienst lauffähige iOS-Apps in der Cloud generieren.

Die mit RapidClipse erzeugten Desktop-Applikationen sind ebenfalls Hybride. Sie bestehen aus einem nativen SWT-Window, sodass die Anwendung plattformunabhängig unter Windows, Linux und macOS lauffähig ist. Das Frontend ist weder SWT noch Swing, sondern ebenfalls HTML5. Mit RapidClipse deployte Desktop-Anwendungen lassen sich wahlweise als Client-Server-Anwendung oder Fat-Client betreiben.