Stellen Sie sich vor, Sie könnten in JavaScript eine App für Android und iPhone schreiben, die für beide Zielsysteme gleichzeitig crosscompiled werden kann und die bestehende Nodes und Views einer Drupal-Seite direkt als Datenquelle verwendet.
Geht nich? Geht doch!
Das Titanium Mobile Framework der Firma Appcelerator Inc. ermöglicht es, native Apps in JavaScript zu entwickeln und für die Zielsysteme iOS und Android zu veröffentlichen. Man spart somit deutlich an Aufwand im Vergleich zur nativen App Entwicklung. Dieses Framework verwenden wir als Basis zur Entwicklung einiger Mobile Apps. Drupal als mächtiges CMS / Framework wird dabei als Backend eingesetzt um die App mit Daten zu versorgen. Diese Daten werden meist durch Views bereitgestellt, was die Entwicklung und die Komposition der Daten erheblich beschleunigt.
Zum Titanium Mobile Framework benötigen wir noch folgendes in unserem App-Baukasten:
- Xcode zum Kompilieren für iOS (leider ist dazu auch zwingend ein Mac erforderlich)
- Die Android SDK zum Kompilieren für Android
- Eine Drupal-Seite im Netz
Die Requests an Drupal senden und empfangen Daten im JSON Format. Damit Drupal diese Anfragen versteht, muss das Drupal Services-Modul und die Erweiterung als JSON Server installiert sein. Sie sollten auch sicherstellen, dass die Berechtigungen richtig gesetzt sind, da die Request sonst nur leere Ergebnisse liefern.
Ich habe mir für den nächsten Schritt einen View mit dem Namen 'MobileBlog' auf brightsolutions.de angelegt, der mir unformatiert die Felder für die Blog-Überschriften, den Anriss-Text und die zugehörigen Node-IDs liefert. Diesen View rufe ich mit Titanium durch ein HTTP-Request an das Service-Modul ab und cache die Ergebnisse, damit die Daten nach dem ersten Abruf auch dann verfügbar sind, wenn keine Internetverbindung besteht:
var xhr = Titanium.Network.createHTTPClient();
xhr.onload = function(){
// zeige die Daten schön formatiert an, cache sie oder
// mach etwas ganz anderes damit
};
xhr.open('POST',http://brightsolutions.de/services/json);
xhr.send({'method':views.get, 'view_name':MobileBlog});Möchte ich nun einen bestimmten Node abrufen, verwende ich einfach "node.get" als Methode. Drupal kann so mit allen Vorteilen und nur gringem Mehraufwand als Backend für Mobile Apps dienen.
Durch Auth-Keys ist auch eine Authentifizierung an der Webseite inklusive aller Berechtigungen möglich. Eine Community mit einer App für das iPhone / iPad oder ein Android basierendes Endgerät zu bereichern ist somit ebenfalls mit den vorgestellten Mitteln machbar.
Es bleibt auf jeden Fall spannend die weitere Entwicklung abzuwarten. Wir werden natürlich auch in Zukunft über unsere weiteren App-Projekte in Verbindung mit Drupal in diesem Blog berichten.
Weitere Informationen erhalten Sie auf unserer Webseite auch zu den folgenden Themen:












Kommentar hinzufügen