Tablets und erst recht Smartphones haben sich in den letzten Jahren zu unseren ständigen Begleitern entwickelt. Laut aktuellen Prognosen wird ihre Verbreitung in den kommenden Jahren noch weiter voranschreiten. Das Wachstum des Absatzes in diesen beiden Gerätegruppen wird deutlich höher liegen als bei klassischen Desktop Computern und Notebooks. Mit der steigenden Verbreitung von Mobile Devices wächst zugleich der Markt für mobile Apps. Diese über zentrale Stores verbreiteten Kleinanwendungen, die durch Apples iPhone populär wurden, bieten dementsprechend ein enormes Potential, das von der so genannten App-Economy erschlossen werden will.
Vor allem als Content-Plattform, zum Beispiel für Nachrichten oder Magazine, haben viele Anbieter diesen neuen Ausgabekanal für sich entdeckt. So kommt kaum noch ein Anbieter ohne eigene App aus. Doch bedeutet die Herstellung einer eigenen nativen App oft einen hohen Zeit- und Kostenaufwand. Selbst Apps mit simplen Inhalten müssen individuell für die einzelnen Plattformen entwickelt werden. Auch für die Pflege der Inhalte muss meist zusätzliche Infrastruktur geschaffen werden. Die Etablierung einer rein browserbasierten Web-App ist dabei, auf Grund der schlechteren Möglichkeiten zur Monetarisierung und fehlender Sichtbarkeit in den App Stores, meist keine Alternative. Hybrid-Apps bieten hier einen neuen, dritten Weg, der die Vorteile von nativen und Web-Apps verbinden kann.
Ziel der vorliegenden Arbeit ist, aufzuzeigen, wie plattformübergreifende Hybrid-Apps mit einem hohen Automatisierungsgrad aus einem bestehenden web-basierten Content Management System heraus erstellt werden können.
Inhaltsverzeichnis
1 Einleitung
2 Grundlagen des Mobile Computings
2.1 Mobile Devices
2.1.1 Smartphones
2.1.2 Tablets
2.2 Mobile Plattformen
2.2.1 iOS
2.2.2 Android
2.2.3 Weitere Plattformen
2.2.4 Plattformverbreitung
2.3 Apps für Mobile Devices
2.3.1 Native Apps
2.3.2 Web-Apps
2.3.3 Hybride Apps
3 Plattformübergreifende Entwicklung von hybriden Apps
3.1 Grundlegende Web-Technologien
3.1.1 HTML5, CSS3 und JavaScript
3.1.2 Responsive Web Design
3.1.3 Unterstützung von Displays mit hoher Pixeldichte
3.2 Frameworks
3.2.1 Web Application Frameworks
3.2.2 Wrapper Frameworks
3.2.3 Interpreter Frameworks
3.3 Automatisierung des Workflows
3.3.1 Zieldefinition
3.3.2 Erstellung von Templates
3.3.3 Etablierung eines Workflows im Content Management System
3.3.4 Automatisierte Zusammenstellung der Daten für die App
3.3.5 App Building
3.3.6 Publikation und Vermarktung
3.3.7 Aktualisierung der App-Inhalte
3.3.8 Chancen und Grenzen
4 Implementierung eines Prototyps
4.1 Zieldefinition
4.2 Auswahl der Technologien
4.3 Realisierungsphase
4.3.1 Templates für das Content Management System
4.3.2 Widget zur Nutzung von Features der Mobile Device APIs
4.3.3 Konsolidierungsschicht
4.3.4 Schnittstelle zwischen Content Management System und Konsolidierungsschicht
4.3.5 Crawler zur automatisierten Zusammenstellung der Daten
4.3.6 Schnittstelle zwischen Konsolidierungsschicht und Build Service
4.4 Testphase
4.5 Ergebnis
4.6 Lessons Learned
5 Schlussbetrachtung
Zielsetzung & Themen
Ziel der Arbeit ist es, einen automatisierten Workflow für die Erstellung hybrider Apps aus einem bestehenden Content Management System (CMS) heraus zu konzipieren und praktisch durch einen Software-Prototyp umzusetzen, um den Zeit- und Kostenaufwand für die App-Erstellung zu minimieren.
- Grundlagen des Mobile Computings und Marktübersicht
- Analyse und Vergleich verschiedener App-Entwicklungsansätze (nativ, Web, hybrid)
- Technologien und Frameworks zur plattformübergreifenden Entwicklung
- Konzeption eines automatisierten Workflows für das CMS
- Implementierung eines Proof-of-Concept-Prototyps mittels Java/Grails
Auszug aus dem Buch
3.3.4 Automatisierte Zusammenstellung der Daten für die App
Um sämtliche Daten aus dem CMS für die Nutzung in der App zusammenzustellen und aufzubereiten, ist die Implementierung einer Konsolidierungsschicht notwendig. Hierbei handelt es sich um ein zu erstellendes Stück Software, das sowohl mit dem CMS als auch mit dem Service für das App Building kommunizieren kann.
In dieser Schicht müssen zum einen die grundlegenden Metadaten der App, beispielsweise der Name oder ein Icon, vorgehalten werden. Zum anderen muss diese Schicht in der Lage sein, die eigentlichen Inhalte aus dem CMS zusammenzustellen. Hierfür wird ein Crawler benötigt. Dieser muss ähnlich denen funktionieren, die von Suchmaschinen eingesetzt werden, um Webseiten zu indizieren. Ausgehend von einer Startseite muss der Crawler also alle relevanten Links zu weiteren Seiten sowie eingebundenen Ressourcen, wie Bilder oder Stylesheets, verfolgen. Das Ergebnis wird gemeinsam mit den Metadaten in der Konsolidierungsschicht gespeichert, aufbereitet und an den Service für das App Building weitergegeben.
Statt die Inhalte von einem Crawler abholen zu lassen, wäre es auch möglich, das CMS diese Inhalte aktiv an die Konsolidierungsschicht senden zu lassen. Diese Lösung erscheint jedoch nicht optimal, da die Schnittstellen der Konsolidierungsschicht idealerweise so gestaltet sein sollten, dass sie von einem beliebigen CMS angesprochen werden können. Eine Verlagerung eines Großteils der Logik in das CMS widerspräche diesem Grundsatz.
Zusammenfassung der Kapitel
1 Einleitung: Die Einleitung motiviert das Thema durch die wachsende Bedeutung von Mobile Devices und Apps und formuliert das Ziel der Arbeit, einen automatisierten Workflow zur Erstellung hybrider Apps aus einem CMS zu entwickeln.
2 Grundlagen des Mobile Computings: Dieses Kapitel gibt einen Überblick über den Markt für Smartphones und Tablets, die wichtigsten mobilen Plattformen sowie die verschiedenen Arten von Apps (nativ, Web, hybrid) inklusive ihrer Vor- und Nachteile.
3 Plattformübergreifende Entwicklung von hybriden Apps: Es werden die technischen Grundlagen (HTML5, CSS3, JavaScript, Responsive Web Design) sowie relevante Frameworks und Strategien zur Workflow-Automatisierung für hybride Applikationen detailliert vorgestellt.
4 Implementierung eines Prototyps: In diesem Kapitel wird die praktische Realisierung des Konzepts dokumentiert, inklusive der technologischen Auswahl, der Konsolidierungsschicht, der Integration in das CMS Polopoly sowie der Testphase und gewonnenen Erkenntnisse.
5 Schlussbetrachtung: Die Arbeit schließt mit einer Zusammenfassung der Ergebnisse, einer kritischen Würdigung der Grenzen des entwickelten Konzepts sowie einem Ausblick auf eine mögliche Weiterentwicklung zu einem marktreifen Produkt.
Schlüsselwörter
Hybride Apps, Mobile Computing, Content Management System, CMS, Workflow-Automatisierung, Web-Technologien, HTML5, Responsive Web Design, PhoneGap, Frameworks, Mobile App Entwicklung, Prototyping, Software-Architektur, Konsolidierungsschicht, App-Stores.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit der Entwicklung eines automatisierten Prozesses, mit dem Redakteure hybride Apps direkt aus einem Content Management System heraus erstellen können, ohne selbst tiefe Programmierkenntnisse zu benötigen.
Was sind die zentralen Themenfelder?
Die Schwerpunkte liegen auf dem Mobile Computing, der Gegenüberstellung von App-Entwicklungsmodellen, modernen Web-Technologien sowie der technischen Integration und Automatisierung zwischen CMS und App-Build-Services.
Was ist das primäre Ziel oder die Forschungsfrage?
Das Hauptziel ist die technische Machbarkeit eines automatisierten Workflows nachzuweisen, der die Erstellung plattformübergreifender hybrider Apps für ein CMS ermöglicht.
Welche wissenschaftliche Methode wird verwendet?
Es wird eine angewandte Forschungsmethode gewählt, bei der ein theoretisches Konzept erarbeitet und dessen Praxistauglichkeit durch die Implementierung eines funktionsfähigen Software-Prototyps (Proof of Concept) validiert wird.
Was wird im Hauptteil behandelt?
Der Hauptteil analysiert die Grundlagen mobiler Plattformen, vergleicht Frameworks zur App-Entwicklung und detailliert die Architektur einer Konsolidierungsschicht sowie die Implementierung eines Crawlers zur automatisierten Inhaltsaufbereitung.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die zentralen Begriffe sind Hybride Apps, Workflow-Automatisierung, CMS-Integration, Web-Technologien (HTML5/CSS3), PhoneGap und plattformübergreifende Softwareentwicklung.
Warum wurde gerade Polopoly als CMS für den Prototyp gewählt?
Polopoly wurde gewählt, da es ein auf Java basierendes System ist, welches durch seine offene Struktur und die Möglichkeit, mehrere Seiten aus einem System zu verwalten, eine gute Basis für den Prototyp bot.
Welche Rolle spielt der Crawler bei der Automatisierung?
Der Crawler ist das zentrale Element zur automatisierten Datenaufbereitung; er liest die Inhalte aus dem CMS-Layout aus, verfolgt Links und sammelt alle benötigten Assets, um ein für den Build-Service verarbeitbares Archiv zu erstellen.
Warum reicht ein hybrider Ansatz nicht immer aus?
Wie die Arbeit durch das Facebook-Beispiel zeigt, können hybride Apps bei sehr komplexen Anforderungen an Performance und native Funktionen an ihre Grenzen stoßen, weshalb sie vor allem für inhaltsgetriebene Anwendungen ideal sind.
- Citation du texte
- Jens Küsters (Auteur), 2013, Automatisierte Generierung hybrider Apps für Mobile Devices, Munich, GRIN Verlag, https://www.grin.com/document/231205