Titanium Hybride App-Entwicklung - Marvin Hoffmann (B.Sc.)

Die Seite wird erstellt Georg-Thomas Ulrich
 
WEITER LESEN
Titanium Hybride App-Entwicklung - Marvin Hoffmann (B.Sc.)
Titanium
Hybride App-Entwicklung
    für „Mobile Portals & Mobile Business“

      Marvin Hoffmann (B.Sc.)
        contact@marvin-hoffmann.de

     Hochschule der Medien Stuttgart
Titanium Hybride App-Entwicklung - Marvin Hoffmann (B.Sc.)
Hybride App-Entwicklung // appcelerator Titanium

Inhaltsverzeichnis

  1. Einleitung                                               1

  2. Appcelerator Inc.                                        3

  3. Titanium Mobile                                          5

   3.1.   Erwartungshaltung!                                  5

   3.2.   Was steckt dahinter?!                               6

   3.3.   Was wird benötigt?!                                 6

   3.4.   Wo bekomme ich Unterstützung?!                      7

   3.5.   Vorteile und Möglichkeiten!                         8

  4. Titanium Studio                                          9

   4.1.   Developer!                                          9

   4.2.   Studio!                                            11

  5. Fazit                                                   12
Titanium Hybride App-Entwicklung - Marvin Hoffmann (B.Sc.)
Hybride App-Entwicklung // appcelerator Titanium

1. Einleitung
In den letzten Jahren ist der Markt für Mobile Anwendungen dramatisch gewachsen. Fast
jeder Dienst der im Internet erreichbar ist bietet entweder eine für mobile Geräte
angepasste Alternative seiner Webseite an, oder es gibt eine eigens dafür entwickelte
Anwendung. Es gibt wohl kaum mehr ein Unternehmen, das nicht in irgend einer Form
eine Mobile Anwendung im Angebot hat - sofern sich dies anbietet.

Dieser Trend ist nicht all zu verwunderlich, denn immer mehr Handy-Nutzer sind
inzwischen im Besitz eines Smart-Phones. Aufgrund dessen sprangen in den letzten
Jahren auch immer mehr Hersteller auf diesen Zug auf und bieten eigene Endgeräte an.
Mit einer breiten Masse an Endgeräten kommen aber auch eine Vielzahl an
Betriebssystemen für diese einher. Unter diesen haben sich zwei besonders hervor getan -
hauptsächlich aufgrund der hohen Anzahl abgesetzter Endgeräte. Die Rede ist von iOS
für Apple Geräte und Android von Google. Natürlich gibt es auch noch weitere wichtige
Betriebssysteme, die man nicht einfach vernachlässigen kann. Jedoch sind diese beiden
besonders verbreitet und haben einen gemeinsamen Marktanteil von über 30%1 . In
nächster Zeit dürfte darüber hinaus auch Microsoft mit seinem Betriebssystem Windows
Phone 7 im Smart-Phone Markt für Aufmerksamkeit sorgen und eine wichtige Rolle neben
den beiden bereits genannten einnehmen.

Der relativ hohe Marktanteil der beiden Betriebssysteme ist wohl der Hauptgrund dafür,
dass die Entwickler von Mobilen Anwendungen ihren Fokus großteils auf diese beiden
Betriebssysteme gerichtet haben. Darüber hinaus bieten beide Systeme einen Store an,
über den die Anwendungen bezogen werden können und der einhergehende Zahlungs-
verkehr abgeschlossen werden kann. Apple hat mit seinem App Store eine Vorreiterrolle
eingenommen. Google hat dieses Konzept mit dem Marketplace für Android kopiert und
hat damit ebenfalls viel Erfolg.

Da nun also zwei große Systeme mit ähnlich großem Marktanteil, vergleichbar gutem Eco-
System und gleicher Zielgruppe existieren, gilt es natürlich auch beide Systeme zu
bedienen. Leider gibt es hier ein entscheidendes Problem. Anwendungen für iOS müssen

1   http://www.macnotes.de/2010/08/13/smartphone-marktanteil-android-uberholt-ios/

                                                  Seite 1
Titanium Hybride App-Entwicklung - Marvin Hoffmann (B.Sc.)
Hybride App-Entwicklung // appcelerator Titanium

in Objective-C programmiert werden, Android hingegen erwartet Java. Um dieser
Herausforderung zu begegnen bieten sich verschiedene Möglichkeiten an.

Die erste Möglichkeit ist die offensichtlichste. Es muss eine eigene Anwendung sowohl für
iOS , als auch eine für Android entwickelt werden. Diese Vorgehensweiße ist natürlich mit
dem größten Aufwand verbunden, denn von dem geschrieben Code lässt sich nichts von
der einen Anwendung in die andere übernehmen.

Möglichkeit zwei stellt eine Art Workaround dar. Sie sieht vor, dass keine native
Anwendung auf Basis von Objective-C oder Java geschrieben wird, sondern eine
Webanwendung auf Basis von HTML, CSS und JavaScript. Diese läuft dann im
entsprechenden Browser des Gerätes. Mit dieser Variante ist man unabhängig was die
verschiedenen Plattformen angeht, fängt sich jedoch die Unannehmlichkeiten des
Webdesigns ein. Weiterer Vorteil ist, dass man mit dieser Methode natürlich nicht nur für
iOS und Android bereit ist, sondern auch für Windows Phone 7 oder sonstige
Betriebssysteme. Weitere Vor- und Nachteile werden im weiteren Verlauf dieser Arbeit
noch zusätzlich hervorgehoben.

Die dritte Möglichkeit lässt sich bereits dem Titel dieser Ausarbeitung entnehmen. Hybride
Entwicklung. Hierbei handelt es sich um Frameworks, die versprechen, native
Anwendungen für verschiedene Plattformen erstellen zu können - und zwar auf einer
einzigen Code-Basis. Im Klartext wird also versprochen, dass nur eine Anwendung
entwickelt werden muss, welche anschließend auf mehreren Plattformen gebracht werden
kann. Genau mit dieser Variante beschäftigt sich diese Ausarbeitung.

Betrachtet wird hierfür das Framework Titanium vom Hersteller Appcelerator 2 . Neben
Titanium existieren auch noch weitere solcher Frameworks. Diese werden hier jedoch
nicht im Detail betrachtet. Die größten Konkurrenten sind Rhodes 3 von Rhomobile und
Nitobis PhoneGab4.

2   http://www.appcelerator.com/
3   http://rhomobile.com/products/rhodes/
4   http://www.phonegap.com/

                                            Seite 2
Hybride App-Entwicklung // appcelerator Titanium

2. Appcelerator Inc.
Die Titanium Entwickler Appcelerator wurden im Jahr 2006 gegründet. Sie wurden dabei
sowohl von eBay, als auch den beiden Venture Kapital Gebern Storm Ventures und
Sierra Ventures finanziell unterstützt. Seinen Firmensitz hat das noch junge Unternehmen
in Mountain View, Kalifornien.

Primär besteht das Appcelerator Team aus Webdesign Experten deren Idee es war, die
Flexibilität und Plattformunabhängigkeit einer Webanwendung mit der Performance einer
nativen Anwendung zu verbinden. Durch diese Verbindung sollten jeweils die Stärken
nativer als auch weborientierter Anwendungen genutzt und ihre Schwächen außen vor
gelassen werden. Angeregt wurden auch sie durch den wachsenden Smart-Phone Markt
und dem Bedürfnis Anwendungen für mehrere Plattformen zu entwickeln.

Dies waren jedoch nicht die einzige Idee die Appcelerator in den fünf Jahren seit ihrer
Gründung umgesetzt haben. Neben dem Framework für mobile Geräte, gibt es auch eines
für Desktop Anwendungen. Denn das Problem mit den Plattformen gibt es schließlich nicht
erst seit es mobile Endgeräte gibt, sondern existiert auch schon lange für Desktop
Betriebssysteme. Dieser Herausforderung hat sich das Team ebenfalls gestellt und liefert
mit Titanium Desktop die Möglichkeit, Anwendungen ohne Bindung an ein bestimmtes
Betriebssystem zu entwickeln. Unterstützt werden die drei großen Systeme Linux, OSX
und Windows. Zusätzlich zu HTML, CSS und JavaScript, welche auch bei Titanium
Mobile zum Einsatz kommen, ist es auch möglich PHP, Python und Ruby einzusetzen.
Über JavaScript APIs können native Funktionen wie Datei-Zugriff, externe Prozesse und
ein an das Lock-and-Feel des entsprechenden Systems angepasstes Aussehen durch
einen nativen UI-Chrome realisiert werden. Ausgeführt wird die fertige Anwendung in
einem durch Webkit unterstützen „Web-Browser“.

Als drittes Produkt in der Titanium Reihe gibt es noch das Titanium Studio. Näheres dazu
im entsprechenden Kapitel.

Neben der höchst interessanten Produktpalette zeichnet sich Appcelerator darüber hinaus
durch eine enge Bindung mit der Community aus. Um dieser Tatsache besonderen
Ausdruck zu verleihen, findet in diesem Jahr auch die erste Developer Conference statt.
Neben Titanium Entwicklern wird auch CEO Jeff Haynie höchst persönlich vor Ort sein.

                                        Seite 3
Hybride App-Entwicklung // appcelerator Titanium

Stattfinden wird das Event vom 18. bis 20. September in San Francisco, Kalifornien und
trägt den Titel Codestrong. Frühbucher registrieren sich bis zum 15. Juli für 699$, bis zum
15. August für 799$ oder anschließend für 899$. In begrenzter Stückzahl sind außerdem
„All Access“-Karten für einen Preis von 999$ zu ergattern. Gerichtet ist das Event an die
weltweit 1,5 Millionen registrierten Titanium Entwickler.5

Zu guter Letzt noch ein paar Zahlen, einen kleinen Überblick über namhafte Kunden die
bereits auf die erwähnten Produkte setzen, sowie einige Awards und Stimmen aus dem
Web und der Presse.6

      • 1,5 Millionen aktive Entwickler

      • 21.800 Anwendungen basierend auf Titanium

      • 20 Millionen aktive Nutzer

                                    Abbildung 1: Namhafte Titanium Nutzer

                                 Abbildung 2: Stimmen zu Titanium und Awards

5   http://www.codestrong.com/
6   http://www.appcelerator.com/products/download/

                                                     Seite 4
Hybride App-Entwicklung // appcelerator Titanium

3. Titanium Mobile
In diesem Kapitel wird es nun darum gehen, welche Möglichkeiten das Titanium
Framework im mobilen Sektor zu bieten hat. Neben den Versprechungen der Entwickler,
wird auch ein Vergleich mit nativen Anwendungen und Webanwendungen gezogen. Im
Mittelpunkt steht jedoch das Framework selbst.

3.1. Erwartungshaltung
Zunächst ein Blick auf die Versprechen die Appcelerator auf seiner Webseite gibt7 :

      • Increase revenue by creating new applications that have the richness of web
        content and the performance and capabilities of mobile devices and the desktop
        apps.

      • Cut development time in half by building apps once and deploying on multiple
        platforms. We‘re building apps in 2 days!

      • Drive down development costs by building applications with the web team you
        have today.

      • Avoid vendor lock-in by using an open platform that maximizes your choices.
        You’re never sandboxed and are in control to meet your evolving needs.

Jede der fett hervorgehobenen Aussagen wird jeweils noch durch einen kurzes Statement
begründet. Alles in allem kann man sagen, dass sich Appcelerator hauptsächlich damit
brüstet, dass Programmierarbeit, die eigentlich von erfahrenen Anwendungsentwicklern
erledigt werden muss, auch von Web-Entwicklern getan werden kann. Zudem können
diese in einem Schritt gleich zwei Anwendungen für unterschiedliche Plattformen erstellen.
Und um sich von reinen Webanwendungen abzusetzen, können sie dank Titanium auch
die Performance und Ressourcen einer nativen Anwendung nutzen.

7   http://www.appcelerator.com/company/

                                           Seite 5
Hybride App-Entwicklung // appcelerator Titanium

3.2. Was steckt dahinter?
In den vorhergehenden Kapiteln ist das Prinzip von Titanium ja schon deutlich
durchgeklungen. Grundsätzlich kann man sagen, dass das Framework JavaScript APIs
zur Verfügung stellt, welche die nativen Elemente der jeweiligen Programmiersprache
ansteuern. Es wird also etwa ein Button implementiert, indem ein Button Element aus der
JavaScript API verwendet wird. Wird das Programm dann für eine Zielplattform ausgerollt,
so werden die API-Aufrufe an die nativen API-Aufrufe des entsprechenden
Betriebssystems gekoppelt und aus dem plumpen „Button“ wird ein iOS Button auf dem
iPhone oder eben ein Android Button auf einem entsprechenden Android Gerät. Und
genau so simpel wie es hier klingt, funktioniert es auch. Geschrieben wird JavaScript, wie
Objective-C oder Java sieht es aus.

Man könnte auch vermuten, dass Titanium Mobile - technisch betrachtet - gleich
funktioniert wie seine Schwester die Desktop Version. Dies ist jedoch nicht der Fall. Im
Gegensatz zu ihr funktioniert das Framework für mobile Endgeräte nicht so, dass die
Anwendungen durch eine Webkit Engine unterstützt werden. Viel mehr sprechen diese mit
einer stand-alone JavaScript Engine welche die nativen APIs aufruft. Welche
Möglichkeiten dieses Vorgehen mit sich bringt ist im Kapitel 3.5 nachzulesen.

3.3. Was wird benötigt?
Um mit Titanium arbeiten zu können, werden verschiedene Ressourcen benötigt.
Zunächst kann man sich auf der Webseite von Appcelerator mit den entsprechenden
Titanium Bausteinen ausstatten.8 Man hat hier die Auswahl zwischen verschiedenen
Paketen. Das Basis Paket trägt den Namen Community und ist kostenlos. Im Umfang
enthalten sind die Mobile APIs und die neue Enwicklungsumgebung (IDE) mit dem
Namen Titanium Studio. Beide sind jeweils in einer Basic Version vertreten. Für
erhöhten Bedarf gibt es noch die Pakete Indie und Professional. Beide enthalten sowohl
die APIs also auch die IDE in einer Premium Version. Für Unternehmen gibt es darüber
hinaus auch noch ein Enterprise Paket. Wer genaue Informationen zu Preisen etc. haben
möchte, muss sich hier direkt an Appcelerator wenden. Eine sehr gute Übersicht über alle

8   http://www.appcelerator.com/products/download/

                                                     Seite 6
Hybride App-Entwicklung // appcelerator Titanium

Funktionen und Leistungen die in den einzelnen Pakten enthalten sind ist auf der Plans &
Pricing Seite 9 zu finden.

Mit einem Download des Paketes seiner Wahl ist es jedoch noch nicht getan. Um mit der
Entwicklung beginnen zu können, müssen die iPhone SDK und die Android SDK
installiert sein. Zu finden sind diese auf den entsprechenden Seiten der Hersteller. Im Falle
von Android lässt sich diese über deren Developers Seite 10               beziehen. Einmal
heruntergeladen sind darüber hinaus keine weiteren Schritte notwendig. Um eine iOS
Anwendung zu entwickeln und später auch in den App Store stellen zu können, ist neben
der SDK, die zusammen mit Apples IDE Xcode 4 bezogen werden kann, jedoch auch eine
Developer Lizenz von Nöten. Daran ändert sich auch nichts, wenn die Anwendung mit
Titanium entwickelt wird. Alle nötigen Informationen hierzu sind in Apples Developer
Center11 zu finden. Das eben angesprochene Xcode 4 kann von Entwicklern mit gültiger
Lizenz kostenfrei herunter geladen werden. Ist eine solche nicht vorhanden, kann es über
den Mac App Store12 für einen Preis von 3,99€ bezogen werden - vorausgesetzt man ist
im Besitz eines Macs mit aktuellem Snow Leopard Betriebssystem.

3.4. Wo bekomme ich Unterstützung?
Besonders stolz ist Appcelerator auch auf seine Developer Community. Bereits in Kapitel
2 wurde erwähnt, dass es weltweit bereits 1,5 Millionen aktive Entwickler gibt, die auf
Titanium setzen. Dieser großen Masse an Entwicklern hat der Hersteller mit seinem
Developer Center13 eine Plattform geschaffen, auf der sich bereits viele Fragen nur durch
einen Besuch klären lassen. Es gibt dort viele verschiedene Arten der Informationsteilung.

Im Q&A Bereich kann jeder angemeldete Entwickler Fragen stellen, die dann öffentlich
diskutiert und beantwortet werden können. Hier helfen neben anderen Community-
Mitglieder gelegentlich auch Titanium-Entwickler selbst.

9   http://www.appcelerator.com/products/plans-pricing/
10   http://developer.android.com/sdk/index.html
11   http://developer.apple.com/devcenter/ios/index.action
12   http://itunes.apple.com/us/app/xcode/id422352214?mt=12&ls=1
13   http://developer.appcelerator.com/

                                                    Seite 7
Hybride App-Entwicklung // appcelerator Titanium

Besonders interessant für den Einstieg sind darüber hinaus auch noch die Bereiche Docs
und AppU Training. Unter Docs sind neben Getting Started Guides auch API
Reference Guides, Release Notes und Programming Guides zu den Frameworks
Titanium Mobile und Desktop zu finden. Unter AppU Training erhält man alle Informationen
rund um die Anmeldung für Kurse oder Zertifizierungen. Darüber hinaus gibt es dort
noch den Zero-to-App Guide. Hinter diesem Namen verbirgt sich eine sehr hilfreiche
Video-Reihe von derzeit fünf Videos. Diese beginnen von Null an und geben einen ersten
Einblick in die Entwicklung mit Titanium. Das fünfte Video Cross-Platform JavaScript
Applications geht geschlagene 40 Minuten und hält den Zuschauer bei der Erstellung
einer ersten, einfachen Cross-Platform Anwendung an der Hand.

In einem Blog14             können sich Interessierte auch jederzeit über Neuigkeiten und
Änderungen an den Frameworks auf dem Laufenden halten. Geschrieben werden die
Artikel von Appcelerator Entwicklern. Neben Ankündigungen von Updates werden
gelegentlich auch Apps vorgestellt, welche mit Titanium entwickelt wurden. Neue Beiträge
erscheinen sehr regelmäßig, was den guten Kontakt zur Community positiv abrundet.

Alles was bisher vorgestellt wurde, ist komplett kostenfrei. Zusätzlich gibt es jedoch auch
noch direkten Support vom Appcelerator Team. Wie umfangreich dieser Support ist,
hängt vom gebuchten Paket des Accounts ab. Details hierzu sind unter der Support
Seite 15 und der bereits erwähnten Plans & Pricing Seite zu finden.

3.5. Vorteile und Möglichkeiten
Vieles, von dem was hier stehen könnte, wurde schon im bisherigen Verlauf dieser Arbeit
ausgeführt. Nichts desto trotz soll dieses Kapitel noch einmal einen umfassenden
Überblick darüber liefern, welche Vorteile und Möglichkeiten sich mit dem Einsatz eines
hybriden Entwicklungsframeworks im Allgemeinen und Titanium Mobile im Speziellen
ergeben.

14   http://developer.appcelerator.com/blog/
15   http://www.appcelerator.com/services/support/

                                                     Seite 8
Hybride App-Entwicklung // appcelerator Titanium

Hierfür muss unterschieden werden, ob von Vorteilen gegenüber nativen Anwendungen
oder Webanwendungen die Rede ist.

• Unabhängigkeit: Hierin steckt natürlich der Kern aller Anstrengungen. Eine hybride
  Anwendung soll nicht mehr an eine Plattform oder ein Betriebssystem gebunden sein.
  Dies wird durch die Abstrahierung der nativen APIs in JavaScrips APIs gelöst.

• Flexibilität: Mit Titanium Mobile hat man als Entwickler die Wahl ob man seine
  Oberfläche lieber mit nativen Elementen gestallten will, oder mit HTML und CSS.

• Geschwindigkeit: Im Gegensatz zu einer Webanwendung laufen diese Anwendungen
  nicht in einem Browser mit begrenzten Ressourcen und einer weiteren Station in der
  Befehlskette der Instruktionen. Das sorgt für hohe Geschwindigkeit und
  Leistungsfähigkeit.

• Funktionalität: Die JavaScript APIs von Titanium sind sehr ausgereift und haben einen
  sehr hohen Funktionsumfang und Integrationsgrad was die nativen APIs angeht. Über
 sie können sämtliche Funktionen genutzt werden, die moderne Smart-Phones mit sich
 bringen. Sei es die Kamera für Foto- oder Videoaufnahmen, Sensoren zur Erkennung
 der Ausrichtung oder auch das Accelerometer eines iPhones mit dem sich erkennen
 lässt wie das Gerät bewegt wird.

• Verfügbarkeit: Immer Verfügbar, auch ohne Verbindung ins Internet. Natürlich hängt
  diese Aussage vom Aufbau der Anwendung ab. Eine Anwendung, die sich aktuellen
  Content aus dem Web holt, ist natürlich immer darauf angewiesen, dass eine
  Verbindung zum entsprechenden Server hergestellt werden kann. Jedoch ist diese nicht
  für den prinzipiellen Start der Anwendung nötig, sondern nur um den angezeigten Inhalt
  zu aktualisieren.

4. Titanium Studio
4.1. Developer
In der Präsentation, die Anfang Juni als Teil der Arbeit gehalten wurde, war bei der
Produktübersicht von einem Titanium Studio noch keine Rede. Stattdessen tauchte dort
eine Software mit dem Namen Titanium Developer auf. Dieser Developer ist, wie man
dem Namen nach vielleicht vermuten könnte, keine eigenständige IDE, sondern viel mehr
ein Tool, mit dessen Hilfe die Entwicklung hybrider Anwendungen erleichtert wird.

                                         Seite 9
Hybride App-Entwicklung // appcelerator Titanium

Mit seiner Hilfe können neue Titanium Projekte angelegt werden, um eine Grundlage für
den weiteren Entwicklungsverlauf zu schaffen. Wurde ein Projekt mit all seinen Attributen
(Name, Details zur Anwendung, Details zum Entwickler, etc.) angelegt, dann ist beim
Developer aber erstmal Schluss. Da er über keinen Editor verfügt, bietet er für die
eigentliche Entwicklung keine Unterstützung. Gänzlich unnütz ist er jedoch auch während
dieses Stadiums nicht, denn er bietet Emulatoren, mit deren Hilfe die Anwendungen
getestet werden konnten. Je nach verfügbarer SDK kann sowohl ein Android, als auch ein
iOS Emulator gestartet werden.

                     Abbildung 3: iPhone Emulator Konsole des Developers

Selbst nach Abschluss der Entwicklung bleibt der Developer noch äußerst nützlich.
Werden die entsprechenden Accounts hinterlegt, lässt sich über ihn die Anwendung
sowohl in den Andoid Marketplace als auch den App Store einreichen (siehe Abbildung 4).

Man kann also sagen, dass der Developer von der Idee her durchaus nützlich ist.
Interessant dürfte neben der Unterstützung beim Deployment auch die Erstellung eines
Titanium Projektes sein. Da der Developer von der eigentlichen IDE jedoch sehr
abgekoppelt ist, fühlt er sich nicht so nützlich an wie er vielleicht ist. Besonders das
zeitraubende Wechseln von IDE zu Developer und zurück für die Nutzung der Emulatoren,
dürfte dafür sorgen, dass der Developer durch das Studio abgelöst wurde.

                                          Seite 10
Hybride App-Entwicklung // appcelerator Titanium

                    Abbildung 4: Unterstützung für Distribution in App Store und Marketplace

4.2. Studio
Entgegen dem Developer ist das Studio eine vollwertige Entwicklungsumgebung. Erstellt
wurde sie auf Basis des open source Projektes Eclipse 16 und erinnert schon rein
äußerlich sehr stark daran (siehe Abbildung 5). Dies soll jedoch keinesfalls negativ zu
verstehen sein. Eclipse ist mit seiner eigenen IDE17 sehr erfolgreich. Sie wird weltweit von
tausenden Entwicklern eingesetzt. Ein Umstieg zum Titanium Studio, für das Erstellen von
Anwendungen auf Titanium Basis, dürfte Eclipse-Nutzern also besonders leicht fallen.

Neben den üblichen Funktionalitäten, die man von einer Entwicklungsumgebung erwartet,
bringt das Studio auch den kompletten Umfang des Titanium Developers mit. Demnach
kann mit diesem neuen Produkt der komplette Life-Cycle einer Anwendung gesteuert
werden. Vom Anlegen des Projektes, über die Entwicklung und die Test, bis hin zum
Deployment des fertigen Produkts in die jeweiligen Stores, unterstützt das Titanium
Studio wo es kann.

16   http://www.eclipse.org/eclipse/
17   http://www.eclipse.org/downloads/

                                                   Seite 11
Hybride App-Entwicklung // appcelerator Titanium

              Abbildung 5: Titanium Studio mit App Explorer, großem Editor-Bereich und Konsole

Um einen möglichst einfachen Einstieg in die Entwicklung mit dem Titanium Framework zu
bekommen gibt es von Appcelerator das Projekt KitchenSink. Dabei handelt es sich um
eine hybride iPhone/Android-Anwendung, in welcher ein Großteil aller zur Verfügung
stehenden Funktionen der JavaScript APIs verbaut wurden. Der komplette Quellcode
wurde auf der offiziellen GitHub18 Seite des Herstellers veröffentlicht und kann von dort
heruntergeladen werden. Mit diesem umfangreichen Projekt dürften sich vor allem für
Titanium Neulinge viele Fragen klären.

5. Fazit
Aus den Augen eines Entwicklers verfasst, der noch keine Erfahrung mit der Entwicklung
mobiler Anwendungen hat, wird sich das Fazit hauptsächlich um Titanium selbst drehen.
Ein Vergleich mit nativen Anwendungen, Webanwendungen und deren Entwicklungs-
prozess wird nur oberflächlich stattfinden, da die Expertise, die für eine solche
Gegenüberstellung notwendig wäre, nicht vorhanden ist.

18   https://github.com/appcelerator/KitchenSink

                                                   Seite 12
Hybride App-Entwicklung // appcelerator Titanium

Wirft man einen Blick auf die Quellen, die in dieser Ausarbeitung angegeben wurden, so
stellt man fest, dass fast alle auf eine Webseite führen, die in einer Verbindung mit
Appcelerator steht. Dies ist nicht etwa auf einen Mangel an Recherche zurückzuführen,
sondern vielmehr darauf, dass das junge Unternehmen sehr fleißig dafür sorgt, dass ein
guter Informationsfluss für interessierte Besucher vorhanden ist. Dies beginnt mit
allgemeinen Informationen zu den Produkten auf der offiziellen Webseite und wird mit
ebenso großer Sorgfalt auf den Seiten des eigens für Entwickler eingerichteten Developer
Center fortgeführt.

Besonders hervorzuheben ist auch, dass versucht wird ein möglichst breites Spektrum an
Entwicklern mit unterschiedlichem Wissensstand abzudecken. Für Neulinge sind
besonders die GitHub Seite mit dem KitchenSink Projekt und die Zero-to-App Videos im
Developer Center interessant. Erfahrenere Programmierer finden in ausführlichen
Dokumentationen und einem betreuten Q&A Community Bereich Hilfe. Für Profis gibt es
über den Premium-Support dann auch die Möglichkeit direkt mit den Titanium Entwicklern
in Kontakt zu treten, oder sich in Schulungen noch weiter fortbilden zu lassen - bis hin zur
Möglichkeit durch Prüfungen Zertifikate zu erwerben.

Neben dem guten Support besticht das Titanium Framework natürlich mit seinem hybriden
Ansatz. Die Idee nur noch eine Anwendung schreiben zu müssen und sie auf
verschiedenen Plattformen starten zu können ist sehr reizvoll. Dieser Reiz rührt
hauptsächlich daher, dass nicht nur einfach versucht wird Webanwendungen offline
verfügbar zu machen, sondern es steckt viel mehr dahinter. Titanium Mobile versucht mit
seinem Framework JavaScript als eine Art Meta-Sprache einzusetzen und die nativen API
Aufrufe in allgemein gültigen JavaScript Aufrufen zu abstrahieren. Somit sind sowohl die
Geschwindigkeit einer nativen Anwendung, als auch die Flexibilität einer Webanwendung
gewährleistet.

Derzeit im Beta-Status befindet sich Titanium Mobile noch mit Blackberry. Wenn diese
Plattform dann final eingebunden ist, erschließt sich Appcelerator noch einen weiteren
großen Markt. Interessant wird auch noch die Entwicklung von Microsofts Windows Phone
7 sein und es bleibt abzuwarten, ob - oder eher wann - auch diese Plattform in das
Framework integriert wird.

                                          Seite 13
Sie können auch lesen