+49 40 608 12 460
(Development)
+49 175 5611694 (Kommunikation)
Appcelerator Titanium – Schulungen der Appwerft
Es gibt vielerlei Gründe, warum ein Lernprozess beschleunigt werden soll. Wir bieten individuelle Schulungen und Workshops für das Entwicklungssystem Appcelerator-Titanium für iOS und Android in Ihrem Hause an. Wir vermitteln kein Wikipedia-Wissen, sondern vermitteln das Rüstzeug für Ihr erfolgreiches Projekt. Das Prinzip lautet: „Vom Entwickler – für Entwickler“.
Sie bestimmen Lerninhalt und Lerntempo. In einem Vorgespräch können wir gern ein individuelles Paket schnüren.
Alternativ zu dieser allgemeinen Einführung und/oder Projektbegleitung bieten wir auch ein dreitäges Programm zur Vorbereitung auf die TCD-Zertifikat.Prüfung an.
Nachfolgende Übersicht soll bei der Planung helfen.
Einrichtung der Entwicklungsumgebung
In dieser ersten Stunde richten die Teilnehmer ihre Arbeitsplatzmaschine (Mac oder Windows) mit der notwendigen Arbeitsumgebung ein. Nach erfolgreichem Setup wird ein Dummyprojekt erzeugt, an dessen Beispiel die Projektstruktur deutlich wird. In einem Überblick wird die Anbindung an Github aufgezeigt und die Frage geklärt, wie die kompilierten Apps in die öffentlichen Stores kommen. Alternative Verteilung in einem Intranet wird aufgezeigt.
- Einrichtung eines Nutzerkontos bei Appcelerator,
- Installation des Titanium Studios
- Installation von XCode
- Installation der Android SDK
- Kompatibilitätsmatrix (OS, XCode Studio, Java)
- Einrichtung der Entwicklungsumgebung
- Übersicht über die Verzeichnisstruktur im Projekt
- Erste App (Hello World!)
- Installation auf Gerräten über iTunes/AndroidDebuggingBridge)
- Einbindung externer Versionierung, beispielsweise überGithub
- Provisioning (iOS), Keystore (Android)
- Inhouse-Deployment, on Air mit QR-Code
Besonderheiten der Android-Plattform
Um eine AndroidApp zu bauen, die beim Anwender bestmöglich ankommt, ist es entscheidend, dass wir die besonderen Möglichkeiten dieser Plattform benutzen. In dieser Stunde werden Konzepte, Funktionen und Komponenten der Androidwelt vorgestellt.
- Konventionen des User-Interfaces
- Hardware Buttons
- Bildschirmgrößen und -auflösungen
- Unterschiede zu iOS
- Activities
- Services
- Intents
Besonderheiten der iOS-Plattform
In diesem Kurs betrachten wir die Besonderheiten der iOS-Welt. Das sind Konventionen der Benutzeroberfläche, Anwendungskomponenten und Besonderheit der Einknopfbedienung des iPhones und des iPads.
- UserInterface-Konventionen
- Apples HumanInterface-Guidelines
Guter Javascript-Programmierstil
Das Coden einer Titanium-Anwendung unterscheidet sich von der Programmierung einer Webseite. In diesem Kurs lernen die Teilnehmer wie sie den Code übersichtlich halten und die Komplexität begrenzen können. Ziel ist robuster und wiederverwendbarer Code. Als Unterstützung und Vorbereitung empfehlen wir Oliver Ochs' Standardwerk: „ JavaScript für Enterprise-Entwickler : Professionell programmieren … “
- Sichtbarkeit von Variablen
- Stay DRY
- selbstaufrufende Funktionen
- Closures
- commonJS-Muster
- Callbacks-Muster
- Event/Observer-Muster
Crossplattform in einer Codebasis / Mehrsprachigkeit
Ein Vorteil von Titanium ist die Verwendung der besten Konzepte aus beiden Plattformwelten. Deswegen ist die Verwendung plattformspezifischen Codes unumgänglich. In diesem Kurs werden zwei Strategien mit ihten jeweiligen Vor- und Nachteilen aufgezeigt. Soll eine App für den internationalen Markt gebaut und/oder die Codelogik streng von Texten getrennt werden (eigentlich eine sehr gute Idee), wird die nötige Technik vorgestellt.
- Ausnutzung plattformspezifischer Möglichkeiten
- Code-Weichen
- plattformspezifische Dateien
- Internationalisierung
Grundlagen des User-Interfaces
In diesem Kurs beginnen wir mit der eigentlichen Programmierung. Wir werden der Frage der grundsätzlichen Oberflächenstruktur, ihrer Positionierung und der Interaktion (Events) nachgehen.
Wir beginnen mit den beiden Topelementen Tabgruppe und Window. Danach thematisieren wir die auf Windows zu platzierenden Benutzerschnittstellenkomponenten. Oberflächen ohne Gesten ergeben wenig Sinn. Deshalb widmen wir uns im Kurs mit den Ereignissen und ihrer Behandlung. Am Ende gehen wir auf den Splashscreen und die Icons ein.
- Applikationsstruktur (SingleWindow/Tabgruppe)
- Layout, Positionierung, Hierarchie
- Events
- Icons und Splash-Screens
UI in die Tiefe geschaut
Apps bestehen oft aus Listen von wiederkehrenden Elementen. Titanium stellt dafür TableViews und ListViews zur Verfügung. Beide UI-Elemente haben ihre Stärken und auch Schwächen. In diesem Kurs werden wir beide Elemente ausführlich behandeln
Im zweiten Teil werden wir uns aller Gesten und des Beschleunigungssensors annehemen. Android ist ein Mulititaskung-Betriebsystem. Deshalb sollten während der „Schlafphasen“ gewisse Events eingeschläfert werden. Ansonsten würde die Batterie leergesaugt. Wir erfahren, wie das realisiert wird.
Danach werden wir das starke Werkzeug der 2D- und 3D-Animation kennenlernen.
Am Ende des Kurses behandeln wir die UI-Komponenten, die es nur auf einer Plattform gibt. Mit ihnen können die Stärken der jeweiligen Plattform ausgespielt werden.
- ListViews
- TableViews
- ScrollViews
- ScrollableViews
- Orientations
- unterstützte Gesten
- Animationen
- Hausschriften
- spezifische iOS-Komponenten
- spezifische Android-Komponenten
Anzeige von PDF-Dokumenten
Obwohl eine iPadApp nicht nur eine PDF-Schleuder sein sollte, gibt es tatsächlich Anwendungsfälle, bei denen PDFs angezeigt werden. Unter Android erfolgt die Anzeige nicht als View, sondern als Intent. Wir zeigen wie PDFs aus dem Netz geholt, gecacht und angezeigt werden.
- Standardanzeige unter iOS
- erweiterte Anzeige unter iOS mit speziellen Modulen aus dem Marketplace
- Anzeige von PDFs aus dem Netz unter Android
Alloy-Framework
Das Alloy-Framework ermöglicht die Anwendung des MVC-Konzeptes in der Titaniumentwicklung. Die Ansicht wird in einer XML-Datei erstellt, das Styling erfolgt einer speziellen Stylesheet-Datei. Model und Controler werden in herkömmlichen Javascriptcode bearbeitet. Das ganze Alloy ist ein Präprozessor, der aus dem Alloy-Paket ein klassisches Titaniumprojekt generiert. Das heisst, die App wird dadurch nicht schneller oder bietet mehr Feature –die Struktur wird nur klarer und eine Teamworking wird vereinfacht.
Der Kurs gibt eine Einführung in diese Technik.
- Konzept des MVC-Frameworks
- Alloy Models
- Alloy Views
- Alloy Controllers
- Best Practice („Das gute Alloy“)
Zugriff auf lokale Daten (Persistierung)
Sofern die mobile App nicht nur Produkte präsentiert, nimmt sie Daten vom Nutzer entgegen. Diese Daten müssen sinnvollerweise persistiert werden. Das heisst sie sind auch bei Wiederstatt der App, anderen Apps des Gerätes oder auch anderen Nutzern der App auf anderen Geräten verfügbar. Zur Lösung dieses Problems werden verschiedene Techniken vorgestellt.
- Auswahl der Persistenzstrategie
- leichtgewichtige Speicherung in Properties
- sichere Speicherung im Systemschlüsselbund
- SQLite-Datenbank
- Zugriff auf das lokale Filesystem
- Zugriff auf geräteweite Objekte (wie Kalender, Kontakte, Photogalerie)
Netzwerkprotokolle
Die App kann über das Netzwerk mit anderen Datenquellen kommunizieren. HTTP ist dabei das Standardwerkzeug. Deswegen werden wir und ausführlich mit dem Protokoll und den darauf aufsetzenden höheren Protokollen beschäftigen. Andere Protokolle wie UDP, FTP, WebSockets werden wir auch thematisieren.
- HTTP-Client
- Hoch- und Runterladen von Dateien
- Spiegelung von Datenbanken
- SOAP, XMLRPC
- REST
- Spiegelung und CAching von XML/JSON-Dateien
- OAuth (Twitter, XING, Meetup, LinkedIn, Flickr …)
- Umgang mit SSL-Zertifikaten
Netzwerke
- Einbindung von Werbeanbietern
- Webradio (SHOUTcast, icecast)
- In-App-Purchasing
- JIRA
- OpenShift
- Sharepointanbindung
- SAP-Anbindung mit OData (Netweaver Gateway)
- UserTracking, beispielsweise mit Google Analytics
- Einbindung von Cloudservices (ACS, Parse.com …)
- Einfaches Einbinden von Backend-as-a-Service Anbietern wie apiomat.com , die deutschem Datenschutzrecht genügen
- Dropbox, Box.net
- Einbindung sozialer Dienste (Facebook, Twitter, Meetup, XING, Pinterest, Flickr)
- Benachrichtigungssysteme (PushNotifications)
Umgang mit Medien
- Audio API
- Video API
- Bilder/Carousel
- Photogalerie
- Kamera
- Barcode-Leser
Ortungsdienste / Karten
- Positionsbestimmung und -tracking
- native Karten (Apple, Google und OpenStreetMap)
- Kartenoverlays
- Offline-Karten
- Zugriff auf Kompass und Beschleunigungssensoren
- NFC
Webviews
Als UI-Element sollte nur in Außnahmefällen auf eine sogenannte Webview zurückgegriffen werden. In diesem Kurs vwrmitteln wir die API, zeigen wir, wie man auf den Namensraum der HTML5-Seite zugreifen kann und nennen typische Anwendungsfälle.
- API der UI-Komponente
- Kommunikation mit der Webview
- Anwendungsfälle
Nutzung von Titanium-Modulen
In vielen Fällen sind die bereitgestellten API-Funktionen ausreichend. Darüberhinaus können sogenannte (native) Module eingebunden werden. Sie erweitern die mobilen Apps um weitere plattformabhängige Funktionen. Beispiele dafür sind QR-Code-Reader, Unzipper oder Netwerkclients für Websockets oder UDP. Für diese Module gibt es drei Quellen: der Marketplace, Github und die Eigenentwicklung.
- Module installieren und einbinden
- Benutzung von Modulen aus dem Marketplace
- Benutzung von Modulen aus dem Github
- Erstellung von eigenen Module
Als Ausblick werden erste Schritte zur nächsten Generation von Titanium ( Hyperloop ) genommen.
Die benötigte Anzahl der Tage hängt vom didaktischen Konzept ab. Das Training lehnt sich an die Prüfung zum TCAD an und kann der Vorbereitung dienen.
Der Tutor ist Titanium Certified App Developer und gehört zu den Top-5 der Q&A-Titanium-Experten.