Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 2
admob 11/09 – Weltweite Auswertung von ~ 10 Mrd. Requests
iPhone OSSymbian OSAndroidRIM OSWindows Mobile
Betriebssysteme auf mobilen Endgeräten
Vorführender
Präsentationsnotizen
IPhone 54%Objective-C Symbian 19%Symbian-C Android 16%Java Rim 6% Windows Mobile 2%.Net Admob ist Werbedienstleister mit über 15.000 Mobile Webseiten Auswertung ist nur als grob anzusehen da eben nur diese 15.000 Seiten und nur Online-Aktivität ausgewertet wurde.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 3
I iPhone App Store
I Android App Market
I Nokia App Market
I Blackberry App World
I Windows Mobile Marketplace
Verfügbare App-Stores
> 100k
> 20k
> 6k
> 3,5k
> 1k
Vorführender
Präsentationsnotizen
Entspricht ungefähr der Verteilung der Handys. Es gibt z.B. viele Windows Mobile Apps die nicht im Store sind, da dieser erst später hinzukam. Anzahl Apps downloaded: Iphone > 2 Milliarden Android > 40 Mio. Symbian: zwar hohe Nutzerzahl aber nicht unbedingt App-relevant
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 4
Auswertung vom 14. Jan 2010 – United States - http://www.mobclix.com/appstore
Apple iPhone Appstore – Ranking
Vorführender
Präsentationsnotizen
Am meisten Apps in den Kategorien Games, Entertainment & Books. Nur ¼ der Apps sind dort kostenlos.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 5by Harald [ha75]
Web oder native App?
Vorführender
Präsentationsnotizen
Pro Web App Schnell zu erstellen Platform-übergreifend Contra Web App Mehr Daten werden transferiert Keine Daten speicherbar → geht aber mit HTML5 Keine Offline Inhalte Eigenes Payment-System implementieren Pro Native App Schneller und weniger Transfervolumen „Bessere Usability da Native Elemente“ und UI Effekte Hardware-Features wie Geolocation Contra Native App Kenntnisse von C, Objective-C, Java, .Net benötigt Marketstore-Zugang kostet bei Apple 100$/ Android 25$ 30% Abgaben je App Bugfixes komplizierter zu veröffentlichen
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 6by DraconianRain
Was wollen wir?
Vorführender
Präsentationsnotizen
Möglichst viele Vorteile von Native-Apps kombiniert mit Vorteilen von Web-Apps. Bestehende Kenntnisse verwenden. Bestehenden Code wiederverwenden. Portabilität → Eine App für möglichst viele Systeme. Gewohnte IDE verwenden. Open Source.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 7
Vorführender
Präsentationsnotizen
Titanium Developer von appcelerator ermöglichst dies. Alternativen folgen später. Firma steckt dahinter → Support. Kann auch Deskop Apps die unter Win/Linux/Mac nativ laufen erzeugen. Siehe Blog-Eintrag. Vor allem Kroll Microkernel ist interessant. Titanium Developer läuft unter Windows / Linux und Mac wobei iPhone SDK nur unter Mac geht. Benötigt wird weiterhin Android oder iPhone SDK + Java JDK. Firmenvorstellung: http://vimeo.com/8730218
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 8by (michelle)
Lizenz & Community
Vorführender
Präsentationsnotizen
Steht unter der Apache Public V2 License. Open Source, verfügbar über Github. Derzeit (01/2010) über 17000 Mitglieder in Community. Gutes Forum → man bekommt schnell Hilfe. Community / Feedback ist gut im Programm integriert. Z.B. IRC.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 9
Vorführender
Präsentationsnotizen
Architektur Man schreibt eine App mit HTML, CSS & JS. Titanium stellt eine API bereit die über JS ansprechbar ist. Zum Beispiel um Native UI Elemente zu verwenden, Dateisystem zugreifen, Position zu ermitteln etc. Dazu später mehr. Über eine Bridge wird der Code nach Java oder Objective-C konvertiert und man erhält eine Native App. Spezifische Anpassungen für Android / iPhone sind möglich. Wir können also bestehende Kenntnisse / Webtechnologien wiederverwenden, wir haben Portabilität auf 2 Systeme, eine native App sowie Open Source.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 10
Native UI Controls/Views
Vorführender
Präsentationsnotizen
Kleine Übersicht über verfügbare APIs. Über die UI API können mit JavaScript sämtliche Nativen UI Elemente verwendet werden (im Gegensatz zu PhoneGap). Bedienung ist meines Erachtens dadurch besser weil man diese Elemente entsprechend gewohnt ist. Anwendung sieht besser aus. Common API für iPhone/Android.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 11
Database & Filesystem
Vorführender
Präsentationsnotizen
Die Database API erlaubt die Verwendung von Datenbanken. Sync & Async → HTML5. Mit Filesystem API kann lesend und schreibend auf das Dateisystem zugegriffen werden.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 12
Media
Vorführender
Präsentationsnotizen
Die Media API erlaubt Zugriff / Abspielen von Audio und Video Streams. Zugriff auf Foto Gallerien. Kamera kann darüber angesprochen werden.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 13
Geolocation
Vorführender
Präsentationsnotizen
Mit der Geolocation API kann der aktuelle Ort bestimmt werden. Damit können positionsabhängige Anwendungen erstellt werden.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 14
Gestures & Accelerometer
Vorführender
Präsentationsnotizen
Über Accelerometer und Gesture können Events abgefangen werden und entsprechend darauf reagieren. Z.B. wenn man das Handy bewegt, umdreht oder schüttelt.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 15
Network
Vorführender
Präsentationsnotizen
Network API erlaubt z.B. XHR Requests. Social API beinhaltet wiederum unter anderem eine Facebook API mit der man einfach Facebook Apps schreiben kann.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 16by massdistraction
WeitereAPI`s
Vorführender
Präsentationsnotizen
Weitere APIs sind z.B. Logging, Analytics, Platform, Application Properties. Andere Anwendungen starten, direkt SMS senden, Anrufe tätigen usw. Eine Maps API steht in neuen Version zur Verfügung. HTML5 / CSS3 verwendbar. Gibt viele Demo Apps die zur Verfügung stehen und auch Open Source sind. Eine davon ist KitchenSink: Zeigt und verwendet jede API und Methode.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 17
Titanium Developer
Vorführender
Präsentationsnotizen
Es gibt drei Perspektiven – Projekt, Community und Profil-Ansicht. Neues Projekt anlegen oder importieren. Entscheiden ob Desktop- oder Mobile-App. Optional ist die Integration von ein oder mehreren JS Frameworks. Verfügbare SDK's zeigt an welche SDK's erkannt wurden. Im angegeben Pfad wird anschließend eine Demo-App angelegt.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 18
Ordnerstruktur & Konfiguration
Vorführender
Präsentationsnotizen
Interessant ist tiapp.xml. App-Name, Icon etc. kann hier konfiguriert werden. Für jedes window Element wird ein Tab erzeugt. In diesem Fall nur ein window und daher keine Tabs. Gestartet wird in diesem Beispiel die index.html. Resources Ordner enthält HTML/JS Files. Können mit beliebigem Editor bearbeitet werden. Spezifische Anpassungen in den jeweiligen Android / iPhone Ordner. Diese Ordner enthalten auch Bilder.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 19
Testen der Anwendung
Vorführender
Präsentationsnotizen
Um Anwendung testweise auszuführen in Test & Package Tab gehen. Distribution: Direkt im Android- oder iPhone-Store veröffentlichen. Run on Device: Wenn über USB angeschlossen, kann die App direkt aufs Handy aufgespielt werden. Interessant ist Run Android/iPhone Emulator: Startet die App direkt im Emulator.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 20
Emulator & Logs
Vorführender
Präsentationsnotizen
Launch startet Emulator und erzeugt sowie installiert App. Bei erneutem Launch wird Emulator nicht neu gestartet. SDK-Version sowie Auflösung ist auswählbar. Verschiedene Debug Level sind auswählbar.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 21
PhonegapQuickConnectRhodesMoSync
by Orin Zebest
Phonegap RhodesQuickConnect MoSync
Vorführender
Präsentationsnotizen
Gibt gute Alternativen. Auch noch viel mehr wie hier aufgelistet. Eigene Erfahrung mit Phonegap gemacht. Nachteil von Phonegap fand ich keine Nativen UI-Elemente sondern nachgebaut über CSS. Schaut zumindest auf Android nicht so gut aus. Phonegap Apps dürfen auch im Store veröffentlicht werden. Welches Framework man nimmt kann von verschiedenen Faktoren abhängen. Bei Phonegap ist der Einstieg generell leichter und unterstützt mehr Platformen. Allerdings sind noch nicht alle APIs sonderlich ausgebaut siehe nächste Folie.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 22
Phonegap Roadmap
Vorführender
Präsentationsnotizen
Aufgrund der unterschiedlich unterstützten Komponenten ist es schwer eine App zu schreiben die überall läuft. Weil z.B. etwas auf iPhone geht, woanders aber nicht. Dadurch ist der Vorteil von mehreren Systemen etwas angekratzt. HTML/CSS/JS ist jedoch auf allen Systemen verwendbar und reicht oft schon aus.
Android/iPhone Apps mit Titanium Developer I Mayflower GmbH I 03.02.2010 I 23by Wollbinho
I http://www.flickr.com/people/ha75/
I http://www.flickr.com/people/draconianrain/
I http://www.flickr.com/people/eyefruit/
I http://www.flickr.com/people/sharynmorrow/
I http://www.flickr.com/people/orinrobertjohn/
I http://www.flickr.com/people/wollbinho/
I http://www.appcelerator.com/
I http://www.codestrong.com/timobile/howto
I http://www.codestrong.com
I http://www.vimeo.com/appcelerator
I http://www.phonegap.com
Links
Vorführender
Präsentationsnotizen
Nützliche Links. Codestrong enthält viele Dokumentationen, Tipps, etc. Auch ein HowTo wie man Titanium Developer installiert. Videos bei Vimeo sind sehr interessant.