RAP mobile: Eclipse Rich Ajax Platform für mobile Geräte

JAXenter: In der schwelenden Debatte „Native Apps versus mobile Webseiten“ bringen die Verfechter der nativen App-Entwicklung die Argumente „bessere Performance“ und „authentisches Look and Feel“ ins Spiel. Wie nahe kommt man mit RAP mobile an die Performanz und Authentizität nativer Apps heran?

Wie bereits erwähnt, erstellt RAP mobile das UI auf den mobilen Geräten mit nativen UI-Elementen. Was die Authentizität angeht ist sie somit vollständig identisch zur nativen Entwicklung.

Mit der Performanz verhält es sich ein wenig komplizierter. Da RAP mobile in Kombination mit dem RAP-Server die Applikation in weiten Teilen auf dem Server ausführt, spielt die Latenz zwischen Server und Client eine wichtige Rolle. Für Business-Anwendungen ist dies aber nur bedingt ein Nachteil, da diese in der Regel auf Datenbestände zugreifen müssen, die auf Servern gespeichert sind.

Unser Musterbeispiel hierzu ist der Zugriff auf beliebige Daten einer sehr großen Datenbank, wir haben ein Beispiel auf Basis des „Enron Email-Datensatzes“ implementiert. Dieser besteht aus über einer halben Million E-Mails und ist über 2.4 GB groß. Wenn dieser Datensatz auf einem mobilen Gerät mit nativer App-Entwicklung verfügbar gemacht werden soll, steht der Entwickler vor einer gewaltigen Aufgabe. Mit RAP mobile und JFace gibt es bereits performante und erprobte Lösungen für diese Art der Problemstellung. Mit SWT und JFace auf der Server-Seite ist es sehr einfach, Daten für hierarchische Datenstrukturen on-demand zu laden und darzustellen. Die Implementierung ist mit sehr geringem Programmieraufwand möglich.

Aber eine Demo sagt mehr als tausend Worte: http://rapmobile.eclipsesource.com/demos

JAXenter: Auf welchem Stand ist das Projekt zurzeit?

Wir bieten derzeit eine „Developer Preview“ für einen eingeschränkten Benutzerkreis an, für die man sich über die Projekt-Webseite (http://rapmobile.eclipsesource.com) bewerben kann. Die Preview besteht aus unseren beiden Clients für iOS und Android. Beide bieten bereits einen umfangreichen Satz an Widgets wie z.B. Input-, Button- oder Tree-Controls an.

RAP mobile ist inzwischen aus der „Proof-of-concept“-Phase herausgewachsen, weshalb wir uns auch für das Going-Live entschieden haben. Natürlich liegt auch noch eine Menge Arbeit vor uns. Insbesondere die Erweiterung der von SWT vorgegebenen API wollen wir mit den Teilnehmern der Developer Preview vorantreiben. Ein weiteres Arbeitsgebiet ist die Integration der Gerätefunktionen, die derzeit durch eine Integration mit PhoneGap geplant ist.

JAXenter: Ist es geplant, RAP mobile in den offiziellen Eclipse-Projekt-Katalog einzugliedern?

Hierzu gibt es noch keine definitive Entscheidung, vorerst werden die mobile Clients aber nicht Teil des Projekts bei Eclipse.org, sondern unter einer kommerziellen Lizenz angeboten. Wir bleiben dem Open-Source-Gedanken dennoch weiter verbunden und planen Teile von RAP mobile Open Source zu stellen, insbesondere wenn sie einen Nutzen für die Entwicklung nativer Anwendungen bringen. Konkret denken wir jetzt schon an unseren Backport des Holo-Themes von Android 4.0 auf Versionen von Android größer 2.0 und an unsere Implementierung von „glossy buttons“ für iOS.

JAXenter: Wie soll sich das Projekt in den nächsten Monaten weiterentwickeln?

Von unserer Seite aus wollen wir in einigen Monaten den Sprung in eine Beta wagen. Die Resonanz auf den Projektstart ist ausgesprochen positiv, und wir möchten die Technologie mit einem vernünftigen Zeithorizont verfügbar machen. Dabei werden wir uns stark an den Bedürfnissen der Early Adopter orientieren. Wir haben natürlich auch noch einige weitergehende Ideen wie z.B. client-scripting mit JavaScript und vieles mehr. Es fehlt sicher nicht an Visionen, Ideen und vor allem Spaß bei der Entwicklung. Aber wir wollen nicht alles vorwegnehmen und freuen uns, in naher Zukunft über konkrete Fortschritte berichten zu können.

JAXenter: Vielen Dank für dieses Gespräch!

Jochen Krause ist Gründer und CEO von EclipseSource, Gründungsmitglied der Eclipse Foundation und in verschiedenen Rollen seit 2002 in der Eclipse-Community aktiv. Er hält einen Sitz im Board of Directors der Eclipse Foundation, ist Co-Lead der EclipseRT- und RAP-Projekte sowie Mitglied im Eclipse Architecture Council und Mentor mehrerer Eclipse-Projekte. Seine Interessen liegen in Softwareplattformen und in der nachhaltigen Verbindung von Open Source und Business.

Holger Staudacher arbeitet als Software-Entwickler und Consultant bei EclipseSource in Karlsruhe. Er ist Projektleiter des EclipseRT Packaging-Projekts und einer der Kernentwickler der Rich Ajax Platform (RAP). Staudacher interessiert sich für alles, was mit agiler Softwareentwicklung, Clean Code und verteilten Systemen zu tun hat.
Kommentare

Schreibe einen Kommentar

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