Development, mobile

Mobilplatform: Tabris

Überblick

Auf der Suche nach crossplattform Ansätzen zur Mobilentwicklung  soll hier kurz das Framework Tabris vorgestellt werden. Tabris bietet eine Abstraktion zu den derzeit vorherrschende mobilen Platformen Android und IOS. Der Ansatz von Tabris ist dabei eine hybride Variante mit der Besonderheit das nicht H5JSCS (HTML5+JS+CSS) zum Einsatz kommt sondern die UI-Elemente dynamisch von einem Appframe in native Elemente umgesetzt werden.

Auf Basis von Eclipse-RAP wird das UI und Applogik in Plain Java (SWT & Jface für UI, JEE für Applogik) mittels einer Webapplikation komplett bereitgestellt. Die Kommunikation findet via REST+JSON statt und lässt somit Raum für diverse zukünftige Clients.

Auf dem Prüfstand

Eine erste Testanwendung ist schnell umgesetzt: Im wesentlichen muss dafür in der Webapplikation das Interface org.eclipse.rap.rwt.lifecycle.IEntryPoint implementiert werden und in der web.xml das Servlet org.eclipse.rap.rwt.engine.RWTServlet zum zum Einsatz kommen. Zur Konfiguration kommt eine Implementierung von org.eclipse.rap.rwt.application.ApplicationConfiguration die ebenfalls in der web.xml als context-param eingesetzt wird. (Siehe auch Getting Started von Tabris.)

Für Android und IOS muss nur der Appframe gebaut werden und auf die URL der Webapplikation gezielt werden. Nach Start des Appframes im Simulator oder Device lässt sich direkt die Anwendung mit nativen UI-Elementen ausführen.

Schokoladenseite

Dieser hybride Ansatz kann insbesondere durch folgende Eigenschaften punkten:

  1. Komplette Entwicklung des UI und der Applogik in Plain Java als Webapplikation.
  2. Das UI entspricht der jeweiligen Platform. Dies zahlt auf das UX (Userexperience) und die Performance/Responsivität der Applikation ein
  3. Erprobte Techniken mit SWT und Jface, sowie JEE kommen zum Einsatz
  4. Anbindung weiterer Clients z.B. Windows8 möglich.

Problemzonen

Es greift auch hier das generelle Problem einer Crossplattform-Lösung: Aufgrund der Abstraktion unterschiedlicher Zielplatfformen kann immer nur eine Untermenge der verfügbaren nativen Funktionen angesprochen werden. Derzeit unterstützt Tabris nur eine Abstraktion für die Geolokalisierung. Hier sind aber für das Release 1.0 mehr Funktionen geplant. (siehe http://developer.eclipsesource.com/tabris/docs/faq/ ) Trotzdem: Spezielle Funktionen wie NFC sind schlicht auf IOS nicht verfügbar und können nur auf einzelnen Plattformen bereitgestellt werden. Wie dies architektonisch sauber umzusetzen ist für die Appentwicklung einerseits und die Entwicklung von Tabris andererseits muss sich erst noch zeigen.

Zu bedenken ist aber auch noch eine weitere Facette: Wie eine H5JSCS App benötigt Tabris ebenfalls eine ständige Verbindung zur Webapplikation. UI und Applogik sind nur via Serververbindung verfügbar. Auf den ersten Blick ist man hier geneigt zu sagen, das Verhalten entspricht halt einer Webanwendung: Ohne Netz keine Funktion. Nur: Vom Thema Userexperience her gesehen ist dieses „Webapp-Verhalten“ schädlich, da der Nutzer dieses Verhalten von einer (scheinbaren) nativen App so nicht kennt und vermutlich überrascht sein wird, warum z.B: die ganze App ausfällt.

Fazit

Der innovative Ansatz  als eigenständige Form einer hybriden Appentwicklung positioniert sich in der Mitte zwischen reinen H5JSCS und nativen Anwendungen als weitere wichtige Stufe: Natives UI mit zentraler Applogik. Sollte es gelingen die Problemzonen insb. der Offlinefähigkeit ggf. über Caching abzufangen ist dieses Framework für eine Vielzahl von Anwendungsfällen sicherlich der Schlüssel in die mobile Entwicklung aus der Javawelt.

Standard
Development

JavaScript: TodoMVC für den Überblick

Javascript-APIs um das Thema MVC gibt es in so großer Anzahl, das es aus architektonischer Sicht quasi unmöglich ist Vor- und Nachteile der jeweiligen Implementierung zu evaluieren. Abhilfe bringt hier TodoMVC:

Auf Basis einer fachlich immer gleichen ToDo-List Implementierung bietet die Site über 30+  mögliche Umsetzungen dieser ToDo-List mit verschiedenen APIs. backbone.js, ember.js, angular.js ….

Standard
datavisualisation, Development, socialweb

RFID, Web2.0 und Enterprises

In einem Showcase für das Social-Networking innerhalb eines Unternehmens wurde gezeigt, wie die Interaktion zwischen AutoID-Verfahren wie z.B. RFID und sozialen Netzwerken aussehen kann. In diesem Showcase wurde auf Basis einer persönlichen RFID-Karte das derzeitige soziale Netzwerk einer Person innerhalb des Unternehmens in einer Graphenvisualisierung generiert. Weiterlesen

Standard
semantic web

Workshop Philosophie & Informatik – Universität Paderborn

Am 19. und 20. April 2007 habe ich einen Vortrag im Rahmen des Workshops „Handlungsschemata als Grundlage visueller und begrifflicher Strukturierung in der Wissensrepräsentation“ (siehe auch Flyer.pdf) gehalten. In Relation zu meiner Diplomarbeit, richtet sich der Vortrag thematisch an der visuellen Strukturierung von Wissen in Form von Ontologien aus. Der Vortrag basiert auf meiner Diplomarbeit aus dem Jahre 2005.

Standard