Zum Hauptinhalt

RapidClipse 3.0 Final Release ab sofort verfügbar

Ab sofort ist RapidClipse 3.0 als Final Release verfügbar. RapidClipse 3 ist das bedeutendste und größte Release der bisherigen RapidClipse Projektgeschichte.

 

Die neue Eclipse Version Neon

RapidClipse 3.0 basiert auf der neuen Eclipse Version Neon. Mehr Infos: http://www.eclipse.org/neon/


Das neue Hibernate 5

Als Persistenz-Framework setzt RapidClipse standardmäßig auf Hibernate. Die neue Version 5 bringt zahlreiche wichtige Verbesserungen. Da die Hibernate Criteria API überraschend als deprecated markiert wurde, die wir RapidClipse Nutzern bislang für die Formulierung eigener Queries empfohlen und geschult hatten, haben wir  mit JPA-SQL eine alternative, eng an SQL angelehnte Abfragesprache inklusive Code-Editor entwickelt.

Neue Hibernate Version 5

 

Der neue Vaadin GUI-Builder

RapidClipse 3 erhält einen vollständig neuen Vaadin GUI-Builder, der ganz neue Möglichkeiten und 100 Prozent WYSIWYG (What You See Is What You Get) bietet.

100 Prozent WYSIWYG
Die bislang erst zur Laufzeit im Browser sichtbare HTML5/JavaScript Oberfläche wird in RapidClipse 3 bereits im Entwurf angezeigt. Änderungen einzelner Styles oder des gesamten Themes werden dadurch sofort im Entwurf sichtbar. Auch das lang ersehnte Zoomen der Oberfläche im GUI-Builder ist mit RapidClipse 3 nun endlich möglich und funktioniert mit gedrückter Strg Taste + Mausrad genauso wie im Web-Browser.

Layouts ohne Macken
Sämtliche von Vaadin unterstützte Layouts sowie das zusätzliche, von Swing bekannte Border-Layout funktionieren im RapidClipse GUI-Builder völlig reibungslos.

Beliebig viele Verschachtelungen
Der neue GUI-Builder lässt beliebig viele Verschachtelungen von Container-Komponenten zu ohne, dass es zu Problemen kommt.

Neuer Menü-Assistent
Menüs werden zukünftig mit Hilfe eines Assistenten konstruiert, was sehr viel schneller geht als bisher.

Internationalisierung und UI-Persistierung
Wie sein Vorgänger in RapidClipse 2 unterstützt der neue GUI-Builder von RapidClipse 3.0 auch Internationalierung sowie die Persisitierung von Oberflächen.

Vaadin GUI-Builder ohne RapidClipse
Vaadin Entwickler können den RapidClipse GUI-Builder auch als eigenständiges Eclipse Plugin völlig unabhängig von RapidClipse nutzen. Und das beste dabei: Der RapidClipse Vaadin GUI-Builder ist lizenzkostenfrei!

Alle GUI-Builder Features

 

JPA-SQL - Neue JPA Abfragesprache mit Query-Editor

Wer Datenbank-Anwendungen auf Basis des Java Standards JPA entwickeln und die damit verbundenen Vorteile nutzen möchte, muss Datenbankabfragen vollständig in Java anstatt in SQL formulieren. Dafür gibt es verschiedene Java APIs wie die JPA Criteria API.
Native SQL-Statements in Form von SQL-Strings sind zwar möglich, diese haben jedoch gravierende Nachteile.

Nachteile von SQL-Strings u.a.:

  • Nicht typsicher
  • Keinerlei IDE-Unterstützung
    • Kein Code Completion - Erkennung von Schlüsselwörter, Operatoren und Entities
    • Kein Syntax-Highlighting
    • Kein Code-Folding
    • Kein Inline Refactoring
    • Keine Error/Warning-Markers with Quick Fixes
    • Nicht debuggbar
  • Datenbankspezifisch - Der Abfragecode muss für jede Datenbank die man unterstützen möchte, individuell angepasst, getestet und gewartet werden.
  • Sehr unübersichtlich

 

Vorteile von SQL u.a.:

  • einfache Syntax
  • leicht erlernbar
  • weit verbreitet

 

Vorteile der JPA Criteria API im Vergleich zu plain SQL-Strings:

  • Typsicher
  • Beliebige Reihenfolge der Statements
  • IDE-Unterstützung
    • Code Completion - Erkennung von Schlüsselwörter, Operatoren und Entities
    • Syntax-Highlighting
    • Code-Folding
    • Formatter
    • Inline Refactoring and Refactoring Participants for JDT Member Renames and Moves
    • Hovers
    • Linking (Ctrl+Click)
    • Outline View
    • Error/Warning-Markers with Quick Fixes
    • Code Templates
    • Integration in Eclipse build process
    • debuggbar (generierter JPA Criteria Code)
  • Query-Methode im DAO wird automatisch generiert
  • Datenbankunabhängig

 

Nachteile der JPA Criteria API gegenüber SQL:

  • Für die meisten Entwickler viel zu kompliziert
  • Hohe lernkurve
  • Unübersichtlicher, schwer wartbarer Code
  • Passt nicht zu Einfachheit und Komfort von RapidClipse

JPA-SQL vereint die Vorteile beider Welten
JPA-SQL ist eine neu entwickelte Abfragesprache, welche die Vorteile von SQL (einfache Syntax, leicht erlernbar, leicht lesbar, weit verbreitet etc.) und der JPA Criteria API vereint. Die Syntax von JPA-SQL lehnt sich eng an SQL an und ist somit leicht erlernbar. In JPA-SQL formulierte Abfragen werden jedoch nicht direkt die Datenbank versendet wie bei SQL, sondern in JPA Criteria Code umgewandelt. Damit erhalten Sie alle Vorteile der JPA Criteria API, kommen damit aber niemals in Kontakt. Zur Laufzeit sorgt JPA dafür, dass die nativen SQL-Statements passend für Ihre Datenbank generiert und gegen die Datenbank abgesetzt werden.


Code Beispiel:

JPA-SQL:

findAllCustomerAs()
{
   select * from Customer as c
   where c.city = "London"
}


Ergebnis: Java Code auf Basis der JPA Criteria API:


public List<Customer> findAllCustomerAs() {

 EntityManager entityManager = em();


 CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();

 CriteriaQuery<Customer> criteriaQuery = criteriaBuilder.createQuery(Customer.class);

 Root<Customer> root_c = criteriaQuery.from(Customer.class);
 root_c.alias("c");

 criteriaQuery.where(criteriaBuilder.equal(root_c.get(Customer_.city), criteriaBuilder.literal("London")));

 TypedQuery<Customer> query = entityManager.createQuery(criteriaQuery);
 return query.getResultList();
}

JPA-SQL vereinfacht die Datenbank-Entwicklung mit Hibernate enorm
JPA-SQL ist deutlich schlanker, übersichtlicher und leicht verständlich. Der dazugehörige JPA-SQL Code-Editor ist so komfortabel wie ein Java Editor und unterstützt u.a. Code Completion, Syntax-Highlighting, Code-Folding, Refactoring, generiert Imports automatisch und ermöglicht das Debuggen des Abfragecodes. Wer SQL kennt, wird auf Anhieb mit JPA-SQL zurecht kommen und sofort eigene Abfragen auf Basis von JPA schreiben können. Damit erleichtert JPA-SQL die JPA Entwicklung enorm.


JPA-SQL als eigenständiges Plugin und auch für EclipseLink und OpenJPA
Der generierte JPA Criteria Code lässt sich nicht nur mit Hibernate ausführen sondern auch mit EclipseLink und OpenJPA. In Kürze wird JPA-SQL auch als eigenständiges Eclipse Plugin unabhängig von RapidClipse verfügbar sein.

Mehr Infos & Code-Beispiele


Mobile-Kit für IoT Lösungen

Das RapidClipse Mobile-Kit als neuer Bestandteil des RapidClipse Frameworks ist eine Vaadin-Erweiterung die hybriden Mobile Apps vollen Zugriff auf alle wichtigen System- und Gerätefunktionen ermöglicht. Dadurch ermöglicht Ihnen RapidClipse innovative IoT und Industry 4.0 Lösungen beeindruckend einfach zu entwickeln. Auf folgende Funktionen können Sie zugreifen:

  • Geräte-Info
  • Geräte Buttons
  • Bewegungssensor
  • Vibration
  • Geolocation
  • Kompass
  • Kontakt-Datenbank
  • Lokales Dateisystem
  • Barcode Scanner
  • Camera (Front & Back)
  • NFC
  • Bluetooth
  • SMS Versand

 

Der Zugriff erfolgt mit Hilfe sehr einfacher Methodenaufrufe und ist damit erstaunlich einfach. RapidClipse stellt Ihnen für alle Funktionen entsprechende Code-Templates zur Verfügung.


Code Beispiel:

Code-Template für die Ermittlung der Geolocation:

void getCurrentPosition()
{
    GeolocationService.getInstance().getCurrentPosition(this::positionFound,this::onError);
}

void positionFound(final Position position)
{
    System.out.println(position);
}

void onError(final MobileServiceError error)
{
    System.err.println(error.getMessage());
}

 

Android & iOS App Deployment

Alle Vorschau- und Deployment Varianten befinden sich jetzt im neuen Quick Launch Fenster an einer zentralen Stelle.

Neu in Versino 3.0 ist das Mobile App sowie das XDEV Cloud Deplyoment.

Jede Anwendung lässt sich jetzt auch als Hybride Mobile App für Android und iOS deployen und über gängige App-Stores oder direkt per Download-Link ausliefern. Apps für iOS können Sie mit RapidClipse sogar ohne einen Mac builden und deployen.

Hybride Apps bestehen aus einem nur sehr kleinen Programmteil, der fest auf dem Gerät installiert wird. Dieser native Teil ist für das Anzeigen der HTML-Oberfläche zuständig und ermöglicht Zugriffe auf System- und Gerätefunktionen. Die Anwendung selbst läuft auf dem Server, i.d.R. in einer Cloud-Umgebung wie der XDEV CLOUD.


XDEV Cloud Integration

  • Cloud-Speicher für Entwickler
  • Kein Cloud Know-how nötig
  • Kein Aufwand für die eigene IT
  • Perfekt für DevOps

 

Die XDEV Cloud ist ein PaaS (Platform as a Service) Service für das einfache Verwalten, Deployen und Hosten von Java Anwendungen in der Cloud. Die XDEV Cloud bietet Ihnen Speicher in der Cloud zusammen mit der gesamten Infrstruktur die Sie für den Betrieb von Java Anwendungen in der Cloud benötigen. Alles fix und fertig out-of-the-Box. Sie müssen keine Cloud Server-Instanzen konfigurieren und keine Server-Software aufsetzen. Alles was Sie für den Betrieb einer Java Anwendung in der Cloud benötigen, ist bereits vorinstalliert, vorkonfiguriert, aufeinander abgestimmt und full-managed. Der gesamte IT-Aufwand für Einrichtung, Betrieb und Wartung einer Cloud fällt mit der XDEV Cloud vollständig weg. Dadurch ist die XDEV Cloud absoult simpel, Sie brauchen kein Cloud Know-how, sparen eine Menge Zeit und können sich voll auf die Entwicklung Ihrer Applikationen konzentrieren.

Mit der XDEV Cloud können Sie Ihre Anwendungen per Mausklick deployen und unter Echtzeit-Bedingungen testen, unterschiedliche Versionsstände für Tests zur Verfügung stellen, schnell mal eine Version für wichtige Präsentationen bereitstellen, auf einfache Weise exakt gleiche Entwicklungs- und Produktiv-Systeme herstellen, fertige Anwendungen produktiv hosten und neue Releases per Mausklick in nur wenigen Sekunden ausliefern.

 

Java App-Container
Mit der XDEV Cloud erhalten Sie keinen leeren Speicher oder Server den Sie selber konfigurieren müssen. Nur wenige Sekunden nach Ihrer Registrierung steht Ihnen ein vollständiger, isolierter Java App-Container zur Verfügung. Darauf sind bereits alle Software-Komponenten vorinstalliert und vorkonfiguriert, die Sie zum Entwickeln, Builden, Deployent, Testen und Hosten von Java Anwendungen brauchen, u.a.

  • Java Virtual Machine
  • Tomcat Applicationserver
  • Versionsverwaltung GIT
  • MySQL Datenbank
  • Jenkins

 

Fully-Managed Service
Alle durch die XDEV Cloud zur Verfügung gestellten Software-Komponenten werden für Sie überwacht und regelmäßig gewartet, sodass Sie keinen IT-Aufwand damit haben. Dazu zählt ein tägliches Auto-Backup sowie das Einspielen sicherheitsrelevanter Service-Updates.
Vorteile mit der neuen XDEV Cloud

  • Anwendungen unter Echtzeit-Bedingungen testen
  • Zentrale Versionsverwaltung out-of-the-Box verfügbar
  • Exakt gleiche Entwicklungs- & Produktiv-Systeme umetzbar  
  • Testversionen einfach zur Verfügung stellen
  • Versionen für wichtige Präsentationen ohne IT-Aufwand bereitstellen
  • Produktiv-Anwendung hosten
  • Neue Releases per Mausklick ausliefern
  • Weder IT- noch Cloud Know-how nötig
  • Perfekte Integration in RapidClipse
  • Festpreise, kein Risiko, keine bösen Überraschungen, Planungssicherheit

 

Was kommt nach RapidClipse 3.0 ?

Als nächstes ist die Freigabe und Integration der Java In-Memory Datenbank Jetstream.one in RapidClipse geplant. Jetstream.one ist nicht einfach nur eine weitere Datenbank, sondern in gleich mehreren Punkten revolutionär u.a.:

  1. Kein Objektrelationales Mapping, bzw. gar kein Mapping mehr
  2. Geschwindigkeit - 10 bis 1000 Mal schneller als MySQL & Co.
  3. Einfachheit - Nur noch 1 Datenmodell anstatt 2 wie mit JPA
  4. Radikal geringere Komplexität wie bei JPA
  5. Deutlich geringerer Entwicklungsaufwand
  6. Einfachere Wartbarkeit

Kein (OR-)Mapping mehr
Seit den 1980er Jahren ist allgemein bekannt, dass moderne, objektorientierte Programmiersprachen wie Java und Relationale Datenbanken wie Oracle und MySQL nicht kompatibel sind. Das Problem wird als Object-relational Impedance Mismatch bezeichnet. Daten-Objekte auf der Java Seite müssen beim Speichern in relationale Tabellenstrukturen transformiert werden und beim lesenden Zugriff umgekehrt. Dieser permanent im Hintergrund stattfindende Prozess, der von einem ORM-Framework wie Hibernate durchgeführt werden muss, kostet unglaublich viel Rechenzeit. Nur mit Hilfe eines Chache wird eine aktzeptable Performance erreicht. Der Bruch zwischen Objekten und Tabellen wirkt sich auch auf die Entwicklung aus. Die Komplexität die ein ORM-Framework wie Hibernate mit sich bringt, setzt jede Menge Fachwissen und sehr viel Programmiererfahrung voraus. Und der Anwendungsentwicklung muss immer 2 Datenmodelle pflegen, testen und warten:

  1.  Java Objektmodell
  2.  Relationale Datenmodell der Datenbank.

Mit Jetstream.one gibt es kein OR-Mapping mehr. Jetstream.one ist die einzige Datenbank, die Java Objekte exakt genauso speichert wie diese im Hauptspeicher existieren. Es findet keine Transformation der Objekte mehr statt, weder in ein relationales Modell, noch in ein anderes, künstliches Format (JSON, Key-Value, Vektoren etc.) wie bei NoSQL Datenbanken üblich. Das Resultat ist Highspeed pur - und absolute Einfachheit.

Einfachheit, reduzierter Entwicklungsaufwand, einfache Wartbarkeit
Jetstream.one Entwickler müssen nur noch 1 Datenmodell entwickeln und pflegen: Das Java Objektmodell.


Highspeed durch In-Memory
Jetstream.one ist eine In-Memory Datenbank. Die Engine lädt und hält automatisch so viel Daten im Hauptspeicher wie möglich ist. Manuelle Eingriffe und Lazy-Loading sind jederzeit möglich. Da die Daten im Hauptspeicher liegen, werden sämtliche Abfragen direkt im Hauptspeicher durchgeführt. Abfragen liegen dadurch nicht mehr im Bereich von Millisekunden, sondern im Bereich von Mikrosekunden - bis zu 1000 Mal schneller als bei Relationalen Datenbanken wie MySQL.

 

Keine neue Abfragesprache nötig
Nahezu jede Datenbank kommt mit einem proprietären SQL Dialekt oder gar mit einer eigenen Abfragesprache daher. Für Jetstream.one ist gar keine spezielle Abfragesprache nötig. Da die Daten im Memory liegen, lassen sich die Daten mit Standard Java Boardmitteln durchsuchen, z.B. mit Java 8 Streams. Für Java Einsteiger ist eine JPA-SQL ähnlicher SQL Dialekt geplant.

 

RapidClipse Download

Hinweis: Um RapidClipse downloaden zu können, müssen Sie einen kostenlosen XDEV Account anlegen.

RapidClipse 3.0 Final Release jetzt downloaden