Programmierung einer mobilen Applikation zur archäologischen Befunddokumentation

Größe: px
Ab Seite anzeigen:

Download "Programmierung einer mobilen Applikation zur archäologischen Befunddokumentation"

Transkript

1 Programmierung einer mobilen Applikation zur archäologischen Befunddokumentation Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Arts (B. A.) Humboldt-Universität zu Berlin Mathematisch-Naturwissenschaftliche Fakultät II Institut für Informatik eingereicht von: Antje Hemling geboren am: in: Berlin Gutachter(innen): Prof. J. C. Freytag Dr. Axel Gering eingereicht am:

2

3 Inhaltsverzeichnis 1 Einleitung Aufgabenstellung Aufbau der Arbeit Archäologische Grundlagen Gegenstand der Archäologie Archäologische Ausgrabungen Anforderungen an die Anwendung Mobilität Datensicherheit Funktionsaufteilung Informationstechnische Grundlagen Mobile Endgeräte Mobile Plattformen Apple iphone Android Windows Phone Weitere Plattformen Plattformunabhängigkeit und Portabilität Methoden zur Entwicklung mobiler Applikationen Apps und ihr Anwendungsbereich Native Apps Entwicklung für Apples iphone Entwicklung für Android Geräte Entwicklung für Windows Phones Vor- und Nachteile von nativen Apps Web Apps HTML JavaScript CSS JQuery Mobile i

4 ii INHALTSVERZEICHNIS Sencha Touch Vor- und Nachteile von Web-Apps Hybride Apps Cross-Compiler Frameworks Wrapper Frameworks Vor- und Nachteile von hybriden Apps Vergleich der Methoden Plattformabdeckung Portabilitätsaufwand Performance Auswahl einer Technologie Datenspeicherung Web Storage Web-SQL Datenbanken IndexedDB Auswahl einer Speichermethode Systementwurf Zielrichtung Funktionalitäten für beide Nutzergruppen Funktionalitäten für den Grabungsleiter Mitarbeiter verwalten Grabungen verwalten Befunde verwalten Funktionalitäten für den Grabungsassistenten Datenhaltung Implementierung JQuery Touch PhoneGap Zusammenfassung Diskussion Mobilität Datensicherheit Plattformunabhängigkeit Portabilität und Performance Auswertung Fazit Ausblick Datenspeicherung Kommunikation zwischen Smartphones Auswertung der Befunde

5 INHALTSVERZEICHNIS iii Vereinfachung der App-Entwicklung A Ergänzende Abbildungen 61 A.1 Beispielhafte Verwendung der Anwendung A.2 Beispiel Befundblatt

6 Abbildungsverzeichnis 2.1 Beispielhafter Ablauf einer archäologischen Ausgrabung Prognose zu Marktanteilen mobiler Plattformen 2012 und Absatz von iphones bis zum 3. Quartal Verteilung von Arten unterschiedlicher Apps Entstehung einer nativen App mit PhoneGap Browsersupport für die Speicher APIs Loginbildschirm Auswahl zwischen GL und GA EPK für einen Anmeldevorgang Hauptmenü für den Grabungsleiter Menü zum Verwalten der Mitarbeiter Menü um einen neuen Mitarbeiter anzulegen Menü zum Anlegen einer neuen Ausgrabung Menü zum Wählen einer Grabung und anschlieÿenden Bearbeitung der Befunde Use-Case Diagramm der Anwendungsfälle der GLs Use-Case Diagramm der Anwendungsfälle der GA ER-Modell für die Datenbank Login-Seite ohne und mit eingebundenem JQuery mobile A.1 Beispielhafte Verwendung der Anwendung als GA A.2 Befundblatt basierend auf den Vorgaben des Landesdenkmalamtes Bayern. 63 iv

7 Tabellenverzeichnis 4.1 Programmiersprachen und Entwicklungsumgebungen der verschiedenen Plattformen Plattformunterstützung von jquery Mobile Plattformabdeckung der unterschiedlichen Technologien Portabilität der mit unterschiedlichen Technologien entwickelten Anwendungen Performance der mit unterschiedlichen Technologien entwickelten Anwendungen Anwendungsfälle Mitarbeiter verwalten Anwendungsfälle Ausgrabungen verwalten Anwendungsfälle Befunde verwalten Anwendungsfälle für den GA Anwendungsfälle Befunde verwalten v

8 vi TABELLENVERZEICHNIS

9 Kapitel 1 Einleitung Ein wichtiger Bestandteil archäologischer Arbeit ist die Feldforschung. Hier sollen im Rahmen von Ausgrabungen wichtige Fragestellungen zu unserer Geschichte beantwortet werden. So geben z.b. Funde aus Nekropolen einen Überblick über die soziale Struktur der Bevölkerung, Funde aus Heiligtümern geben Aufschluss über die Glaubensvorstellungen antiker Kulturen [HB02]. Eine wichtige Voraussetzung für Aussagen dieser Art ist jedoch die sorgfältige Ausgrabung und vor allem Dokumentation der Funde und ihres Fundkontextes. Diese Dokumentation wird jedoch oft vernachlässigt. Grund hierfür ist unter anderem der enorme Arbeitsaufwand, der mit ihr verbunden ist. Alle Funde sowie ihre Fundzusammenhänge müssen in Papierform möglichst genau und unmittelbar aufgenommen werden, da sie im weiteren Verlauf der Ausgrabung zerstört werden könnten. Wichtige Zusammenhänge würden so verloren gehen. Dies bedeutet meist eine Menge Schreibarbeit, die den ieÿenden Arbeitsablauf unterbricht und somit erschwert. Im heutigen Informationszeitalter stellt sich nun die Frage nach der Vereinfachung des Schrittes der Dokumentation mittels moderner Techniken. Hierfür bieten sich nun mehrere Möglichkeiten, eine grundlegende Idee ist die Entwicklung eines Programmes, mit dem sich die Dokumentation schneller und unkomplizierter realisieren lässt, als es bei einer schriftlichen Dokumentation möglich ist. Da die Dokumentation aber, wie bereits beschrieben, unmittelbar nach Tätigung eines Befundes geschehen muss, scheint diese Aufgabe aufgrund der fehlenden Mobilität von Personal Computern (PC) und der Gröÿe von Notebooks nur schwer realisierbar. Abhilfe schaen hier mobile Endgeräte, insbesondere die modernen Smartphones, die neue Generation von Computern [AGL10]. Mit der Vorstellung des ersten Apple iphones im Jahr 2007 erhielt der Smartphone- Markt neuen Aufschwung [Imm12]. Der Absatz dieser kleinen Computer verpackt in einem Mobiltelefon stieg rapide an, im Jahr 2012 haben sie das klassische Handy weitestgehend abgelöst [BI12]. Die neuen Smartphones bieten eine Vielzahl von Möglichkeiten der Verwendung. Zusätzlich kann jeder, der über die notwendigen Programmierkenntnisse verfügt, Anwendungen, sogenannte Apps, für sie entwickeln. Da sie auÿerdem sehr handlich sind 1

10 2 KAPITEL 1. EINLEITUNG und aufgrund der neuen innovativen Bedienmöglichkeiten schnelles Arbeiten erleichtern, bieten sie sich für die Aufgabe der archäologischen Funddokumentation geradezu an. Allerdings erfolgt die Entwicklung von Applikationen für mobile Endgeräte nicht ohne Probleme. Auf dem Markt existiert eine Vielzahl von Anbietern für Smartphones. Das Fehlen von Standards hat hier zu einer Vielzahl von Betriebssystemen sowie nutzbaren Entwicklertools für die einzelnen Geräte geführt. Das macht es App-Entwicklern beinahe unmöglich, ihre Applikation für mehr als nur ein spezisches Endgerät zu programmieren. Um die Applikation dennoch auf möglichst vielen mobilen Endgeräten zugänglich zu machen, gibt es verschiedene Herangehensweisen, die jedoch relativ neu und daher kaum dokumentiert sind. Aus diesem Grund ist eine genauere Untersuchung in diesem Bereich nötig. 1.1 Aufgabenstellung Das Ziel dieser Arbeit besteht in der Entwicklung einer Anwendung für mobile Endgeräte zur archäologischen Funddokumentation. Die Anwendung soll es Archäologen auf Ausgrabungen erleichtern, die Fundkontexte mit ihren Funden zu dokumentieren. Hierbei sollen die verschiedenen Methoden der mobilen Anwendungsentwicklung miteinander verglichen werden. Dabei wird insbesondere auf die Methoden einzugehen sein, die eine Programmierung für möglichst viele mobile Betriebssysteme ermöglichen. Anschlieÿend wird die für archäologische Bedürfnisse passende Methode auszuwählen und umzusetzen sein. Zu diesem Zweck müssen die Anforderungen an eine solche Anwendung aus archäologischer Sicht deniert und anschlieÿend in technische Anforderungen übertragen werden. Um die Methoden der mobilen Anwendungsentwicklung vergleichen zu können, müssen verschiedene Kenngröÿen gefunden werden. Unter dem Gesichtspunkt dieser Kenngröÿen sind die möglichen Methoden auszuwerten, um eine geeignete Vorgehensweise zu wählen. Diese soll anschlieÿend in einen Prototyp der Anwendung umgesetzt werden. Zusätzlich wird die entstandene Anwendung hinsichtlich der gegebenen archäologischen Anforderungen zu analysieren sein. 1.2 Aufbau der Arbeit Die Arbeit gliedert sich in acht Kapitel. Das erste Kapitel beschäftigt sich mit der Motivation und der Aufgabenstellung der Arbeit sowie ihrem Aufbau. Im zweiten Kapitel der Arbeit werden die archäologischen Anforderungen an die Anwendung deniert. Zu diesem Zweck werden zuerst wichtige archäologische Begrie erläutert. Die ermittelten archäologischen Anforderungen sollen in den folgenden Kapiteln in technische Anforderungen an die Anwendung übertragen werden. Kapitel drei und vier beschäftigen sich mit mobilen Endgeräten und mobilen Anwendungen. In diesen Kapiteln werden diese Begrie deniert und vorhandene Methoden zur

11 1.2. AUFBAU DER ARBEIT 3 Entwicklung von mobilen Anwendungen erläutert und analysiert. Für die Analyse notwendige Kennzahlen werden in Kapitel drei eingeführt. Im fünften Kapitel wird auf die verschiedenen Möglichkeiten zur Datenspeicherung auf mobilen Endgeräten eingegangen und die für die Anforderungen passende ausgewählt. Der beispielhafte Ablauf einer Entwicklung mittels der in den Kapiteln vier und fünf ausgewählten Technik wird in Kapitel sechs und sieben aufgezeigt. Hierbei wird Kapitel sechs zuerst eine Übersicht über die genauen Anforderungen an die Applikation geben sowie einen skizzenhafter Entwurf der Anwendung vorstellen. Anschlieÿend wird in Kapitel sieben ausführlich die Umsetzung der Anforderungen mit dem ausgewählten Werkzeug dokumentiert. Als Ergebnis dieses Kapitels soll ein Prototyp der Anwendung entstehen. Kapitel acht bietet neben einer Analyse des Prototyps sowie einem abschlieÿenden Fazit auÿerdem einen Ausblick auf weiterführende Entwicklungsmöglichkeiten im Bereich der informationstechnischen Unterstützung der archäologischen Feldforschung sowie der Entwicklung mobiler Applikationen im Allgemeinen.

12 Kapitel 2 Archäologische Grundlagen Vorbereitend auf die Entwicklung der Anwendung sollen in diesem Kapitel zuerst deren wichtigste archäologische Grundlagen aufgezeigt werden. Anschlieÿend werden hieraus grundlegende Anforderungen an die Anwendung erarbeitet. 2.1 Gegenstand der Archäologie Denition 2.1 Der Begri Archäologie wird zusammengesetzt aus den griechischen Wörtern archaios alt und lógos Lehre und wird daher gewöhnlich als Altertumskunde übersetzt. Als historische Wissenschaft hat sich die Archäologie die möglichst weitgehende Erforschung einer älteren Kultur zum Ziel gemacht. Daraus ergibt sich eine Vielzahl von Bereichen, die sich mit unterschiedlichen Zeit- und Kulturperioden der altertümlichen Geschichte befassen. Beispiele hierfür sind unter anderem die vorderasiatische, die ägyptische und die klassische Archäologie, die sich mit der griechisch-römischen Antike beschäftigt [19996]. Ein weiterer eigenständiger Bereich ist die Vor- und Frühgeschichte oder auch prähistorische Archäologie, die sich mit den Hinterlassenschaften von Kulturen befasst, die vor unserer Geschichtsschreibung wirkten. Eine wichtige Gemeinsamkeit der einzelnen Teilbereiche ist die Auswertung von Denkmälern, Bodenfunden und Schriftquellen, um Aussagen über vergangene Kulturen machen zu können [19996]. Bei der Vor- und Frühgeschichte muss allerdings beinahe gänzlich auf schriftliche Quellen verzichtet werden, Aussagen können lediglich aufgrund von materiellen Funden gemacht werden. Insbesondere in diesem Bereich steht also die praktische Forschung (Feldforschung) in Form von Ausgrabungen im Vordergrund. Diese praktische Forschung, die der Archäologie auch den Beinamen Wissenschaft des Spatens verleiht, steht bei der vorliegenden Arbeit besonders im Blickpunkt [Egg59]. Aus diesem Grund sollen archäologische Ausgrabungen im Folgenden genauer betrachtet werden. 4

13 2.2. ARCHÄOLOGISCHE AUSGRABUNGEN Archäologische Ausgrabungen Denition 2.2 Eine Ausgrabung ist die Freilegung und Untersuchung paläontologischer und Archäologischer Fundstellen [geo07]. Solche Fundstellen können unter anderem Siedlungen, Kultstätten, Gräber oder Höhlen sein. Da diese durch die Ausgrabungen zerstört werden, ist eine umfangreiche Dokumentation unerlässlich. Dazu gehört die Vermessung, Zeichnung, Fotograe, Probenentnahme und ausführliche Beschreibung der Fundstellen. Die bei einer Ausgrabung gefundenen Artefakte werden als Funde bezeichnet. Hierunter fällt jedes Artefakt, welches von der Stelle bewegt werden kann, beispielsweise Keramik, Schmuck, Münzen oder ähnliches. Diese werden meist nach Beendigung der Ausgrabung in einem Labor mit verschiedenen Methoden untersucht und dokumentiert. Für die Zuordnung der Funde sind die Kontexte, in denen sie gefunden werden, besonders wichtig. Diese sogenannten Befunde werden bei der Bergung der Funde oder der Suche nach darunter liegenden Funden zerstört und müssen daher vor Ort ausführlich dokumentiert werden [HB02]. Der Ablauf einer Ausgrabung ist zwar in den Grundzügen vorgegeben, wird jedoch von unterschiedlichen Faktoren beeinusst. Einer dieser Faktoren ist beispielsweise der Grund der Grabung. Hier können drei Arten unterschieden werden: die Lehrgrabung, die Forschungsgrabung und die baubegleitende Ausgrabung, wobei die verschiedenen Formen durchaus gleichzeitig bei einer Ausgrabung auftreten können. Der gröÿte Unterschied zwischen den Typen ist die zur Verfügung stehende Zeit. Während des Studiums der Archäologie werden den Studierenden vor allem theoretische Kenntnisse vermittelt. Daher werden für die Studenten zur Einführung von Ausgrabungstechniken die Lehrgrabungen veranstaltet. Diese gehen meist über einen kurzen festgelegten Zeitraum und dienen in erster Linie der Schulung, dazu gehört auch die grundlegende Vermittlung von Dokumentationskenntnissen. Ein Beispiel hierfür ist die jährlich stattndende Lehrgrabung der internationalen archäologischen Sommerakademie Xanten [Rhe12]. Hier erforschen seit 2008 jedes Jahr 30 Teilnehmer eine dicht bebaute römische Siedlung. Die Ausgrabung dauert in der Regel vier Wochen und soll den Studierenden den Grabungsalltag näher bringen. Forschungsgrabungen beschäftigen sich über einen langen Zeitraum mit einer Fundstelle und untersuchen diese ausführlich. Eingeschlossen ist hier eine ausführliche Dokumentation, die nach Beendigung oder bereits während der Ausgrabung publiziert werden soll. So dauerten die Ausgrabungen der Terme piccole und der spätantiken Exedra in Ostia in Italien unter der Leitung von Dr. Axel Gehring vier Jahre. In dieser Zeit konnte eine ausführliche Dokumentation erstellt werden, auf deren Grundlage viele neue Erkenntnisse gewonnen wurden [LL11]. Bei baubegleitenden Ausgrabungen werden Archäologen zu Bauarbeiten hinzugezogen, um die eventuelle Zerstörung von Hinterlassenschaften zu verhindern. Sie überwachen die

14 6 KAPITEL 2. ARCHÄOLOGISCHE GRUNDLAGEN Arbeiten auf der Baustelle und dokumentieren, ob und was gefunden wird. Der Zeitfaktor spielt dabei eine besonders wichtige Rolle, da die Bauarbeiten zügig voran schreiten müssen. So bleibt meist nur wenig Zeit für die archäologischen Arbeiten. Die baubegleitende Ausgrabung ist nur in einigen Bundesländern Picht, Vorreiter auf diesem Gebiet ist das Bundesland Bayern. Hier existieren genaue Vorschriften für die Dokumentation von Befunden, die bei einer solchen Ausgrabung getätigt werden. Ein auf Grundlage dieser Vorschriften erstelltes Befundblatt, soll in dieser Arbeit als Vorlage für die Anwendung dienen. Die folgende Abbildung (2.1) stellt den grundlegenden beispielhaften Ablauf einer Ausgrabung vor. Bevor die Ausgrabung beginnen kann, muss sie zuerst ausgeschrieben werden. Verschiedene Grabungsrmen bewerben sich für die Ausgrabung. Entscheidend für die Vergabe sind sowohl die fachliche Eignung als auch die preislichen Vorstellungen der Grabungsrma. Nach der Vergabe muss sich das Grabungsteam zunächst umfassend über die Thematik informieren. Vor Ort beginnt die Ausgrabung mit einer ersten Begehung des Geländes, hier lassen sich meist schon einzelne wichtige Fundstellen identizieren und abgrenzen. Zu diesem Zweck wird der auszugrabende Bereich in Rasterquadrate unterteilt, um sie bei der späteren Dokumentation leichter zuordnen zu können. Für die anschlieÿende Grabung lassen sich zwei grundlegende Techniken denieren. Zum einen sind das die Techniken, welche die vertikale Dimension hervorheben. Diese sind für eine stratigraphische Analyse, also eine Analyse der unterschiedlichen Bodenschichten, besonders wichtig. Sie helfen, die chronologische Abfolge der innerhalb dieser Schichten getätigten Funde zu erleichtern. Die zweite Kategorie sind Methoden, die vor allem die horizontale Dimension eines Befundes untersuchen. Hier wird der Befund groÿächig frei gelegt, um die räumliche Beziehung zwischen Funden innerhalb des Kontextes sowie Beziehungen zwischen einzelnen Kontexten aufzuzeigen [RB09]. In der Regel wird eine Kombination aus beiden Strategien angewendet, so werden die Befunde erst groÿächig frei gelegt, identiziert und vom Grabungsleiter mit einer Befundnummer versehen. Anschlieÿend wird ein Prol des Fundes durch eine vertikale Ausgrabung erstellt. Dieses Prol muss anschlieÿend wiederum ausführlich schriftlich dokumentiert werden. Hierfür wird für jeden Befund ein sogenanntes Befundblatt ausgefüllt. Anhang A enthält zwei beispielhafte Befundblätter, eines von den Ausgrabungen im antiken Ostia und eines basierend auf den Vorschriften des Landesdenkmalamtes in Bayern. Nach der schriftlichen erfolgt noch eine zeichnerische sowie fotograsche Dokumentation. Anschlieÿend müssen die Befunde und Funde genau vermessen werden. Ist die Dokumentation abgeschlossen, kommt es zur Bergung der Funde. Zusätzlich kann es unter Umständen noch zur Entnahme einiger Bodenproben zur Analyse mithilfe verschiedener wissenschaftlicher Methoden im Labor kommen. Nach Abschluss der Ausgrabung folgt die Erstellung eines ausführlichen Grabungsberichtes. In diesem erfolgt auch eine Untersuchung der Dokumentation und der entnommenen Funde und Proben, um die Fundstelle zu analysieren und Aussagen zu Chronologie, Zweck und ähnlichem der Fundstelle machen zu können.

15 2.2. ARCHÄOLOGISCHE AUSGRABUNGEN 7 Abbildung 2.1: Beispielhafter Ablauf einer archäologischen Ausgrabung Quelle: Eigene Abbildung

16 8 KAPITEL 2. ARCHÄOLOGISCHE GRUNDLAGEN 2.3 Anforderungen an die Anwendung Aus den archäologischen Grundlagen lassen sich wesentliche Anforderungen an die Anwendung herleiten Mobilität Da die Dokumentation der Befunde zeitnah erfolgen soll, muss die Anwendung direkt vor Ort nutzbar sein. Die Fundstellen können unter Umständen sehr groÿächig sein, was dazu führt, dass die Befunde eventuell sehr weit auseinander liegen. Um einen Befund zu dokumentieren, ist der ständige Blickkontakt zu ihm unerlässlich. Daraus resultiert, dass die Anwendung eine groÿe Mobilität gewährleisten muss Datensicherheit Es ist unumgänglich, dass die Befunde im Laufe einer Ausgrabung zerstört werden. Daraus resultiert, dass im Falle des Verlustes der Dokumentation die gesammelten Informationen unwiderruich verloren gehen können. Deshalb ist es zwingend notwendig, dass die Anwendung eine sichere Speicherung der Daten gewährleistet Funktionsaufteilung Auf einer Ausgrabung arbeiten meist mehrere Personen, die für unterschiedliche Aufgaben eingeteilt sind. So ist der Grabungsleiter (GL) für die Einteilung der Fundstelle in Quadranten, sowie das Identizieren und Nummerieren von Befunden zuständig. Die Dokumentation der freigelegten und gesäuberten Befunde wird wiederum von Archäologen und Grabungsassistenten (im folgender unter der Bezeichnung GA zusammen gefasst) vorgenommen. Daraus ergibt sich, dass die Anwendung die Erstellung von verschiedenen Benutzergruppen mit unterschiedlichen Zugrien und Funktionen zur Verfügung stellen muss. Auÿerdem kann es vorkommen, dass mehrere GA's zeitgleich unterschiedliche Befunde dokumentieren. Die Anwendung muss demnach auf unterschiedlichen Geräten zur Verfügung stehen. Eine Kommunikation unter den Geräten wird ebenfalls nötig sein, um alle Mitarbeiter ständig auf dem aktuellsten Stand zu halten. Auÿerdem soll sie dem Grabungsleiter die Möglichkeit geben, Befunde einzelnen Grabungsassistenten zuzuweisen. In diesem Kapitel wurden die grundlegenden Anforderungen an die Anwendung aus archäologischer Sicht heraus gearbeitet. Diese sollen im Folgenden nun in technische Anforderungen überführt werden.

17 Kapitel 3 Informationstechnische Grundlagen Aus den beschriebenen archäologischen Grundlagen ergeben sich bereits wichtige Anforderungen an die Anwendung. Dazu gehört unter anderem die notwendige Mobilität. Um sie zu gewährleisten ist es nötig, eine mobile Applikation, also eine Anwendung, die auf einem mobilen Endgerät genutzt werden kann, zu erstellen. Zunächst muss daher speziziert werden, was allgemein und in dieser Arbeit speziell unter einem mobilen Endgerät zu verstehen ist. 3.1 Mobile Endgeräte Eine einheitliche und präzise Denition eines mobilen Endgerätes ndet sich in der Literatur nicht. So deniert [Pou04] von der Universität München als Kriterium für die Einordnung von Geräten in die Kategorie mobiles Endgerät lediglich die Möglichkeit des mobilen Einsatzes eines technischen Produktes. Er zählt hierzu Mobiltelefone, Smartphones, Personal Digital Assistants (PDAs), aber auch Tablets. Die Enzyklopädie der Online- Computerzeitschrift pcmag.de fügt dem noch die ungenaue Formulierung: any other portable, electronic product hinzu [pcm12a]. Im Allgemeinen ist ein mobiles Endgerät also jedes elektronische Gerät, das für einen mobilen Einsatz konzipiert wurde. Diese Arbeit beschränkt sich jedoch nur auf mobile Endgeräte zur Kommunikation, speziell Smartphones und Tablets. Was darunter zu verstehen ist, wird im Folgenden speziziert. Eine einheitliche Denition für Smartphones lässt sich ebenfalls nur schwer nden, was unter anderem mit der schnellen Weiterentwicklung des Marktes und den daraus resultierenden ständig neuen Merkmalen der Geräte zusammen hängt. Im [Gre03] beispielsweise denierte sich ein Smartphone noch als ein Mobiltelefon, in das ein Organizer integriert ist. Seither wurden bestehenden Smartphones immer neue Funktionalitäten hinzugefügt, auf deren Basis immer wieder neue Denitionen für Smartphones gebildet wurden. Zu diesen Funktionen gehören beispielsweise eine integrierte Kamera sowie die Möglichkeit, das mobile Internet zu nutzen [AGL10]. Inzwischen besitzen Smartphones noch weitere denierende Merkmale. Die ausschlaggebendste ist hier wohl das Vorhandensein eines eigenen mobilen Betriebssystems. Dar- 9

18 10 KAPITEL 3. INFORMATIONSTECHNISCHE GRUNDLAGEN über hinaus gibt es viele unterschiedliche Funktionen, die von den meisten Smartphones angeboten werden. Dazu gehören unter anderem die Bedienung mit mehreren Fingern, die Verwaltung von s oder die Fähigkeit dieser Geräte, Videos abzuspielen. Zusätzlich bietet ein Smartphone umfangreiche Möglichkeiten der Personalisierung, indem eine Vielzahl von Applikationen mit unterschiedlichen Funktionen, sogenannte Apps, installiert werden können. Aus diesem Grund werden Smartphones bereits als eine neue Generation von mobilen Computern bezeichnet, die zu einer Vielzahl von unterschiedlichen Zwecken eingesetzt werden können [AGL10]. Tablets sind ebenfalls mobile Computer, jedoch gröÿer als Smartphones. Sie sind vollkommen in einen Touchscreen eingebettet und werden mit dem Finger oder seltener mit einem Stift bedient [pcm12b]. Bereits in [Gre03] stehen Tablets als mobile Computer mit dem Format eines Schreibblocks, deren Oberseite aus einem berührungsempndlichen Bildschirm besteht. Hier wurden die Marktchancen dieser Geräte allerdings wenig positiv eingeschätzt. Der Aufschwung der Tablets kam erst mit der Version der Firma Apple Inc., dem ipad. Seither sind viele weitere Anbieter, die sich auch für die meisten Smartphones verantwortlich zeigen, mit einem oder mehreren eigenen Geräten in den Markt eingestiegen. In Kapitel zwei wurde heraus gearbeitet, dass die Anwendung auf mehreren Geräten zur Verfügung stehen muss. Im Laufe der letzten Jahre sind viele unterschiedliche Firmen in den Smartphone-Markt eingestiegen. Daraus resultiert eine groÿe Anzahl an unterschiedlichen mobilen Plattformen, die sich auch auf den Tablets nden lassen. Denition 3.1 Eine Plattform ist eine Hardware- bzw. Softwarearchitektur, auf der ein elektronisches Gerät basiert [Gre03]. Es gibt unterschiedliche Arten von Plattformen abhängig von den gewählten Unterscheidungsmerkmalen. Dazu gehören beispielsweise Computersysteme, Betriebssysteme, übergreifende Anwendungsprogramme oder Portale im Internet [Gre03]. In dieser Arbeit werden insbesondere die Betriebssysteme als Plattform betrachtet, da die gängigen Smartphones hier starke Dierenzen aufweisen. Sind diese Betriebssysteme für mobile Endgeräte konzipiert, werden sie als mobile Plattform bezeichnet. Die starke Fragmentierung des Smartphone-Marktes hat eine groÿe Anzahl von mobilen Plattformen hervorgebracht. Diese sollen im Folgenden kurz vorgestellt werden. 3.2 Mobile Plattformen Wie die nachfolgende Abbildung 3.1 zeigt, haben sich Apples iphone sowie die verschiedenen Android-Geräte unter den mobilen Plattformen am stärksten durchgesetzt. Sie werden deshalb detailliert betrachtet. Aufgrund ihrer Aktualität und des innovativen Designs sollen auch Smartphones mit dem neuen Windows-Betriebssystem Windows Phone 7 einer näheren Untersuchung unterzogen werden. Die übrigen Anbieter werden abschlieÿend kurz vorgestellt.

19 3.2. MOBILE PLATTFORMEN 11 Abbildung 3.1: Prognose zu Marktanteilen mobiler Plattformen 2012 und 2016 Quelle: [Sta12c] Apple iphone Das erste iphone der Firma Apple Inc. wurde im Jahr 2007 auf der Macworld Conference & Expo in San Francisco vorgestellt und erönete damit die Ära der Smartphones [Fli09]. Seitdem hat Apple mehrere Millionen iphones verkauft, im laufenden Jahr 2012 sind es bereits an die 100 Millionen Stück (Abb. 3.2). Ein Grund für die stets hohen Verkaufszahlen ist der Tatsache geschuldet, dass Apple seitdem jedes Jahr eine neue Version des iphones, zuletzt das iphone 5, die sechste Generation des Smartphones, auf den Markt bringt [Sta12a]. Für den Vertrieb der entwickelten Anwendungen ist der hauseigene AppStore zuständig [Inc]. Bevor eine Anwendung hier angeboten werden kann, wird sie von Apple hinsichtlich gegebener Richtlinien untersucht. Diese Richtlinien beziehen sich besonders auf Design der Oberäche sowie verwendete Technologien zur Entwicklung der Anwendung. Werden die Richtlinien nicht erfüllt, wird die Anwendung abgelehnt und kann aufgrund mangelnder Alternativen nur schwer vermarktet werden [Imm12] Android Eine weitere groÿe Plattform ist das Android Betriebssystem von Google, welches oziell am 22. Oktober 2008 mit dem T-Mobile G in den USA auf den Markt kam. Dieses erste Gerät besaÿ noch keines der Merkmale, die ein Smartphone heutzutage auszeichnet, weder

20 12 KAPITEL 3. INFORMATIONSTECHNISCHE GRUNDLAGEN Abbildung 3.2: Absatz von iphones bis zum 3. Quartal 2012 Quelle: [Sta12a] eine Bildschirmtastatur, noch ein Multitouch-Display, zusätzliche Apps waren ebenfalls nicht erhältlich. In den folgenden drei Jahren brachte Google acht neue Versionen auf den Markt. Das Windows-Betriebssystem für Computer schat es im Vergleich auf zehn Versionen in 25 Jahren [Zie11]. Im Unterschied zu Apples ios ist das Android Betriebssystem nicht nur auf ein Gerät beschränkt. Es ist auf vielen Geräten unterschiedlicher Hersteller zu nden, was unter anderem ein Grund für die im Gegensatz zu ios schneller steigenden Absatzzahlen sein kann. Forscher prognostizieren Verkaufszahlen im Milliarden-Bereich für Android bereits für das Jahr 2013, für Apple sehen sie diese Grenze erst im Jahr 2015 erreicht [Gur12]. Auch Android hat einen eigenen Markt zum Verbreiten der Anwendungen, ähnlich dem App Store von iphone, bietet darüber hinaus aber noch die Möglichkeit, Anwendungen auf eigenen Websites oder in unabhängigen Marktplätzen anzubieten [And]. Die Vermarktung der Anwendungen ist im Wesentlichen kostenlos, bei Verkauf über den Market-Place wird eine einmalige Gebühr von 25 US-Dollar fällig. Bei den einzuhaltenden Richtlinien lässt Google den Entwicklern mehr Freiheiten als Apple. Lediglich einige inhaltliche und technische Vorgaben werden überprüft, die Gestaltung wird jedoch dem Programmierer überlassen.

21 3.2. MOBILE PLATTFORMEN Windows Phone Das erste mobile Betriebssystem von Windows erschien bereits im Jahr 2000 für Pocket PC und hieÿ Windows Mobile. Die letzte Version 6.5 kam im Jahr 2009 auf den Markt. Die Marktanteile für das mobile Betriebssystem lagen zu diesem Zeitpunkt bereits weit abgeschlagen, eine Besserung war nicht in Sicht [Imm12]. Aus diesem Grund entschied sich Microsoft zu einem Neuanfang und brachte im Oktober 2012 mit Windows Phone 7 ein völlig neu konzipiertes Betriebssystem auf den Markt. Die Prognosen hinsichtlich der Verkaufszahlen für diese überarbeitete Versionen sind optimistischer als seinerzeit für Windows Mobile, das deutsche Marktforschungsinstitut IDC sieht Windows Phone bis 2015 sogar als Platz zwei direkt hinter Android [Cor12]. Wie die beiden bereits beschriebenen Plattformen besitzt auch Windows einen speziell für den Vertrieb von Anwendungen eingerichteten Store, den Marketplace [Phoa]. Wie bei Apple wird für die Veröentlichung von Anwendungen eine Gebühr von 99 US Dollar im Jahr fällig. Zusätzlich ist das Limit an veröentlichbaren kostenlosen Anwendungen auf 100 beschränkt, bei kostenpichtigen Programmen gibt es diese Grenze nicht [Imm12]. Auch Microsoft prüft den Inhalt und die Technik einer Anwendungen vor deren Veröentlichung genau. Zusätzlich hat Microsoft noch die Vorgabe eingeführt, dass Anwendungen einem besonderen Zweck dienen müssen. Allein die Darstellung einer Website auf einem mobilen Gerät, wie das bei vielen Apple Anwendungen der Fall ist, entspricht diesen Richtlinien daher nicht [Imm12] Weitere Plattformen Neben den vorgestellten Plattformen existieren noch weitere, drei Beispiele werden hier kurz vorgestellt. [Jas11] enthält einen umfassenderen Überblick über die meisten gängigen mobilen Betriebssysteme. Das Betriebssystem Symbian, inzwischen unter dem Namen Nokia Belle verzeichnet, wurde in enger Zusammenarbeit mit der Firma Nokia entwickelt. Da diese sich nun auf Microsofts Betriebssystem Windows Phone konzentrieren will, wird die Entwicklung von Symbian langfristig nicht nanzierbar sein [Tel]. Aber schon vorher hatte das Betriebssystem unter starken Einbuÿen zu leiden. Blackberrys werden mit einem Betriebssystem genannt Blackberry OS der Firma Research in Motion (RIM) ausgeliefert. Herausragend in diesem System ist der Dienst, aktuelle Multimedia-Features sind auch vorhanden. Die Bedienung des Blackberrys erfolgt vorwiegend über eine Tastatur und ein Trackpad, nur wenige Touchelemente sind derzeit enthalten. Das Betriebssystem bada der Firma Samsung beschränkt sich nur auf einige wenige Geräte, da es lediglich mit der hauseigenen Wave-Reihe der Smartphones ausgeliefert wird. Der Vorteil der Geräte ist der günstige Preis. Aufgrund der Einschränkung auf eine einzelne Smartphone-Reihe existieren aber kaum Anwendungen für diese Plattform.

22 14 KAPITEL 3. INFORMATIONSTECHNISCHE GRUNDLAGEN 3.3 Plattformunabhängigkeit und Portabilität Diese Vielfalt an Betriebssystemen macht den Ansatz der plattformunabhängigen Programmierung von Applikationen für mobile Endgeräte zu einer aktuellen und vielversprechenden Möglichkeit. Da die Forschung auf diesem Gebiet jedoch nicht weit vorangeschritten ist, ist die Erstellung einer solchen Anwendung eine herausfordernde Aufgabe. Denition 3.2 Die Plattformunabhängigkeit ist die Eigenschaft einer Software auf verschiedenen Computersystemen bzw. unter verschiedenen Betriebssystemen betrieben werden zu können [Gre03]. Die plattformunabhängige Programmierung ist nicht erst seit dem Durchbruch von mobilen Endgeräten ein beliebtes Thema. So führte das Vorhandensein von unterschiedlichen Plattformen auf PCs, insbesondere die Betriebssysteme der Firmen Apple und Microsoft, im Jahr 1990 zur Entwicklung der Programmiersprache Java [Dor06]. Java zeichnet sich dadurch aus, dass die erstellten Programme zum Laufen lediglich die Java Virtual Machine (JVM) benötigt. Solange die JVM auf einem Gerät installiert werden kann, können auch alle in Java entwickelten Programme genutzt werden, unabhängig von der verwendeten Plattform. Die Fragmentierung des mobilen Marktes führt nun ebenfalls zu Bemühungen auf dem Gebiet der Plattformunabhängigkeit. Hier wurden in den letzten Jahren unterschiedliche Fortschritte gemacht, die im nächsten Kapitel genau betrachtet werden. Die verschiedenen Methoden zur Anwendungsentwicklung für Smartphones sollen anschlieÿend in Bezug auf ihre Plattformunabhängigkeit bewertet werden. Zu diesem Zweck werden hier verschiedene Kenngröÿen eingeführt. Ein wichtiger Punkt, der untersucht werden muss, ist die Plattformunterstützung bzw. die darauf aufbauenden Plattformabdeckung. Der Begri Plattformabdeckung beschreibt die Anzahl der unterschiedlichen Plattformen, auf denen eine Anwendung genutzt werden kann, gemessen an den vorhandenen Plattformen [Wei12]. In dieser Arbeit beschränkt sich die Untersuchung der Plattformabdeckung auf die zuvor vorgestellten Plattformen und wird in Prozent angegeben. Ein weiterer wichtiger Begri im Zusammenhang ist die Portabilität. Denition 3.3 Die Portabilität ist ein Maÿ für die Leichtigkeit der Übertragung eines Softwareproduktes auf eine neue rechentechnische Umgebung ohne wesentliche Qualitätsminderung [Rot87]. Die Portabilität (P) errechnet sich dabei aus dem Aufwand zur Übertragung des Programmes (Ü) zusammen mit dem Aufwand zu Anpassung der Anwendung (A) im Vergleich zu dem Aufwand, der für eine Neuentwicklung des Programmes (N) nötig wäre. Für die Portabilität folgt daraus: P = 1 - (Ü + A) / N.

23 3.3. PLATTFORMUNABHÄNGIGKEIT UND PORTABILITÄT 15 Hierbei handelt es sich jedoch nur um Schätzgröÿen, die vor Ausführung der Übertragung errechnet werden können. Nach [Rothardt 1988] kann die Portabilität auf drei Ebenen beeinusst werden. Die erste Ebene sind Hardwaredierenzen. Diese Ebene wird in der vorliegenden Arbeit jedoch vernachlässigt. Ausgegangen wird von einem Minimalsystem, auf dem eine Central Processing Unit (PCU), ausreichend Speicher und eine Kamera für die Fotoaufnahmen vorhanden sind und sich nicht grundlegend unterscheiden. Die zweite Ebene ist die Umgebungsabhängigkeit des Softwareproduktes, die ebenfalls vernachlässigt werden kann, da die Anwendung für sich allein steht und keine weitere Software nutzt. Die letzte Ebene, die Systemsoftwaredierenzen ist die wichtige Ebene für die geplante Anwendung, insbesondere die unterschiedlichen Betriebssysteme. Diese bedingen unterschiedliche Vorgaben für die Entwicklungsumgebung, die Programmiersprache sowie das Design der Anwendung. Sowohl die Plattformabdeckung als auch die Portabilität auf Betriebssystemebene sollen im folgenden Kapitel bei der Auswahl der genutzten Methode zur Entwicklung der Anwendung berücksichtigt werden. Zu diesem Zweck sind die zur Verfügung stehenden Methoden im nächsten Kapitel genau zu beschrieben und zu untersuchen.

24 Kapitel 4 Methoden zur Entwicklung mobiler Applikationen Kapitel drei hat gezeigt, dass die Entwicklung einer mobilen Anwendung zur Umsetzung der archäologischen Anforderungen notwendig ist. In diesem Kapitel sind darauf aufbauend die aktuellen Methoden zur Entwicklung einer solchen Anwendung genauer zu untersuchen. 4.1 Apps und ihr Anwendungsbereich Der am häugsten genutzte Begri für diese mobilen Anwendungen App ist die Abkürzung für application im Allgemeinen. Er wurde vor allem durch Apples Werbeslogan there is an App for that bekannt und seither als Bezeichnung für Smartphone-Anwendungen allgemein anerkannt. Im Unterschied zu Anwendungen für Desktop-Computer sind mobile Apps meist auf eine simple Funktion beschränkt und für diese optimiert. Hierbei haben sich verschiedene Anwendungsbereiche für Apps besonders durchgesetzt, die am häugsten genutzten sind in Abbildung 4.1 dargestellt. Wie die Abbildung zeigt, sind die beliebtesten Apps gröÿtenteils im Entertainment-Bereich anzusiedeln, dazu gehören Spiele und Musik Apps. Social Media Apps, wie die App-Varianten der sozialen Plattformen Facebook oder Google+, werden am häugsten genutzt [Sta12b]. Apps mit dem Thema Archäologie hingegen sind kaum vorhanden. Gibt man in Apples App-Store Archäologie als Suchwort ein, ndet man gerade einmal 12 Apps. Vertreten sind hier Apps zu archäologischen Nachrichten wie ArchaeoNews oder Karfunkel-Zeitschrift, sowie Museums-Apps wie Mainlimes Mobil oder imuseums. Eine Applikation, die den Archäologen ihre tägliche Arbeit erleichtert - wie die hier geplante App zur Ausgrabungsdokumentation - ist keine vorhanden, obwohl sie, wie bereits erwähnt, mehr als hilfreich sein kann. Aus diesem Grund ist die Entwicklung einer solchen App angezeigt. Vor der Entwicklung von Apps sind zunächst konzeptionelle Fragen zu klären. So muss entschieden werden, ob eine App nur für eine bestimmte Plattform verfügbar sein oder von 16

25 4.1. APPS UND IHR ANWENDUNGSBEREICH 17 Abbildung 4.1: Verteilung von Arten unterschiedlicher Apps Quelle: [Sta12b]

26 18 KAPITEL 4. METHODEN ZUR ENTWICKLUNG MOBILER APPLIKATIONEN möglichst vielen dieser Plattformen unterstützt werden soll. Ausgehend von dieser Fragestellung ergeben sich drei grundlegende Typen von Apps, die nativen Apps, die Web-Apps, sowie die hybriden Apps. In diesem Kapitel sollen diese drei Arten ausführlich vorgestellt werden. 4.2 Native Apps Denition 4.1 Eine native App ist eine App, die für ein bestimmtes mobiles Betriebssystem mittels der für dieses System vorgesehenen Entwicklertools programmiert wurde und nur auf diesem System verfügbar ist. Aus Denition 4.1 geht hervor, dass jede native App mit der für die Plattform spezischen Entwicklungsumgebung programmiert wird. Diese Umgebungen werden im folgenden für die in Kapitel zwei genau beschriebenen Plattformen Apple, Android und Windows beschrieben Entwicklung für Apples iphone Das Betriebssystem für das iphone heiÿt seit Juni 2009 ios (vormals iphone OS) und basiert auf dem Betriebssystem Mac OS X [Paa11]. Im Laufe der Jahre sind verschiedene Geräte für dieses Betriebssystem erschienen. Neben den verschiedenen Generationen von Smartphones nutzen auch die erschienenen Versionen des MP3-Players von Apple, dem ipod Touch, sowie des Tablets ipad dieses Betriebssystems. Die Entwicklung von Anwendungen für das iphone kann nur mit dem ebenfalls von der Firma Apple hergestellten Computer, dem Mac, erfolgen. Die Verwendung anderer Systeme, beispielsweise eines Computers mit einem Windows-Betriebssystem ist ausgeschlossen. Eine weitere Voraussetzung ist die Registrierung bei Apple als Entwickler. Um die selbst entwickelten Anwendungen auf dem Gerät testen zu können, ist zusätzlich ein kostenpichtiges Entwicklerkonto nötig [Imm12]. Die eigentliche Programmierung erfolgt nach der Registrierung in der Entwicklungsumgebung Xcode mittels der ebenfalls nur für iphone Anwendungen Verwendung ndenden Programmiersprache Objective-C. Wichtig bei der Entwicklung ist auÿerdem, die Richtlinien von Apple einzuhalten, da es sonst zu Schwierigkeiten mit der Veröentlichung der Anwendung kommen kann [Imm12] Entwicklung für Android Geräte Die Entwicklung von Android Anwendungen erfolgt in der Programmiersprache Java. Hieraus ergibt sich schon ein wesentlicher Vorteil von Android gegenüber dem iphone, da Java im Gegensatz zu Objective-C nicht ausschlieÿlich für ein Betriebssystem konzipiert ist. Im Gegenteil, Java kann als der Wegbereiter zum plattformunabhängigen Programmieren gesehen werden und ist auÿerdem eine seit vielen Jahren anerkannte Programmiersprache, mit der viele Entwickler bereits vertraut sind [Imm12].

27 4.2. NATIVE APPS 19 Auch für das Betriebssystem, mit dem programmiert wird, gibt es im Gegensatz zum iphone keine Einschränkungen, es muss lediglich ein kompatibles Android SDK installiert sein. Hierbei handelt es sich um ein Plug-In für Eclipse, welches damit auch das Standard- Framework für die Entwicklung von Android Anwendungen ist. Zum Testen auf dem Gerät sind keine weiteren Anmeldungen nötig, zusätzlich ist die Portierung auf das Smartphone kostenlos, ein weiterer Vorteil gegenüber dem iphone [Imm12] Entwicklung für Windows Phones Die Entwicklung von Anwendungen für das Betriebssystem Windows Phone 7 erfolgt wahlweise in den Programmiersprachen C# oder Visual Basic. Beides sind bereits bekannte Programmiersprachen, welche nicht ausschlieÿlich für die Entwicklung von mobilen Applikationen genutzt werden können. Als Umgebung für die Entwicklung bietet Microsoft hier Visual Studio, allerdings erst ab Version Frühere Versionen unterstützen lediglich die Entwicklung für Windows Mobile [GHN11]. Tabelle 4.1 gibt noch einmal einen Überblick über die verschiedenen Entwicklungsumgebungen und Programmiersprachen. Zur Vollständigkeit sind hier auch BlackBerry, Symbian und bada enthalten. Plattform Programmiersprache Entwicklungsumgebung Android Java (C, C++) Eclipse ios Objective-C Xcode Windows Phone C Visual Studio 10 Blackberry Java JDE Symbian C++ Eclipse Bada C++ Bada SDK Tabelle 4.1: Programmiersprachen und Entwicklungsumgebungen der verschiedenen Plattformen Die Programmierung von nativen Apps birgt sowohl Vor- als auch Nachteile. Diese sollen im folgenden Abschnitt beschrieben werden Vor- und Nachteile von nativen Apps Native Apps haben den Vorteil, alle Funktionen des Gerätes, für das sie konzipiert wurden, nutzen zu können. Dazu gehören die eingebaute Hardware, wie die Kamera oder die Beschleunigungssensoren, aber auch die mitgelieferte Software, wie das Telefonbuch. Der Nachteil ist allerdings, dass die App nur für dieses eine System verfügbar ist. Soll sie auf einem weiteren System laufen, muss sie neu programmiert werden. Da jede Plattform auch ihre eigene Programmiersprache verwendet, lassen sich bereits entwickelte Teile nicht portieren. Dank der zur Verfügung stehenden Frameworks, welche die Entwicklung stark vereinfachen, passen die Apps sich optisch nahtlos in ihr System ein. Dies erleichtert auch die

28 20 KAPITEL 4. METHODEN ZUR ENTWICKLUNG MOBILER APPLIKATIONEN Vermarktung sehr, da man weniger auf die optischen Richtlinien achten muss und so weniger Fehler unterlaufen. Die Apps können auÿerdem direkt im hauseigenen Store angeboten werden und nden so leicht zum Endnutzer. Entsprechen sie allerdings nicht den Vorgaben, kann es leicht zu einer Ablehnung im entsprechenden Store kommen (zumindest bei Apple und Microsoft). Dies kann dazu führen, dass die App nicht vermarktet werden kann, da es an Alternativen mangelt. 4.3 Web Apps Denition 4.2 Web-Applikationen oder kurz Web-Apps, sind Anwendungen, welche mit gängigen Web-Technologien entwickelt werden und ausschlieÿlich in einem Browser ablaufen [Sch11]. Für die Entwicklung von Web-Apps werden also lediglich Web-Technologien benötigt. Die häugsten eingesetzten Mittel sind hierbei HTML5, CSS3, sowie JavaScript. Diese sollen im Folgenden genau vorgestellt werden. Eine weitere Technologie ist Flash, eine Technik der Firma Adobe mit der sich die Darstellung von Videos, Musik und multimedialen Interaktionen in Webseiten einbetten lassen. Da diese Technologie sich aufgrund einiger Kontroversen mit Apple nicht durchsetzen konnte, wird in dieser Arbeit nicht explizit darauf eingegangen [Job10] HTML 5 Bevor die Entstehung von HTML5 beschrieben werden kann, müssen zunächst die beiden wichtigsten Institutionen in diesem Zusammenhang eingeführt werden. Das World Wide Web Consortium (W3C) ist ein Gremium, das von Tim Berners-Lee geleitet wird und dessen Ziel es ist, Standards für die Webentwicklung zu entwerfen und durchzusetzen. Das Gremium besteht dabei aus verschiedenen Mitgliedern der gröÿten Firmen zur Web-Entwicklung wie Apple, Adobe, Microsoft und Google [Cas09]. Die Web Hypertext Application Technology Working Group (WHATWG) ist eine Gruppe von Opera-Entwicklern sowie einigen Entwicklern der Firma Mozilla unter der Leitung von Ian Hickson, die maÿgeblich für die Entwicklung des neuen HTML5-Standards verantwortlich sind [LS11]. Die Hypertext Markup Language (HTML) ist eine so genannte Auszeichnungssprache. Sie dient der Strukturierung von Texten und bietet gleichzeitig die Möglichkeit, Graken und multimediale Inhalte mittels Referenzen einzubinden. Entwickelt wurde die Sprache von Tim Berners-Lee im Zuge des Internet-Booms, ihre erste Version erschien 1990 [MG10]. Seitdem wurde HTML kontinuierlich weiterentwickelt, wobei bis zur Entstehung des modernen HTML5-Standards noch einige Hürden zu meistern waren beschloss das W3C, die Weiterentwicklung von HTML nicht mehr zu unterstützen, sondern vielmehr auf Extensible Markup Language (XML) zu bauen. Die daraus resultierende Spezikation, XHTML, konnte sich ohne die Unterstützung der Browserhersteller

29 4.3. WEB APPS 21 nicht durchsetzen. So kam es dazu, dass die WHATWG begann, an einer neuen Spezikation zu arbeiteten, aus der schlieÿlich der neue HTML5-Standard hervor ging. Der neue Standard wurde im Jahr 2004 dem W3C vorgestellt, dieser lehnte ihn jedoch ab. So musste die Weiterentwicklung von HTML5 zunächst auÿerhalb des W3C von statten gehen. Allerdings musste auch das W3C bald darauf eingestehen, dass die Entwicklung von XHTML gescheitert war. So kam es im März 2007 zur Gründung einer neuen HTML Working Group innerhalb des W3C, der sich auch die Mitglieder der WHATWG anschlossen [FÖ11]. HTML5 bringt einige Neuerungen gegenüber HTML4, dazu gehören unter anderem: - Darstellung von Video, Audio, dynamischen 2D- und 3D-Graken ohne Browser- Plug-Ins - neue strukturierende Elemente - Neue interaktive Formularelemente - Geolocation - Web Storage Besonders interessant für die Programmierung von mobilen Anwendungen sind die letzten beiden Elemente, da sie Web-Apps den nativen Apps immer weiter annähern. Dank Geolocation ist es nun möglich, den eigenen Standort zu ermitteln und in Anwendungen zu nutzen, eine Möglichkeit die bisher den nativen Applikationen vorbehalten war. Grund hierfür ist die fehlende Unterstützung der Hardware-Schnittstellen der mobilen Geräte durch Web-Applikationen. Mit Geolocation lässt sich nun Bewegungssensoren simulieren und somit die Position des Anwenders bestimmen. Web Storage hingegen bietet nun viele verschiedene Möglichkeiten der Datenspeicherung auf dem mobilen Gerät (Client). Diese sollen im Folgenden in einem eigenen Kapitel genauer untersucht werden. Ein Vorteil dieser Client-seitigen Speicherung ist auÿerdem, dass die Anwendung oinefähig wird, also ohne eine Internetverbindung lauähig ist. Auch dies lieÿ sich bisher mit Web-Apps nicht realisieren, da immer eine Verbindung zum Web-Server nötig war, um aktuelle Seiteninhalte zu laden. Mit der Datenspeicherung auf dem mobilen Endgerät ist eine solche Verbindung nun entbehrlich. Hierfür wird eine sogenannte Manifest-Datei angelegt. Hierbei handelt es sich um eine einfache Textdatei, in der alle Ressourcen enthalten sind, die lokal auf dem Gerät gespeichert werden sollen. Alle in der Manifest-Datei referenzierten Daten werden, sobald sie das erste Mal geladen werden, lokal gespeichert und können so auch im Oine-Betrieb aufgerufen werden. So wird es Web-Apps möglich, auch ohne Internetverbindung lauähig zu sein. HTML5 bietet also schon viele Möglichkeiten, damit die Web-Apps den nativen Apps noch ähnlicher werden. Dabei stellt HTML allerdings nur die grundlegenden Seitenelemente. Für weiterführende Funktionen wird die Scriptsprache JavaScript benötigt, die im folgenden Abschnitt genau erläutert wird.

30 22 KAPITEL 4. METHODEN ZUR ENTWICKLUNG MOBILER APPLIKATIONEN JavaScript Bevor die Entstehung von JavaScript behandelt werden kann, muss zunächst der Begri Scriptsprache deniert werden Denition 4.3 Eine Scriptsprache ist eine einfach strukturierte und leicht zu erlernende Programmiersprache, die es erlaubt innerhalb einer Anwendung Prozeduren (i.d.r zur Verbindung mit einem Netz und zur Steuerung darin) zu schreiben [Gre03]. JavaScript ist eine solche Scriptsprache, die Ende 1995 mit dem Internetbrowser Netscape Navigator 2 unter dem Codenamen LiveScript erschien. Im Laufe der Jahre erhielt auch der Internet Explorer die Fähigkeit, JavaScript zu interpretieren und auszuführen, allerdings unter dem Namen JScript. Zu diesem Zeitpunkt begann der sogenannte Browser- Krieg der beiden Browser-Hersteller um die Unterstützung von immer neuen und besseren Versionen von JavaScript. Ein wichtiger Schritt war hier die Standardisierung durch die European Computer Manufacturers Association (ECMA). Der Standard wurde vor allem vom Netscape Navigator unterstützt, Microsoft setzte hier eher auf die W3C. Auch diese beschäftigte sich mit einer Standardisierung von JavaScript. Daraus resultierte das sogenannte Document Object Model (DOM) [Wen10]. Hierbei handelt es sich jedoch nicht um einen JavaScript- Standard, sondern vielmehr einen Standard für das dynamische Verwalten einer Webseite durch Scriptsprachen [W3Cb]. Inzwischen wird JavaScript von den meisten Browsern unterstützt und ist daher plattformübergreifend. Bei der Entwicklung von Web-Apps ist die Scriptsprache ein wichtiger Bestandteil. Das durch JavaScript ermöglichte dynamische Nachladen von Inhalten, ohne dass die komplette Webseite neu geladen werden muss (Asynchronus JavaScript and XML - AJAX), bringt die Anwendung einer nativen Anwendung näher. Um die Web-App einer nativen App noch ähnlicher zu gestalten, wird zusätzlich zu HTML5 und JavaScript noch CSS3 benötigt, worauf im folgenden Abschnitt genauer eingegangen wird CSS3 Eine Beschreibung für Cascading Style Sheets (CSS) lässt sich ebenfalls bei der W3C nden. Hier steht: CSS is the language for describing the presentation of Web pages, including colors, layout, and fonts [W3Ca]. CSS ist also maÿgeblich für das Design einer Website zuständig und nimmt damit eine wichtige Rolle in der Entwicklung von Web-Apps ein. Um eine Internetanwendung einer nativen Anwendung anzugleichen, ist es von Vorteil, wenn die Web-App äuÿerlich nicht von der nativen Variante zu unterscheiden ist. Hierfür kann das Design der Web-App mit Hilfe von CSS angepasst werden.

31 4.3. WEB APPS 23 Um den Schritt der Gestaltung einer Web-App zu vereinfachen, existieren unterschiedliche Frameworks. Denition 4.4 Im Software-Engineering ist ein Framework ein modernes Rahmenwerk, das dem Programmierer den Entwicklungsrahmen für seine Anwendungsprogrammierung zur Verfügung stellt und damit die Software-Architektur der Anwendungsprogramme bestimmt. [Gre03] Dient das Framework der Erstellung einer Internetanwendung spricht man von einem Web-App-Framework. Diese nutzen die genannten Web-Technologien HTML5, JavaScript und CSS3. Sie bieten zahlreiche UserInterface (UI) Komponenten und Hilfsfunktionen zur Erstellung von Web-Apps, die von nativen Apps kaum unterschieden werden können. Zwei verbreitete Frameworks sind JQuery Mobile und Sencha Touch, die in den folgenden Abschnitten näher betrachtet werden JQuery Mobile Bei mobilen Web-Apps muss zwar nur eine Codebasis gepegt werden, dennoch besitzen die verschiedenen Plattformen Eigenheiten, die bei der Entwicklung berücksichtigt werden müssen. Um diese Arbeit zu erleichtern kann das Web-App-Framework JQuery Mobile genutzt werden. Die jquery Mobile Foundation deniert das Framework selbst wie folgt: A unied, HTML5-based user interface system for all popular mobile device platforms, built on the rock-solid jquery and jquery UI foundation [mob]. Das JavaScript-basierte Framework bietet eine einfache Möglichkeit, Web-Apps auf Basis von HTML5 zu erstellen, die auf möglichst vielen Plattformen nutzbar sind. Die Unterstützung von jquery Mobile für die in Kapitel 3 vorgestellten Plattformen zeigt die Tabelle 4.2. Unterstützungsgrad A bedeutet, dass sämtliche Funktionen unterstützt werden, bei Unterstützungsgrad B fehlt die Unterstützung von AJAX. Eine genaue Übersicht über die unterstützten Plattformen ist auf [mob] zu nden. Plattform ios Android Windows Phone BlackBerry Symbian Bada Unterstützungsgrad A A A A B A Tabelle 4.2: Plattformunterstützung von jquery Mobile

32 24 KAPITEL 4. METHODEN ZUR ENTWICKLUNG MOBILER APPLIKATIONEN Sencha Touch Sencha Touch ist ebenfalls ein Framework basierend auf Java Script zur Erstellung von Web-Applikationen, unterstützt derzeit aber nur Android und ios [Sen]. Es besitzt einen wesentlich gröÿeren Funktionsumfang im Gegensatz zu jquery Mobile. Das Framework ist so aufgebaut, dass praktisch kein HTML und CSS geschrieben wird, sondern nur in JavaScript programmiert wird. Die fertigen HTML-Seiten werden dann von Sencha Touch generiert. In der neuesten Version 2.1 unterstützt das Framework auch neue Hardware-API und Funktionen zur Erstellung von Anwendungen, die wie native Apps auf dem mobilen Gerät installiert werden können. Diese sogenannten hybriden Apps werden später noch genauer betrachtet. Nachdem nun einige Technologien für die Erstellung von Web-Apps eingeführt wurden, können deren Vor- und Nachteile analysiert werden Vor- und Nachteile von Web-Apps Die Vorteile von Web-Apps liegen in den Entwicklungskosten. Da hier nur mit gebührenfreien Internettechnologien entwickelt wird, beschränken sich die Kosten auf ein Minimum. Hinzu kommt, dass die Technologien bereits vielen Entwicklern bekannt sind und nicht erst neu erlernt werden müssen. Die einzige Voraussetzung ist ein Smartphone mit einem Browser, der HTML5 unterstützt. Da dies aber inzwischen bei vielen Browsern der Fall ist, geben Web-Apps kaum Einschränkungen in der Wahl der Plattform. Zusätzlich existieren Frameworks, welche die Entwicklung erleichtern und viele Möglichkeiten bieten, Web-Apps einer nativen App anzunähern. Als Nachteil gegenüber einer nativen App ist die fehlende Unterstützung der Hardund Softwarefunktionen der mobilen Geräte zu sehen. Auÿerdem sind die Web-Apps nur im Internet verfügbar. Sie können weder über einen nativen App-Markt erworben, noch auf dem Gerät installiert werden. HTML5 macht eine Oine-Nutzung zwar möglich, diese Funktion ist den meisten Nutzern jedoch nicht bekannt. Die Entwicklung von Web-Apps ist demnach ein guter Ansatz, besitzt allerdings noch einige Nachteile. Um sie auszugleichen, wurde ein dritter Ansatz für die Programmierung entwickelt. Hierbei handelt es sich um sogenannte hybride Apps, welche im folgenden Abschnitt betrachtet werden. 4.4 Hybride Apps Hybride Apps sind Anwendungen, die ähnlich den Web-Apps mit Internettechnologien entwickelt wurden, jedoch wie native Apps auf einem Gerät installiert werden können. Damit können die Nachteile von Web-Apps ausgeglichen werden. Eine Nutzung der Hardund Software eines mobilen Endgerätes wird so ermöglicht. Auÿerdem können die Apps über native Marktplätze angeboten werden.

33 4.4. HYBRIDE APPS 25 Für die Entwicklung von hybriden Apps wird ein Framework benötigt, welches verschiedene Funktionen bereit stellt. Hierbei lassen sich zwei Arten von Frameworks anhand der genutzten Technik unterscheiden, die Cross-Compiler Frameworks und die Wrapper Frameworks. Beide werden im folgenden Abschnitt kurz vorgestellt Cross-Compiler Frameworks Cross-Compiler Frameworks zeichnen sich dadurch aus, dass die Anwendungen in einer Web-Sprache wie Ruby oder JavaScript entwickelt und anschlieÿend für verschiedene Plattformen kompiliert werden. Die daraus resultierende Anwendung kann über die nativen Marktplätze verteilt und als native App genutzt werden. Beispiele für solche Frameworks sind Titanium [App] und Rhodes [Sol]. Titanium bietet auÿerdem auch die Möglichkeit, die Apps als Web-Apps zu kompilieren und über das Internet anzubieten. Unterstützt werden auch hier die Plattformen Android und ios. Rhodes hingegen bietet die Möglichkeit der Web-App Programmierung nicht, unterstützt jedoch weit mehr Plattformen Wrapper Frameworks Ein Wrapper Framework kann zur Erweiterung einer Web-App eingesetzt werden. Das bekannteste Beispiel ist hier das Framework PhoneGap [Phob]. Hierbei handelt es sich um ein Plug-In für die native Entwicklungsumgebung eines mobilen Endgerätes. Um PhoneGap zu nutzen, muss zunächst eine Web-App entwickelt werden. PhoneGap bietet anschlieÿend die Schnittstelle, um die App in die native Entwicklungsumgebung einzubinden. Dies geschieht mittels des sogenannten Web Views, eines Browsers, der in einer nativen App verpackt wird und die Web-App anzeigt. Anschlieÿend kann die Anwendung als native App von der Entwicklungsumgebung kompiliert und über native Marktplätze verteilt werden. Dieser Vorgang wird in Abb. 4.2 noch einmal verdeutlicht. Zusätzlich bietet PhoneGap die Möglichkeit über JavaScript Programmierschnittstellen (APIs) die Hard- und Software der mobilen Geräte zu nutzen. PhoneGap wird stetig weiter entwickelt und unterstützt inzwischen eine Vielzahl von Plattformen. Hybride Apps sind also eine weitere Methode zur Programmierung von mobilen Anwendungen. Der folgende Abschnitt beschreibt die Vor- und Nachteile dieser Methoden Vor- und Nachteile von hybriden Apps Hybride Apps bieten die Vorteile der beiden vorher vorgestellten Methoden. Sie sind wie Web-Apps auf mehreren Plattformen verfügbar, bieten Zugang zu den nativen App- Märkten und gleichzeitig Zugri auf die Hard- und Softwarekomponenten der mobilen Endgeräte. Allerdings muss beachtet werden, dass nicht jedes Framework alle Plattformen unterstützt. Auÿerdem können nicht immer alle Features eines Smartphones auf jeder angebotenen Plattform genutzt werden. Es ist notwendig, sich vor Beginn der Programmierung umfassend zu informieren, ob die gewünschte Plattform und Funktion unterstützt wird.

34 26 KAPITEL 4. METHODEN ZUR ENTWICKLUNG MOBILER APPLIKATIONEN Abbildung 4.2: Entstehung einer nativen App mit PhoneGap Quelle: [Phob] Allerdings liegen viele der Frameworks noch in einer ersten Version vor und werden permanent weiter entwickelt, so dass sich die Verfügbarkeit von Plattformen und Funktionen jederzeit ändern kann. Der Nachteil einer hybriden App gegenüber einer nativen App kann in der Performance der Anwendung gesucht werden. Apps auf Basis von Webtechnologien bieten nicht immer die Performance, die eine in der nativen Programmiersprache entwickelte Anwendung zur Verfügung stellt. Grund hierfür ist, dass die nativen Werkzeuge und Technologien speziell auf das mobile Endgerät angepasst sind und somit dessen Hardware und Funktionen besser nutzen können. 4.5 Vergleich der Methoden Dieses Kapitel hat bisher die drei gängigsten Methoden zur Programmierung von mobilen Anwendungen aufgezeigt. In diesem Abschnitt sollen die unterschiedlichen Herangehensweisen unter verschiedenen Gesichtspunkten miteinander verglichen werden. Abschlieÿend soll die Methode, die für die geplante App am besten geeignet erscheint, bestimmt werden. Wie in Kapitel drei beschrieben, ist eine wichtige Voraussetzung für die Anwendung, dass sie auf möglichst vielen Plattformen verfügbar sein sollte. Dabei wurden die beiden Kenngröÿen Plattformabdeckung und Portabilität heraus gearbeitet. Daher werden

35 4.5. VERGLEICH DER METHODEN 27 zunähst die drei Methoden hinsichtlich dieser beiden Kriterien miteinander verglichen. Einige andere Arbeiten haben diesen Vergleich bereits gezogen, [Jas11] beispielsweise hat festgestellt, dass native Apps eine Plattform, hybride und Web-Apps hingegen die meisten gängigen Plattformen unterstützen. Diese Dierenzierung ist jedoch relativ unpräzise, da auch innerhalb der einzelnen drei Bereiche genauere Betrachtungen nötig sind. Web-Apps beispielsweise funktionieren dank HTML5 zwar auf den meisten Geräten, nicht jeder Browser hat jedoch jeden HTML5- Standard implementiert, zumal sich HTML5 selbst noch in der Entwicklung bendet. Dazu kommt, dass auch bei Web-Apps das Bestreben existiert, die App dem nativen Design des Gerätes anzupassen. Zu diesem Zweck existieren zwar Frameworks, welche die Arbeit erleichtern, diese unterstützen jedoch nicht immer alle verfügbaren Plattformen. Ähnlich verhält es sich bei den Frameworks für hybride Apps. PhoneGap beispielsweise unterstützt bereits die meisten Plattformen, Titanium hingegen nur ios und Adroid. Aus diesem Grund sollen hier die verschiedenen vorgestellten Technologien einzeln verglichen werden und nicht auf die drei Bereiche native, Web- und hybride App reduziert werden Plattformabdeckung Die Plattformabdeckung nativer Apps beschränkt sich lediglich auf ein Plattform. Da der Code in einer eigenen nativen Entwicklungsumgebung und einer speziellen Programmiersprache entwickelt werden muss, kann er auf keinem anderen mobilen Gerät als dem, für das er entwickelt wurde, genutzt werden. Deshalb beträgt die Plattformabdeckung bei nativen Apps unabhängig von der zur Entwicklung genutzten Plattform immer 1/6 = 16 Prozent. Bei Web-Apps muss zwischen den unterschiedlichen Frameworks dierenziert werden. Hier wurden Sencha Touch und jquery Mobile als Beispiele gewählt. Anwendungen, die mittels jquery Mobile geschrieben wurden, funktionieren auf allen der vorgestellten Plattformen. Einzige Ausnahme ist die Nutzung von AJAX unter Symbian, aus diesem Grund bekommt jquery Mobile für Symbian nur die Hälfte der Punkte. Daraus ergibt sich eine Plattformabdeckung von 5,5/6 = 96 Prozent. Sencha Touch hingegen unterstützt lediglich Android und ios, daraus resultiert eine Plattformabdeckung von 2/6 = 33 Prozent. Für die Entwicklung von hybriden Apps gibt es ebenfalls verschiedene Frameworks, die einzeln betrachtet werden müssen. Titanium unterstützt ledigliche Android und ios, erhält damit ebenfalls eine Plattformabdeckung von 2/6 = 33 Prozent, Rhodes hingegen ios, Android, Windows Phone und Blackberry und erzielt damit eine Plattformabdeckung von 4/6 = 67 Prozent. Das Wrapper Framework PhoneGap unterstützt jede der vorgestellten Plattformen und erreicht damit die maximale Plattformabdeckung von 100 Prozent. Tabelle 4.3 gibt noch einmal einen Überblick zur Plattformabdeckung der unterschiedlichen Technologien. Es lässt sich erkennen, dass lediglich PhoneGap die volle Unterstützung für alle Plattformen bietet und daher zur Entwicklung einer Anwendung, die auf möglichst vielen Geräten verfügbar sein soll, favorisiert werden sollte.

36 28 KAPITEL 4. METHODEN ZUR ENTWICKLUNG MOBILER APPLIKATIONEN Technologie Plattformabdeckung in Prozent nativ 16 sencha touch 33 Titanium 33 Rhodes 67 jquery Mobile 92 PhoneGap 100 Tabelle 4.3: Plattformabdeckung der unterschiedlichen Technologien Von vielen Technologien werden zwar unterschiedliche Plattformen unterstützt, es stellt sich jedoch die Frage nach dem nötigen Aufwand, um den geschriebenen Code auf allen unterstützten Plattformen lauähig zu machen Portabilitätsaufwand Der Portabilitätsaufwand ist lediglich eine Schätzgröÿe abhängig von der konkreten Ursprungsund Zielumgebung [Rot87]. Auf Betriebssystemebene sind dabei die Entwicklungsumgebung, die Programmiersprache und das Design ausschlaggebend (vgl. Kapitel 3.3 zur Portabilität). In dieser Arbeit wird der Anpassungsaufwand in die folgenden Kennziern unterteilt: - Einarbeitungsaufwand in eine neue Programmiersprache - Einarbeitungsaufwand in eine neue Entwicklungsumgebung - Überarbeitungsaufwand für das Design Eine 1 wird vergeben, wenn ein gröÿerer Aufwand nötig ist und eine 0 bei keinem oder nur geringem Aufwand. Der Übertragungsaufwand ist entweder 1, bei Anwendungen die neu kompiliert und auf ein mobiles Gerät transportiert werden müssen oder 0, falls dies nicht nötig ist. Eine Neuentwicklung entspricht einem maximalen Aufwand und beträgt somit 4. Wendet man die in Kapitel 3.3 beschriebene Formel an, ergibt sich eine Portabilität von 0 bis 1, wobei 0 eine gute Portierbarkeit des Programmes darstellt, bei 1 hingegen lässt sich die Anwendung nicht portieren. Nachfolgend wird die Portabilität für alle Arten von Apps geprüft. Da native Apps lediglich ihre eigene Plattform abdecken, ist der Aufwand eine Anwendung auf eine andere Plattform zu portieren im Allgemeinen bei allen nativen Anwendungen der gleiche. Die einzige Möglichkeit die Anwendung auf einer anderen Plattform verfügbar zu machen ist demnach, sie völlig neu zu programmieren. Daraus ergibt sich eine minimale Portabilität von 0. Reine Web-Anwendungen, die lediglich HTML5, Javascript und CSS3 nutzen und über das Internet angeboten werden, können auf jeder Plattform mit Browser gleichermaÿen

37 4.5. VERGLEICH DER METHODEN 29 genutzt werden. Sie müssen nur einmal entwickelt werden und können dann wie eine Website auf jedem mobilen Endgerät aufgerufen werden. Da man bei einer Website auch nicht erwartet, dass sie im Design an das Gerät angepasst ist, sind auch hier keine Änderungen nötig. Es entsteht also kein Aufwand bei der Portierung auf ein anderes Gerät und damit eine maximale Portabilität. Anders sieht es aus, wenn ein Framework benutzt wird. Bei Sencha Touch wird die Anwendung in JavaScript geschrieben, das Framework generiert daraus anschlieÿend HTML und CSS. Diese Web-Apps kann man zwar auf jedem Gerät anbieten, das Design wird vom Framework allerdings für Android und ios angepasst. Will man das Design für ein anderes Gerät anbieten, muss der HTML5- und CSS-Code manuell überarbeitet werden. Daraus ergibt sich für die Designanpassung ein Aufwand von 1. Entwicklungsumgebung und Programmiersprache bleiben jedoch gleich. Die Portabilität für diese Anwendungen liegt bei 0,75, was einer sehr hohen Portabilität entspricht. Bei hybriden Apps gibt es unterschiedliche Frameworks, die unterschiedliche Betriebssysteme unterstützen. Bei den Cross-Compiler Frameworks Rhodes und Titanium kann der Code für verschiedene Plattformen kompiliert werden, allerdings nicht für alle. Hier muss also unterschieden werden, ob nur die unterstützten Plattformen genutzt werden sollen oder alle. Im ersten Fall muss der Code nur einmal geschrieben und dann nur unterschiedliche kompiliert werden, die Portabilität liegt demnach bei 0,75, da lediglich der Übertragungsaufwand 1 beträgt. Will man alle Plattformen einsetzen, muss man für die nicht unterstützten zwangsweise eine neue Anwendung schreiben. Daraus ergibt sich wiederum eine minimale Portabilität von 0. Beim Wrapper-Framework PhoneGap ist die Anwendung anders als bei den Cross- Compiler Frameworks. Hier wird der Code in HTML geschrieben und mit Javascript werden weitere Funktionen, um native Hard- und Software zu nutzen, hinzugefügt. Zur Übertragung der Anwendung auf ein mobiles Endgerät wird die native Entwicklungsumgebung mit einem Plug-In erweitert. Eine Einarbeitungszeit für die nativen Entwicklungsumgebungen muss demnach berechnet werden. Die native Programmiersprache zu erlernen ist jedoch nicht zwingend notwendig. Zur Übertragung muss für jede Plattform eine hybride App kompiliert werden. Zusätzlich müssen Designänderungen für jede Plattform manuell vorgenommen werden, da von einer hybriden App ein natives Aussehen erwartet wird. Die Portabilität liegt demnach bei 0,25, ist daher verhältnismäÿig gering. Tabelle 4.4 gibt noch einmal einen Überblick über die Portabilität der einzelnen Entwicklungsmöglichkeiten für Apps Performance Neben der Plattformabdeckung und der Portabilität muss auch die Performance der unterschiedlichen Technologien berücksichtigt werden. [Pat11] hat einen Performance Vergleich zwischen reinen Web-Anwendungen, nativen Anwendungen und Anwendungen, die mit Hilfe des Web-Frameworks PhoneGap erstellt

38 30 KAPITEL 4. METHODEN ZUR ENTWICKLUNG MOBILER APPLIKATIONEN Technologie Portabilität nativ 1 PhoneGap 0,25 Titanium 0,75/0 Rhodes 0,75/0 jquery Mobile 0,75 sencha touch 0,75 Tabelle 4.4: Portabilität der mit unterschiedlichen Technologien entwickelten Anwendungen wurden, gezogen. Hierfür hat er verschiedene Programme mit allen drei Möglichkeiten erstellt und auf einem mobilen Gerät mit Android Betriebssystem laufen lassen. Dabei sollten folgende Dinge getestet werden: die Performance bei der Ausführung einfacher Algorithmen (in diesem Fall dem Fibonacci Algorithmus), die Performance bei der Ausführung von Grakoperationen (hier dem Zeichnen von einfachen Kreisen) und die Performance bei der Ausführung von Datenbankabfragen, insbesondere der Speicherung von Daten. Zusätzlich hat er auch ein Augenmerk auf die Möglichkeit des Zugris auf die spezischen Hardwarefeatures der mobilen Geräte gelegt, was für die hier geplante Anwendung ebenfalls zu berücksichtigen ist, da die Nutzung der Kamera zu den Anforderungen an die App gehört. [Pat11] hat bei jedem Test dem Gerät eine Wertung zwischen 1 und 3 bekommen, 1 als beste Bewertung und 3 als Schlechteste. Bei diesen Tests hat sich ergeben, dass die einzige Performance-Schwäche von PhoneGap in der Darstellung von Graken liegt. Die Werte lagen bei allen drei Varianten allerdings sehr nah beieinander. Tabelle 4.5 zeigt die Ergebnisse zusammen gefasst. Aufgrund der Aktualität der Arbeit ist diese als Grundlage für den Performancevergleich ausreichend. Technologie Algorithmus Grak Datenbank Hardwarezugri nativ Ja PhoneGap Ja HTML Nein Tabelle 4.5: Performance der mit unterschiedlichen Technologien entwickelten Anwendungen 4.6 Auswahl einer Technologie Nachdem die unterschiedlichen Technologien miteinander verglichen wurden, kann die bevorzugte für die geplante App ausgewählt werden. Besonders wichtig ist hierbei die Gewährleistung eine maximale Plattformabdeckung. Unter diesem Gesichtspunkt scheint die Entwicklung einer hybriden App mit Hilfe des Wrapper Frameworks PhoneGap die geeignetste Methode. Eine reine Web-App zu entwickeln ist aufgrund der mangelnden Kameraunterstützung nicht möglich. Bei nativen Apps ist der Aufwand, der für eine maximale Plattformabdeckung vorgenommen werden muss zu groÿ.

39 4.6. AUSWAHL EINER TECHNOLOGIE 31 Da bei der Anwendung keine Graphiken verarbeitet werden, sondern vielmehr die Datenspeicherung ein sehr wichtiger Punkt ist, scheint im Hinblick auf die Performance PhoneGap ebenfalls eine gute Wahl zu sein. Die Kameraunterstützung wird zusätzlich gewährleistet. Lediglich im Hinblick auf die Portabilität ist PhoneGap als eher schwah einzustufen. Um diesen Schwachpunkt zu umgehen, soll der HTML5 und CSS3 Code mit Hilfe eines Web-App-Frameworks entwickelt werden. So entfällt für PhoneGap die Design-Anpassung. Die JavaScript Funktionalitäten zur Datenspeicherung und zur Nutzung der Kamera werden mit PhoneGap anschlieÿend hinzugefügt. Die Anwendung soll im Rahmen dieser Arbeit nur für Android und Windows Phone kompiliert werden, um die Plattformunabhängigkeit von PhoneGap in diese Richtung zu testen. Neben der Auswahl der Technologie zur Entwicklung der Anwendung ist die Auswahl einer Speichermethode wichtig. Das folgende Kapitel stellt die für HTML5-Anwendungen geläugsten Methoden zur Speicherung der Daten vor und trit eine Auswahl der geeignetsten Methode.

40 Kapitel 5 Datenspeicherung Für die Anwendung ist es nötig, dass die im Rahmen einer Ausgrabung aufgenommenen Befunddaten gespeichert werden können. Für diese Speicherung lassen sich in der Dokumentation des W3C einige Ansätze nden, die im Folgenden beschrieben werden. Da im vorherigen Kapitel die Entwicklung einer hybriden App mittels Web-Technologien gewählt wurde, müssen die Möglichkeiten dieser Technologien hinsichtlich der Speicherung von Daten berücksichtigt werden. Mit HTML5 werden einige interessante Neuerungen hinsichtlich der Client-seitigen Speicherung von Daten eingeführt. Diese lassen sich in zwei unterschiedliche Systeme einteilen, das Web Storage und die Erstellung von Web SQL Datenbanken [Hog11]. Eine weitere Art der Datenspeicherung auf dem Client wurde von Mozilla mit der sogenannten Indexed Database API eingeführt [Hog11]. Auf diese drei Speichermethoden wird im Folgenden eingegangen. Anschlieÿend wird die für die Anwendung passende Methode ermittelt. 5.1 Web Storage Die Web-Storage API wurde aus HTML5 ausgegliedert, fällt aber trotzdem in das Umfeld von HTML5 und wird daher vom W3C als Neuerung von HTML5 speziziert [FÖ11]. Die Beschreibung der API lautet in der Spezikation wie folgt: This specication denes an API for persistent data storage of key-value pair data in Web clients [W3Ce]. Es handelt sich also um eine API mit der einfache Schlüssel-Wert Paare dauerhaft beim Client gespeichert werden sollen. Hierbei werden vom W3C zwei verschiedene Speichertypen angeboten, sessionstorage und localstorage. Unabhängig vom Speichertyp ist für Web Storage eine maximale Datenmenge von 5 MB zulässig. Diese kann beliebig erweitert werden, benötigt dazu jedoch die Zustimmung des Nutzers [LS11]. Browser, welche die API unterstützen, sind Google Chrome, Firefox, Opera, Safari, mobile Safari und alle Browser, die für Geräte mit dem Betriebssystem Android verfügbar sind. [Hog11]. 32

41 5.2. WEB-SQL DATENBANKEN 33 Das Storage-Interface stellt verschiedene Methoden zur Verfügung, um eine Liste von Schlüssel-Wert-Paaren abhängig von der Domäne zu erstellen. Laut Spezikation sind sowohl die Schlüssel als auch die Werte Strings von beliebiger Länge, einschlieÿlich des leeren Strings. Das Speichern von komplexen Datentypen, wie beispielsweise Arrays, erfordert daher eine Umwandlung des Datentyps in einen String [FÖ11]. Die Unterschiede zwischen sessionstorage und localstorage liegen in der Haltbarkeit sowie der Verfügbarkeit der gespeicherten Daten. Listen von Schlüssel-Wert-Paaren, die mit dem Attribut sessionstorage gespeichert werden, stehen nur dem Browserfenster zur Verfügung, in dem sie gespeichert werden. Das bedeutet, dass die Daten verloren gehen, sobald das Fenster geschlossen wird. Wird ein neues Fenster von der gleichen Domäne aufgerufen, kann nicht auf die Daten zugegrien werden [LS11]. Werden die Daten hingegen mit dem Attribut localstorage gespeichert, sind sie abhängig von der Domäne. Sie können in allen Fenstern, die von dieser Domäne geönet werden abgerufen werden. Darüber hinaus bleiben die Daten auch nach Sitzungsende erhalten. Sie werden so lange gespeichert, bis sie vom Nutzer gelöscht werden [LS11]. Mit WebStorage lassen sich Daten in Form von Schlüssel-Wert-Paaren speichern, die Beschränkung des Datentyps auf Strings macht das Speichern von komplexen Datentypen jedoch sehr aufwendig. Aus diesem Grund wurde zusätzlich die Möglichkeit geschaen, eine Web-SQL-Datenbank auf dem Client anzulegen und zu verwalten. Diese Web-SQL Database API wird im nächsten Abschnitt beschrieben. 5.2 Web-SQL Datenbanken Eine weitere Möglichkeit Daten auf dem Client zu speichern, die HTML5 bietet, sind die sogenannten Web SQL Datenbanken [LS11]. Auch hierfür existiert eine Spezikation des W3C, in der die Speichermethode beschrieben wird: This specication denes an API for storing data in databases that can be queried using a variant of SQL [W3Cd]. In der Spezikation wird die API genauer beschrieben, zusammengefasst handelt es sich um eine Möglichkeit, Daten mittels der Structured Query Language (SQL) innerhalb einer lokalen relationalen Datenbank zu speichern. Denition 5.1 Eine Datenbank (Datenbank-Managementsystem) ist ein System zur Speicherung und Verwaltung groÿer Datenmengen [Gre03]. Jede Datenbank besitzt dabei eine Datenbasis, die auf verschiedene Weisen organisiert sein kann: - in Form von Tabellen bestehend aus Datensätzen und Feldern

42 34 KAPITEL 5. DATENSPEICHERUNG - hierarchisch in einer Art Baumstruktur - in vernetzter Form - oder als Objekte. Bei einer relationalen Datenbank werden die Daten in Tabellen gespeichert, welche durch Relationen miteinander verbunden werden. Das Modell dient vor allem der ezienten Speicherung der Daten, insbesondere der Vermeidung von Redundanzen [Gre03]. Die Web-SQL Datenbank API nutzt solch ein relationales Datenbanksystem. Die Manipulation der Daten erfolgt dabei mit SQL-Befehlen. Diese werden hierbei in einem String verpackt und mittels JavaScript ausgeführt [Pil11]. Auch hier gibt HTML5 keine Speichergröÿe für die Datenbank vor, Einschränkungen werden lediglich durch den Browser getätigt. Bei Überschreitung der maximalen Speichergröÿe des Browser wird der Nutzer ebenfalls um Zustimmung gefragt [LS11]. Der groÿe Nachteil an der Web SQL Datenbank API liegt darin, dass sie vom W3C aufgegeben wurde und derzeit nicht weiter entwickelt wird. Eine Weiterentwicklung in naher Zukunft ist ebenfalls nicht vorgesehen, wie auf der Seite des W3C angegeben wird [W3Cd]. Trotzdem wurde die API von vielen Browserentwicklern bereits implementiert, insbesondere den auf WebKit basierenden mobilen Browsern [Krö11]. Aus diesem Grund ist damit zu rechnen, dass sie auch in zukünftigen Versionen der Browser noch implementiert sein wird, wie lange sich die API noch verwendet werden kann, lässt sich nicht abschätzen. Um dennoch die Möglichkeit einer strukturierten Datenspeicherung zu gewährleisten, die über ein simples Key-Value-Verfahren hinaus geht, wurde vom W3C auf Initiative von Mozilla eine neue API entworfen, die sogenannte IndexedDB API, die im folgenden Abschnitt behandelt werden soll. 5.3 IndexedDB Nachdem die Arbeit an der Web-SQL Datenbank API eingestellt wurde, legte Mozilla dem W3C den Entwurf einer neuen Datenbank API für HTML5, der sogenannten IndexedDB API, vor. Diese bendet sich derzeit in der Entwicklung und ist bisher in nur wenigen Browsern implementiert, wie Abb. 5.1 zeigt. Da auf diesem Gebiet aufgrund der wenig fortgeschrittenen Unterstützung kaum Literatur existiert, soll die API an dieser Stelle nur kurz erläutert werden. Die Spezikation der API vom W3C lautet wie folgt: This document denes APIs for a database of records holding simple values and hierarchical objects. Each record consists of a key and some value. Moreover, the database maintains indexes over records it stores. An application developer

43 5.4. AUSWAHL EINER SPEICHERMETHODE 35 Abbildung 5.1: Browsersupport für die Speicher APIs [dev11] directly uses an API to locate records either by their key or by using an index. A query language can be layered on this API. An indexed database can be implemented using a persistent B-tree data structure [W3Cc]. IndexedDB speichert Daten im Gegensatz zur Web-SQL Datenbank nicht in starren Tabellen, sondern verwendet hierfür Objekte in einem Key-Value-Speicher. Zusätzlich werden verschiedene Funktionen geboten, um auf die Inhalte dieser Objekte zuzugreifen, wie beispielsweise Cursor und Indizes [Krö11]. Änderungen am Objektspeicher werden über Transaktionen abgewickelt [Pil11]. 5.4 Auswahl einer Speichermethode Aus den beschriebenen drei Möglichkeiten zur Datenspeicherung in HTML5, soll nun die für die Anwendung passende ausgewählt werden. Da die IndexedDB API noch kaum implementiert ist, scheidet sie als Speichermöglichkeit aus. Für die Anwendung ist es auÿerdem nötig, dass zwischen den Daten Beziehungen hergestellt werden können. So sollen einer Ausgrabung Mitarbeiter zugeteilt werden, wobei ein Mitarbeiter auf mehr als einer Grabung gleichzeitig arbeiten kann. Solche m-n-beziehungen lassen sich mit einfachen Schlüssel-Wert-Paaren nur sehr umständlich

44 36 KAPITEL 5. DATENSPEICHERUNG darstellen. Die Web-SQL Datenbank API bietet diese Funktionalität und ist daher, trotz fehlender Weiterentwicklung, die passende Methode. Hinsichtlich der Entwicklung weg von Web SQL hin zu IndexedDB muss die Datenspeicherung, sobald die Implementierung der IndexedDB weiter vorangeschritten ist, überarbeitet werden. Nachdem nun die Methoden zur Entwicklung der App und der Speicherung der Daten ausgewählt und die wichtigsten Anforderungen beschrieben wurden, befassen sich die beiden folgenden Kapitel mit der Programmierung der Anwendung. Kapitel sechs fasst noch einmal die gewählten Methoden zusammen und skizziert den Entwurf der Anwendung. Kapitel sieben beschreibt die wichtigsten Merkmale der Implementierung der Anwendung sowie dabei entstehende Probleme.

45 Kapitel 6 Systementwurf Bevor mit der Entwicklung der Anwendung begonnen werden kann, soll sie in diesem Kapitel zunächst entworfen werden. Die Implementation wird anschlieÿend in Kapitel sieben beschrieben. Zunächst werden die Zielrichtung der App als Grundlage für den Entwurf formuliert sowie die ermittelten zu nutzenden Methoden und Technologien zusammengefasst. 6.1 Zielrichtung In Kapitel 2.2 wurde der beispielhafte Ablauf einer Ausgrabung beschrieben. Aufbauend darauf wird die Zielrichtung der Anwendung beschrieben. Die App soll die Dokumentation der Befunde erleichtern. Der erste Schritt der Dokumentation ist dabei die Vergabe einer Befundnummer, nachdem der entsprechende Befund identiziert wurde. Diese Befundnummernvergabe soll durch die Anwendung automatisiert werden und als Funktionalität dem Grabungsleiter zur Verfügung stehen. Die anschlieÿende Dokumentation des Befundes gliedert sich in verschiedene Schritte. Dazu gehören die schriftliche, die zeichnerische sowie die fotograsche Dokumentation und die Entnahme von Proben. Diese einzelnen Schritte sollen durch die App für den Grabungsassistenten automatisiert werden. Hierzu müssen Funktionalitäten zur Vergabe von Probennummern, zur Aufnahme von Fotograen und zur Eingabe von wichtigen Informationen vorhanden sein. Zusätzlich müssen die innerhalb des Befundes getätigten Funde verzeichnet werden können. Hierfür ist ebenfalls eine Funktionalität zur Vergabe von Fundnummern unverzichtbar. Die so gesammelten Daten sollen anschlieÿend gesichert werden. Daraus resultierend soll von der App demnach nach erfolgreichem Abschluss einer Ausgrabung eine vollständige Dokumentation der Befunde zur Verfügung gestellt werden. Für die Umsetzung der Zielsetzung stehen verschiedene Technologien und Techniken zur Verfügung. In den letzten Kapiteln wurden diese analysiert und die für die Umsetzung der Anforderungen geeignetsten ausgewählt. Dabei hat sich ergeben, dass eine Hybrid-App mit Hilfe von HTML5, CSS3 und JavaScript entwickelt werden soll. Der HTML5 Code wird mit Hilfe des Web-App Frameworks JQuery Mobile entwickelt. Mit Hilfe des Wrapper Frameworks PhoneGap werden JavaScript Funktionalitäten hinzugefügt. Die Anwendung 37

46 38 KAPITEL 6. SYSTEMENTWURF kann dank PhoneGap anschlieÿend für mehrere unterschiedliche Plattformen kompiliert werden. Die Datenhaltung erfolgt dabei in einer Web-SQL Datenbank. Es hat sich ergeben, dass für die beiden Benutzergruppen Grabungsleiter (GL) und Grabungsassistent (GA) unterschiedliche Funktionen bereitgestellt werden müssen. Daher ist das Kapitel unterteilt in vier Unterabschnitte. Zuerst werden Funktionalitäten beschrieben, die beide Nutzergruppen benötigen. Im zweiten und dritten Abschnitt werden die unterschiedlichen Teilanwendungen für die Grabungsleiter und die Grabungsassistenten entworfen. Im letzten Abschnitt wird die der Anwendung zu Grunde liegende Datenbank modelliert. 6.2 Funktionalitäten für beide Nutzergruppen Nachdem die Anwendung gestartet wurde, muss sich jeder Benutzer zunächst anmelden, unabhängig davon, ob er als GL oder GA arbeiten will. Zu diesem Zweck wird jedem Benutzer ein Nutzername sowie ein Passwort zugewiesen, welche er bei der Anmeldung angeben muss (Abb. 6.1). Wird die Anwendung erstmalig gestartet, muss sich ein Grabungsleiter mit einem default-passwort anmelden. Dieses kann anschlieÿend geändert werden. Der GL kann nun neue Nutzer hinzufügen und damit auch die Anmeldung als GA ermöglichen. Für die Anmeldung hat der Nutzer allerdings nur drei Versuche. Wird das Passwort mehrmals falsch eingegeben, wird die Anwendung beendet und gesperrt. Anschlieÿend kann sie nur von einem GL entsperrt werden. Nach einer erfolgreichen Anmeldung muss der Anwender zunächst auswählen, ob er die Anwendung als Grabungsleiter oder als Grabungsassitent nutzen will (Abb. 6.2). Zu diesem Zweck muss zunächst eine Auswahlmöglichkeit zur Verfügung gestellt werden. Hierbei soll das Programm die Möglichkeit, sich als Grabungsleiter anzumelden, nur den Nutzern zur Verfügung stellen, die in der Datenbank als Grabungsleiter eingetragen sind. Die Auswahlmöglichkeit sich als GA anzumelden soll allen Benutzern zur Verfügung stehen. Die beschriebenen Vorgänge werden in Abb. 6.3 noch einmal skizziert. 6.3 Funktionalitäten für den Grabungsleiter Ein Grabungsleiter soll die Anwendung insbesondere zur Verwaltung der Mitarbeiter, der Ausgrabungen sowie der Befunde nutzen. Daraus ergeben sich drei Grundfunktionalitäten, die von der Anwendung zur Verfügung gestellt werden müssen (Abb. 6.4). Hierbei muss jedoch wiederum unterschieden werden zwischen einem übergreifenden Grabungsleiter und einem Leiter für bestimmte Grabungen. Die Verwaltung der Befunde soll sowohl für den übergreifenden Grabungsleiter als auch für den Leiter der Grabung, der die Befunde zugeordnet werden, möglich sein. Alle anderen Funktionen stehen nur dem übergreifenden Grabungsleiter zur Verfügung. Zur Synchronisation der Daten mit den Grabungsassistenten hat der Grabungsleiter auÿerdem die Möglichkeit, die Daten in

47 6.3. FUNKTIONALITÄTEN FÜR DEN GRABUNGSLEITER 39 Abbildung 6.1: Loginbildschirm Quelle: eigene Abbildung

48 40 KAPITEL 6. SYSTEMENTWURF Abbildung 6.2: Auswahl zwischen GL und GA Quelle: eigene Abbildung

49 6.3. FUNKTIONALITÄTEN FÜR DEN GRABUNGSLEITER 41 Abbildung 6.3: EPK für einen Anmeldevorgang Quelle: eigene Abbildung einer Datei auf dem jeweiligen Gerät zu speichern. Diese kann anschlieÿend von den Grabungsassistenten empfangen werden Mitarbeiter verwalten Der Grabungsleiter soll die Möglichkeit erhalten, die Mitarbeiterdaten zu pegen. Dazu gehören die folgenden Anwendungsfälle (Akteur ist in allen Anwendungsfällen der übergreifende Grabungsleiter): Nummer Name Beschreibung 001 Mitarbeiter erstellen Es wird ein neuer Mitarbeiter mit Name, Nutzername und Passwort angelegt. Zusätzlich wird festgehalten, ob es sich um einen übergreifenden Grabungsleiter handelt. 002 Mitarbeiter Name, Nutzername und Passwort bestehender bearbeiten 003 Mitarbeiter löschen Mitarbeiter können geändert werden. Bestehende Mitarbeiter können gelöscht werden, es sei denn, sie sind als übergreifender Grabungsleiter eingetragen. Tabelle 6.1: Anwendungsfälle Mitarbeiter verwalten Die Oberäche soll dabei aus einer Liste aller Mitarbeiter bestehen. Um die Daten eines Mitarbeiters zu bearbeiten, muss er lediglich in der Liste ausgewählt werden. Schaltächen zum Löschen und Bearbeiten der Mitarbeiter müssen ebenfalls vorhanden sein (Abb. 6.5).

50 42 KAPITEL 6. SYSTEMENTWURF Abbildung 6.4: Hauptmenü für den Grabungsleiter Quelle: eigene Abbildung

51 6.3. FUNKTIONALITÄTEN FÜR DEN GRABUNGSLEITER 43 Für neu angelegte Mitarbeiter werden ein Nutzername, ein Passwort sowie ein Vermerk, ob der Nutzer Administratorrechte erhalten soll, angegeben (Abb. 6.6). Abbildung 6.5: Menü zum Verwalten der Mitarbeiter Quelle: eigene Abbildung Grabungen verwalten Eine weitere Funktionalität, die nur vom übergreifenden Grabungsleiter genutzt werden kann, ist die Verwaltung der Ausgrabungen. Dabei müssen folgende Anwendungsfälle abgedeckt werden: Das Menü soll dabei analog dem Menü zum Verwalten der Mitarbeiter aufgebaut sein. Beim Anlegen einer Ausgrabung soll neben der ID, einer Bezeichnung sowie dem Zeitraum der Ausgrabung zusätzlich eine Liste der teilnehmenden Mitarbeiter angelegt werden können (Abb. 6.7).

52 44 KAPITEL 6. SYSTEMENTWURF Abbildung 6.6: Menü um einen neuen Mitarbeiter anzulegen Quelle: eigene Abbildung Nummer Name Beschreibung 004 Ausgrabung erstellen Eine neue Ausgrabung kann erstellt werden. Dazu gehört ein Kürzel für die Grabung, eine Bezeichnung, sowie ein Start- und ein Enddatum. 005 Ausgrabung bearbeiten Daten einer Ausgrabung können bearbeitet werden. 006 Ausgrabung Eine bestehende Ausgrabung kann gelöscht wer- löschen 007 Mitarbeiter zuweisen den Ein Mitarbeiter kann einer bestehenden Grabung entweder als GA oder GL zugewiesen werden. Tabelle 6.2: Anwendungsfälle Ausgrabungen verwalten

53 6.3. FUNKTIONALITÄTEN FÜR DEN GRABUNGSLEITER 45 Abbildung 6.7: Menü zum Anlegen einer neuen Ausgrabung

54 46 KAPITEL 6. SYSTEMENTWURF Befunde verwalten Bevor Befunde bearbeitet werden, muss im Hauptmenü zunächst die zuvor angelegte Ausgrabung ausgewählt werden (Abb. 6.8). Abbildung 6.8: Menü zum Wählen einer Grabung und anschlieÿenden Bearbeitung der Befunde Quelle: eigene Abbildung Die Funktionalitäten zur Verwaltung der Befunde können sowohl vom übergreifenden Grabungsleiter als auch vom der entsprechenden Ausgrabung zugewiesenen Grabungsleiter genutzt werden. Folgende Anwendungsfälle ergeben sich dabei (Tabelle 6.3) Das Menü soll äquivalent zu den Menüs Mitarbeiter bearbeiten und Ausgrabung bearbeiten aufgebaut sein. Beim Anlegen eines neuen Befundes wird automatisch eine Nummer für diesen Befund ermittelt. Anschlieÿend können eine kurze Beschreibung zum

55 6.3. FUNKTIONALITÄTEN FÜR DEN GRABUNGSLEITER 47 Nummer Name Beschreibung 008 Befund erstelleher Befunde für eine bestimmte Ausgrabung, die vornummer ausgewählt wird, können mit einer Befund- angelegt werden. Auÿerdem kann ihnen ein GA als Bearbeiter zugeordnet werden. 009 Befund bearbeiten Ein bestehender Befund kann bearbeitet werden 010 Befund löschen Ein bestehender Befund kann gelöscht werden Tabelle 6.3: Anwendungsfälle Befunde verwalten Befund sowie der Bearbeiter eingegeben werden. Die Verknüpfung der Anwendungsfälle wird im Use-Case Diagramm in Abb. 6.9 aufgezeigt. Eine Funktionalität zum Bearbeiten der Befunde ist für die Grabungsleiter nicht vorgesehen, da diese nur von Grabungsassistenten bearbeitet werden. Die dafür nötigen Anwendungsfälle werden im folgenden Abschnitt beschrieben. Abbildung 6.9: Use-Case Diagramm der Anwendungsfälle der GLs Quelle: eigene Abbildung

56 48 KAPITEL 6. SYSTEMENTWURF 6.4 Funktionalitäten für den Grabungsassistenten Die Verwaltungsfunktionen werden nur vom Grabungsleiter ausgeführt, daher stehen dem Grabungsassistenten lediglich Funktionen zur Bearbeitung der Befunde zu Verfügung. Hierfür ist es nötig, dass die Endgeräte der Grabungsassistenten eine Verbindung zum Endgerät des Grabungsleiters aufbauen können, um Daten auszutauschen. So kann ein Grabungsassistent die für ihn zu bearbeitenden Befunde ermitteln, dokumentieren und anschlieÿend an das Endgerät des Grabungsleiters zurück geben. Daraus resultieren die folgenden Anwendungsfälle für Grabungsassistenten: Nummer Name Beschreibung 011 Verbindung zum GL aufbauen 012 Befunde ermitteln 013 Befund bearbeiten 014 Foto hinzufügen 015 Bodenprobe hinzufügen 016 Fund hinzufügen 017 Daten an GL senden Eine Verbindung zwischen den Endgeräten des GAs und des GLs wird aufgebaut. Vom GA zu bearbeitende Befunde müssen ermittelt werden (Setzt 011 voraus). Speichert die leeren Befunde in einer lokalen Datenbank. Einen leeren Befund auswählen und die nötigen Daten eingeben. Anschlieÿend wird der Befund lokal gespeichert Önet die native Kameraanwendung und ermöglicht das Aufnehmen eines Fotos, welches anschlieÿend an den Befund angehängt wird. Eine Bodenprobennummer generieren und an den Befund anhängen. Eine Fundnummer generieren und an den Befund anhängen. Fertiggestellte Befunde sollen an den GL gesendet werden (setzt 011 voraus) Tabelle 6.4: Anwendungsfälle für den GA In den Anwendungsfällen von sollen die angefügten Bodenproben, Fotos und Funde auch entfernt werden können. Die Verknüpfung der Anwendungsfälle wird im Use- Case Diagramm in Abb aufgezeigt. Eine beispielhafte Verwendung der Anwendung ist in Abb. A.1 im Anhang A dargestellt. Die Beschreibung der Anwendungsfälle hat gezeigt, dass für beide Anwendungsbereiche eine Datenbank zur Datenhaltung Voraussetzung ist. Diese soll im folgenden Abschnitt beschrieben werden. 6.5 Datenhaltung In Kapitel fünf wurde zur Datenhaltung die Erstellung einer Web-SQL Datenbank im Browser ausgewählt. Hierbei muss wiederum zwischen den Funktionalitäten für Grabungsleiter und Grabungsassistenten unterschieden werden. Da die Grabungsassistenten jedoch

57 6.5. DATENHALTUNG 49 Abbildung 6.10: Use-Case Diagramm der Anwendungsfälle der GA Quelle: eigene Abbildung

58 50 KAPITEL 6. SYSTEMENTWURF eine Teildatenbank der Grabungsleiter nutzen, wird hier nur die Datenbank der Grabungsleiter beschrieben. Tabellen, die ebenfalls beim Grabungsassistenten zur Verfügung stehen müssen, werden als solche gekennzeichnet. Abbildung 6.11: ER-Modell für die Datenbank Quelle: eigene Abbildung Für die Anwendung müssen verschiedenen Daten in einer Datenbank gespeichert werden. Abb zeigt ein ER-Modell für die Datenbank. Als Ausgangsbasis für die Datenbank existieren zwei Entitäten mit grundlegenden Daten, eine für die Benutzer der Anwendung und eine für die Ausgrabungen. Jeder Benutzer erhält eine eindeutige Identikationsnummer, die ID. Zusätzlich wird der Benutzername sowie das Passwort für jeden Benutzer gespeichert. Das Feld Adminrechte weist einen Benutzer als übergreifenden Grabungsleiter aus und gibt ihm damit die Rechte, die Daten aus den Entitäten Benutzer und Ausgrabung, sowie der Entität Verwaltung, zu bearbeiten.

59 6.5. DATENHALTUNG 51 Für eine Ausgrabung wird ebenfalls eine eindeutige Identikationsnummer gespeichert. Zusätzlich erhält jede Ausgrabung eine Bezeichnung, den Ausgrabungsort sowie Beginnund Enddatum. Basierend auf diesen Tabellen enthalten die Entitäten Verwaltung, Befund und Zusammenhang weiterführende Informationen. Die Entität Verwaltung enthält alle Zuweisungen zwischen Benutzern und Ausgrabungen. Dabei kann ein Benutzer an keiner oder beliebig vielen Ausgrabungen beteiligt sein, auf einer Ausgrabung muss aber mindestens ein Benutzer arbeiten. Zusätzlich wird noch die Zeitspanne, in der ein Benutzer auf einer Grabung arbeitet, gespeichert, sowie seine Rolle bei der Ausgrabung (Grabungsassistent oder Grabungsleiter). Die Entität Befund enthält alle Befunde, die auf einer Ausgrabung frei gelegt werden. Hierbei ist ein Befund eindeutig einer Ausgrabung zugeordnet, es können aber mehrere Befunde auf einer Ausgrabung auftreten. Ein Befund hat auÿerdem genau einen Benutzer, von dem er bearbeitet wird. Ein Benutzer kann aber gleichzeitig an mehreren Befunden arbeiten. Zu jedem Befund müssen verschiedene Informationen gespeichert werden, dazu gehören eine Bezeichnung, die Maÿe des Befundes (Länge, Breite, Tiefe), sowie seine Datierung. Im Feld Ansprache können weitere Informationen, die für diesen Befund wichtig sind, gespeichert werden. Im Allgemeinen stehen die verschiedenen Befunde in Verbindung zueinander, dies wird in der Entität Zusammenhang festgehalten. Dabei kann ein Befund mit mehreren anderen Befunden im Zusammenhang stehen. Zusätzlich wird die Art der Verbindung festgehalten, möglich wären hier liegt über, liegt unter, schneidet, liegt neben oder liegt in. Der Entität Befunde untergeordnet sind diejenigen Entitäten, welche Daten enthalten, die einen Befund ergänzen. Dazu gehören Funde, Bodenproben oder Fotos. Jede dieser Entitäten besitzt eine Identikationsnummer, einen Verweis auf den Befund, zu dem sie gehört, sowie eine Bezeichnung. Dabei kann ein Befund keine bis beliebig viele dieser zusätzlichen Informationen besitzen.

60 Kapitel 7 Implementierung Nachdem die Anwendung im letzten Kapitel entworfen wurde, stellt diese Kapitel die wichtigsten Besonderheiten in der Implementierung vor. Dazu gehören die Erstellung von HTML-Seiten mittels JQuery Touch, die Verwendung von PhoneGap zur Kompilierung der Anwendung für eine bestimmte Plattform sowie die wichtigsten JavaScript Funktionen. 7.1 JQuery Touch Zur Entwicklung einer hybriden App muss zunächst ein Grundgerüst bestehend aus unterschiedlichen Webseiten mittels HTML erstellt werden. Dieses lässt sich anschlieÿend mit CSS an das Design des jeweiligen Smartphones anpassen. Das Framework JQuery Mobile bietet hierfür verschiedene Ressourcen, die das Erstellen der Webseiten erleichtern sollen. Um diese Ressourcen, bestehend aus verschiedenen JavaScript und CSS-Dateien, zu nutzen gibt es zwei verschiedene Möglichkeiten. Sie können entweder von der JQuery Mobile Homepage herunter geladen und lokal gespeichert, oder direkt, über Verweise auf die Homepage, eingebunden werden. Die erste Methode erlaubt die Oine-Nutzung der Dateien, verbraucht allerdings mehr Speicherplatz auf dem Gerät, da sie bei jeder Installation der Anwendung mit herunter geladen und auf dem Smartphone direkt gespeichert werden müssen. Die Dateien können anschlieÿend entsprechend Abb... in die HTML-Datei eingebunden werden. <l i n k r e l ="s t y l e s h e e t " h r e f="http :// code. jquery. com/ mobile / / jquery. mobile min. c s s " /> <s c r i p t s r c="http :// code. jquery. com/ jquery min. j s "> </s c r i p t > <s c r i p t s r c="http :// code. jquery. com/ mobile / / jquery. mobile min. j s "></s c r i p t > Nach dem Einbinden der Dateien erfolgt die Gestaltung der einzelnen Seiten. In HTML5 können mehrere Seiten innerhalb eines HTML5 Dokumentes erstellt werden. Für jede benötigte Seite wird ein <div>-tag mit dem Attribut data-role=page und einer ID angelegt. Über diese ID lassen sich die unterschiedlichen Seiten später ansprechen und verlinken. Die 52

61 7.2. PHONEGAP 53 Struktur innerhalb einer Seite kann mit den neuen HTML5-Elementen header, content und footer realisiert werden. Der folgende Codeausschnitt zeigt den beispielhaften Aufbau einer in HTML5 geschriebenen Seite. Das Design der einzelnen Elemente wird dabei durch JQuery Mobile anhand der vergebenen Attribute festgelegt. <div data r o l e ="page" i d="index"> <div data r o l e="header " data p o s i t i o n="f i x e d"> <h1>login </h1> </div> <div data r o l e="content"> <p> <l a b e l f o r="nutzername">nutzername</label > <input type="t e x t " name="nutzername" id="nutzername" value="" /> <l a b e l f o r="passwort">passwort </label > <input type="password" name="passwort " id="passwort " value="" /> <a h r e f ="" id="go" data r o l e="button " o n c l i c k="l o g i n ()">Login</a> </p> </div> <div data r o l e="f o o t e r " data p o s i t i o n="f i x e d"> <h1>navigation </h1> </div> </div> Eine Besonderheit von JQuery Mobile sind die Buttons. Diese werden hier als Links mit dem Attribut data-role=button eingebunden und können später mittels JavaScript mit Funktionalitäten belegt werden. Abb. zeigt einen Vergleich der Seite mit und ohne JQuery mobile. Nachdem das Grundgerüst mittels HTML erstellt wurde, kann PhoneGap genutzt werden, um die Anwendung in eine native App einzubetten. 7.2 PhoneGap Um PhoneGap zu nutzen muss zunächst die native Entwicklungsumgebung installiert werden. Anschlieÿend kann das PlugIn von der Homepage herunter geladen und in die Entwicklungsumgebung integriert werden. Eine genaue Beschreibung für die Einbindung in die verschiedenen Tools ist auf [Phob] zu nden. Das PlugIn besteht dabei aus verschiedenen Komponenten, die eine Webanwendung innerhalb einer nativen App in der sogenannten WebView darstellen. Hierfür können die zuvor erstellten HTML Dateien in den zugehörigen Ordner kopiert und durch weitere

62 54 KAPITEL 7. IMPLEMENTIERUNG Abbildung 7.1: Login-Seite ohne und mit eingebundenem JQuery mobile Quelle: eigene Abbildung Funktionen ergänzt werden. Insbesondere JavaScript Funktionen zum Nutzen der nativen Hard- und Software lassen sich hier einbinden. In der Anwendung zur Befunddokumentation müssen den Befunden mehrere Fotos hinzugefügt werden. Hierfür ist es nötig, dass die native Kamera angesprochen wird. Der Befehl für das ansprechen der Kamera lautet dabei wie folgt: navigator. camera. getpicture ( onsuccess, onfail, { q u a l i t y : 50, destinationtype : Camera. DestinationType. FILE_URI } ) ; Die Funktion camera.getpicture önet die native Kameraanwendung und lässt den Nutzer ein Foto schieÿen. Anschlieÿend wird die Anwendung geschlossen und die Speicheradresse des aufgenommenen Bildes an die Funktion obsuccess übergeben. PhoneGap bietet auf diese Weise Zugri auf die meisten nativen Hard- und Softwareelemente. Zur Speicherung der eingegebenen Daten ist das Anlegen einer Datenbank nötig. Dies wird in HTML5 ebenfalls mit Hilfe von JavaScript bewerkstelligt. Der erste Schritt hierbei ist das Önen der Datenbank. Dies geschicht mit Hilfe des folgendes Codes: var db = opendatabase ( ' befunddatenbank ', ' 1. 0 ', ' Datenbank zur Befunddokumentation ', 2 * 1024 * ); Der Befehl önet eine bereits bestehende oder erstellt eine neue Datenbank, abhängig davon, ob die angegebene Datenbank bereits existiert. Die Datenbank erhält dabei einen

Eine App, viele Plattformen

Eine App, viele Plattformen Eine App, viele Plattformen Anwendungsentwicklung für Mobile Heiko Lewandowski 23.04.2013 EINLEITUNG Festlegung App-Strategie: Welche Ziele möchte ich erreichen? Die Vielzahl der Plattformen und Geräte(hersteller)

Mehr

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap

Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Cross-Platform Apps mit HTML5/JS/CSS/PhoneGap Proseminar Objektorientiertes Programmieren mit.net und C# Florian Schulz Institut für Informatik Software & Systems Engineering Einführung Was hat Cross-Plattform

Mehr

Mobile: Die Königsfrage

Mobile: Die Königsfrage Mobile: Die Königsfrage - Native App,Mobile Website oder doch Responsive Design? - Native App oder Mobile Website? Wer am Boom der mobilen Anwendungen teilhaben möchte, hat im Prinzip zwei Möglichkeiten:

Mehr

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint

Unterscheidung Tablet PC & Tablet Computer. Tablet PC; ursprüngliche Bezeichnung von Microsoft. Tablets gemeint Überblick Unterscheidung Tablet PC & Tablet Computer Tablet PC; ursprüngliche Bezeichnung von Microsoft Mit Tablet Computer sind die heutigen gängigen Mit Tablet Computer sind die heutigen gängigen Tablets

Mehr

Präsentation Von Laura Baake und Janina Schwemer

Präsentation Von Laura Baake und Janina Schwemer Präsentation Von Laura Baake und Janina Schwemer Gliederung Einleitung Verschiedene Betriebssysteme Was ist ein Framework? App-Entwicklung App-Arten Möglichkeiten und Einschränkungen der App-Entwicklung

Mehr

Mobile Kartenanwendungen im Web oder als App?

Mobile Kartenanwendungen im Web oder als App? Mobile Kartenanwendungen im Web oder als App? Agenda Anforderungen an eine mobile Kartenanwendung Warum mobile Anwendungen? Mobil ist nicht genug! Knackpunkte bei der Entwicklung mobiler Kartenanwendungen

Mehr

CouchCommerce Online-Shops für Tablet Besucher optimieren, aber wie?

CouchCommerce Online-Shops für Tablet Besucher optimieren, aber wie? CouchCommerce Online-Shops für Tablet Besucher optimieren, aber wie? Wie Tablets die Post PC Commerce Ära einleiten Sie finden ein Video dieser Präsentation unter http://blog.couchcommerce.com/2012/06/03/couchcommerce-impressions-andvideo-from-the-shopware-community-day-2012/

Mehr

App-Entwicklung mit Titanium

App-Entwicklung mit Titanium Masterstudienarbeit Betreuung Prof. Dr. M. von Schwerin 1 Gliederung 1.Motivation 2.Aufgabenstellung 3.Projektbeschreibung 4.Projektstatusbericht 5.Fazit und Ausblick 2 1.Motivation Verbreitung von Smartphones

Mehr

VDLUFA-Schriftenreihe 1

VDLUFA-Schriftenreihe 1 VDLUFA-Schriftenreihe 1 Wie viele Apps sind ein LIMS? J. Flekna Pragmatis GmbH, Neufahrn 1. Einleitung Seitdem mobile Endgeräte massentauglich sind, ist die Bezeichnung App fester Bestandteil unseres zeitgeistigen

Mehr

JavaScript Frameworks für Mobile

JavaScript Frameworks für Mobile JavaScript Frameworks für Mobile MoBI Expertenrunde Usability, 1. März 2012 doctima GmbH JavaScript Frameworks für Mobile MoBI 1.3.2012 Edgar Hellfritsch Inhalt Native App-Entwicklung Klassische Web-Entwicklung

Mehr

Mobile Applications. Adrian Nägeli, CTO bitforge AG

Mobile Applications. Adrian Nägeli, CTO bitforge AG Mobile Applications Adrian Nägeli, CTO bitforge AG Inhalt Vorstellung Marktübersicht Entwicklung Adrian Nägeli Dipl. Inf.-Ing FH Seit 2005 bei bitforge bitforge AG Standort Rapperswil-Jona Gründung 2004

Mehr

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme Smartphone - Betriebssysteme Peter Rami - Graz, 28.04.2009 Inhalt Smartphone Symbian OS Windows Mobile BlackBerry OS iphone OS Android Marktanteile & Ausblick Smartphone - Betriebssysteme Peter Rami -

Mehr

AM BeIsPIel Der DAsInvestMent.coM MoBIl WeB APP

AM BeIsPIel Der DAsInvestMent.coM MoBIl WeB APP AM BeIsPIel Der DAsInvestMent.coM MoBIl WeB APP 2 Inhalt Warum ist es sinnvoll eine spezielle Applikation für mobile Geräte zu entwickeln? Seite 5 Welche Möglichkeiten der Umsetzung gibt es? 6 Mobile Applikation

Mehr

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann

App Entwicklung mit Hilfe von Phonegap. Web Advanced II - SS 2012 Jennifer Beckmann App Entwicklung mit Hilfe von Phonegap Web Advanced II - SS 2012 Jennifer Beckmann http://www.focus.de/digital/internet/netzoekonomie-blog/smartphone-googles-android-laeuft-konkurrenz-in-deutschland-davon_aid_723544.html

Mehr

Plattformen mobiler Endgeräte Windows Phone, ios, Android

Plattformen mobiler Endgeräte Windows Phone, ios, Android Plattformen mobiler Endgeräte Windows Phone, ios, Android 13.12.2012 Inhaltsverzeichnis 1. Einführung 2. Ecosystem Smartphone OS 3. Mobile Software Platform 4. Android App Entwicklung 5. Zusammenfassung

Mehr

C++ und mobile Plattformen

C++ und mobile Plattformen Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) C++ und mobile Plattformen Mit diesem Artikel möchte ich euch einen kurzen Überblick über die verschiedenen Plattformen für

Mehr

Architekturen mobiler Multi Plattform Apps

Architekturen mobiler Multi Plattform Apps Architekturen mobiler Multi Plattform Apps Wolfgang Maison & Felix Willnecker 06. Dezember 2011 1 Warum Multi- Plattform- Architekturen? Markt. Apps für Smartphones gehören zum Standardinventar jeder guten

Mehr

Geschäftsbereich Mobile Services Was ist Android?

Geschäftsbereich Mobile Services Was ist Android? Geschäftsbereich Mobile Services Was ist Android? Hinter Hoben 149 53129 Bonn www.visionera.de Ansprechpartner: Arno Becker arno.becker@visionera.de +49 228 555 1111 +49 160 98965856 Einleitung Android

Mehr

Use Cases, Mockups, Prototyping Von der Idee zur App

Use Cases, Mockups, Prototyping Von der Idee zur App Use Cases, Mockups, Prototyping Von der Idee zur App Dipl.-Päd. Sandro Mengel 08. November 2012 The Beginning: Idee & Fragestellungen Eine App... für welche Zielgruppe? mit welchen Inhalten oder Features?

Mehr

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011

Workshop I. Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation. 7. Juni 2011 Workshop I Technische Differenzierung mobiler Kommunikationslösungen am Beispiel NPO/NGO Kommunikation 7. Juni 2011 Übersicht è Native Apps è Web-Apps è Mobile Websites è Responsive Design Mobile Kommunikation

Mehr

1 Entwickeln mit PhoneGap

1 Entwickeln mit PhoneGap 1 1.1 Das Cross-Plattform-Problem Bevor ich mit Ihnen in die praktische Entwicklung einsteige, möchte ich Ihnen von einem kurzen Gespräch berichten, das sich vor einiger Zeit in der IT-Abteilung eines

Mehr

Lauter nützliche Apps!? Was sind Apps, und wie werden diese entwickelt?

Lauter nützliche Apps!? Was sind Apps, und wie werden diese entwickelt? Lauter nützliche Apps!? Was sind Apps, und wie werden diese entwickelt? Prof. Dr. Jörg R. Weimar, Fakultät Informatik 1 Smartphones Anwendungen Apps Prof. Dr. Jörg R. Weimar Wolfenbüttel Fakultät Informatik

Mehr

Entwicklung und Integration mobiler Anwendungen. Oracle Deutschland B.V. & Co. KG

Entwicklung und Integration mobiler Anwendungen. <Speaker> Oracle Deutschland B.V. & Co. KG Entwicklung und Integration mobiler Anwendungen Oracle Deutschland B.V. & Co. KG Global Users (Millions) Der Trend ist eindeutig. Trend zu mobilen Endgeräten Wachstum des mobilen Datenverkehrs

Mehr

Christian Immler. Der Crashkurs für Android, und Windows Phone. Mit 309 Abbildungen

Christian Immler. Der Crashkurs für Android, und Windows Phone. Mit 309 Abbildungen Christian Immler Der Crashkurs für Android, und Windows Phone Mit 309 Abbildungen Inhaltsverzeichnis 1 - die Großen Drei 9 1.1 Kultspielzeuge für jedermann 10 1.2 Android: der Herausforderer 11 1.2.1 Die

Mehr

Glossar. Launching auf.

Glossar. Launching auf. 243 Ad Hoc Distribution Die Ad Hoc Distribution ist eine Möglichkeit, um Ihre entwickelte Anwendung auf anderen Endgeräten zu verteilen. Diese Art der Verteilung erfolgt ohne den App Store. Die Anzahl

Mehr

Mobile Application Plattforms

Mobile Application Plattforms Mobile Application Plattforms Trends in der Kommunikationstechnik DI Franz Geischläger Agenda Mobile Applications Allgemeine Betrachtung Mobile Betriebssysteme und Plattformen Die wichtigsten Vertreter

Mehr

Autorensysteme für mobile Anwendungen - Totgesagte leben länger. Prof. Dr. Michael Bauer 25.10. 2012 Autorensysteme

Autorensysteme für mobile Anwendungen - Totgesagte leben länger. Prof. Dr. Michael Bauer 25.10. 2012 Autorensysteme Autorensysteme für mobile Anwendungen - Totgesagte leben länger Was ist, was will ein Autor? Produzent interaktiver, multimedialer Inhalte geschlossene Einheiten (Apps) keine Grenzen für Kreativität Entwicklungs-

Mehr

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch

iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch iphone developer conference Die Entwickler- und Buiness- Konferenz für iphone, ipad und ipod touch ios - Wo steht es, wie geht es? Markus Stäuble MRM Worldwide GmbH 1 Feedback #ipdc10 #as 2 Agenda 3 Heute:

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer Markus Urban.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform

Mehr

TM1 mobile intelligence

TM1 mobile intelligence TM1 mobile intelligence TM1mobile ist eine hochportable, mobile Plattform State of the Art, realisiert als Mobile BI-Plug-In für IBM Cognos TM1 und konzipiert als Framework für die Realisierung anspruchsvoller

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

Wie macht man Apps? Und warum überhaupt? Dr. Volker Redder, i2dm GmbH

Wie macht man Apps? Und warum überhaupt? Dr. Volker Redder, i2dm GmbH Wie macht man Apps? Und warum überhaupt? Dr. Volker Redder, i2dm GmbH Was sind Apps und warum sind sie so in aller Munde? App (die, das) Der Begriff App (von der englischen Kurzform für application )

Mehr

Falko Braune Präsentation - Hauptseminar Web Engineering Professur Verteilte und selbstorganisierende Rechnersysteme Technische Universität Chemnitz

Falko Braune Präsentation - Hauptseminar Web Engineering Professur Verteilte und selbstorganisierende Rechnersysteme Technische Universität Chemnitz Falko Braune Präsentation - Hauptseminar Web Engineering Professur Verteilte und selbstorganisierende Rechnersysteme Technische Universität Chemnitz - 19.12.2012 1. Einleitung 2. Technologie 3. Bewertung

Mehr

Ihr IT-Dienstleister aus Bonn

Ihr IT-Dienstleister aus Bonn Ihr IT-Dienstleister aus Bonn Wer wir sind Sie sind auf der Suche nach einem Partner, der Sie bei der technischen Umsetzung Ihrer Online-Projekte zuverlässig und kompetent unterstützt? Wer wir sind Die

Mehr

E-Books produzieren und publizieren

E-Books produzieren und publizieren E-Books produzieren und publizieren Bruno Wenk Hochschule für Technik und Wirtschaft HTW Chur Leipzig, 24. Oktober 2012 Seite 1 Ziel Mit kostenlosen Programmen ein E-Book im Format EPUB (2.01) realisieren

Mehr

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit

IT-basierte Erstellung von Nachhaltigkeitsberichten. Diplomarbeit IT-basierte Erstellung von Nachhaltigkeitsberichten Diplomarbeit zur Erlangung des Grades eines Diplom-Ökonomen der Wirtschaftswissenschaftlichen Fakultät der Leibniz Universität Hannover vorgelegt von

Mehr

iphone Apps vs. Mobile Web

iphone Apps vs. Mobile Web iphone Apps vs. Mobile Web Smartphone-Anwendungen im Museumsbereich Vortrag iphone App vs. Mobile Web von Ines Dorian Gütt auf der Herbsttagung 2010 Seite 1/27 Inhalt Einführung iphone Apps Apps in itunes

Mehr

Android, ios und Windows Phone dominieren zurzeit den Markt für mobile Firmware, wesentlich kleiner ist der Marktanteil von Blackberry OS10.

Android, ios und Windows Phone dominieren zurzeit den Markt für mobile Firmware, wesentlich kleiner ist der Marktanteil von Blackberry OS10. Zahlen und Fakten. Firmware Mit Firmware wird bei mobilen Endgeräten der Anteil des Betriebssystems bezeichnet, der auf die Hardware in dem Gerät angepasst ist und mit dem Gerät durch Laden in einen Flash-Speicher

Mehr

Vergleichsstudie zur Entwicklung von mobilen Applikationen auf der Basis von Android, ios und HTML5

Vergleichsstudie zur Entwicklung von mobilen Applikationen auf der Basis von Android, ios und HTML5 Vergleichsstudie zur Entwicklung von mobilen Applikationen auf der Basis von Android, ios und HTML5 Impressum Herausgeber: Bader&Jene Software-Ingenieurbüro GmbH Schauenburgerstrasse 116 D-24118 Kiel Tel:

Mehr

Responsive Design & ecommerce

Responsive Design & ecommerce Responsive Design & ecommerce Kassel, 15.02.2014 web n sale GmbH Jan Philipp Peter Was bisher geschah Was bisher geschah oder: Die mobile Evolution früher : - Lokale Nutzung - Zuhause oder im Büro - Wenige

Mehr

Dr. Holger Eichelberger

Dr. Holger Eichelberger SchülerInnen-Uni 2015 Dr. Holger Eichelberger eichelberger@sse.uni-hildesheim.de Inhalt 1. Wer ist das? 1 2. Was ist ein Smartphone? 3 3. Wie entwickelt man für Smartphones? 7 4. Wie bauen wir die App?

Mehr

Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung

Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung iks Thementag Mobile Applikationen Es lebe die Vielfalt?! 18.06.2013 Autor: Jan Laußmann Agenda Warum Cross-Plattform entwickeln? Hybrid

Mehr

Inhaltsverzeichnis. Ralph Steyer. Apps mit PhoneGap entwickeln. Universelle Web-Apps plattformneutral programmieren. ISBN (Buch): 978-3-446-43510-0

Inhaltsverzeichnis. Ralph Steyer. Apps mit PhoneGap entwickeln. Universelle Web-Apps plattformneutral programmieren. ISBN (Buch): 978-3-446-43510-0 sverzeichnis Ralph Steyer Apps mit PhoneGap entwickeln Universelle Web-Apps plattformneutral programmieren ISBN (Buch): 978-3-446-43510-0 ISBN (E-Book): 978-3-446-43543-8 Weitere Informationen oder Bestellungen

Mehr

IT-Sicherheit mobiler Applikationen zur Unterstützung von Geschäftsprozessen. Bachelorarbeit

IT-Sicherheit mobiler Applikationen zur Unterstützung von Geschäftsprozessen. Bachelorarbeit IT-Sicherheit mobiler Applikationen zur Unterstützung von Geschäftsprozessen Bachelorarbeit zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft der

Mehr

Bin ich fit für myconvento?

Bin ich fit für myconvento? Bin ich fit für myconvento? Sie planen den Einsatz unserer innovativen Kommunikationslösung myconvento und fragen sich gerade, ob Ihr Rechner die Anforderungen erfüllt? Hier erfahren Sie mehr. Inhalt Was

Mehr

Mobile Enterprise Application Platforms

Mobile Enterprise Application Platforms Mobile Enterprise Application Platforms 17. April 2013 Fachbereich Wirtschaft und Gesundheit Prof. Dr. Volker Wiemann volker.wiemann@fh bielefeld.de +49 (0) 521/106 389 Problem 0. Ausgangslage Blackberry

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Web und Mobile Apps Programmieren mit Dart

Web und Mobile Apps Programmieren mit Dart Web und Mobile Apps Programmieren mit Dart Marco Jakob Kalaidos Fachhochschule Schweiz majakob@gmx.ch Abstract: Bisher war es kaum realistisch, im Anfängerunterricht mobile oder webbasierte Applikationen

Mehr

Einleitung. 1.1 Für wen ist dieses Buch geeignet? 4 1.2 Für wen ist dieses Buch eher nicht geeignet? 5 1.3 Was erwartet Sie in diesem Buch?

Einleitung. 1.1 Für wen ist dieses Buch geeignet? 4 1.2 Für wen ist dieses Buch eher nicht geeignet? 5 1.3 Was erwartet Sie in diesem Buch? Einleitung 1.1 Für wen ist dieses Buch geeignet? 4 1.2 Für wen ist dieses Buch eher nicht geeignet? 5 1.3 Was erwartet Sie in diesem Buch? 6 2 1 Einleitung Digitale Magazine gibt es schon seit ein paar

Mehr

re-lounge GmbH MEDIENBÜRO

re-lounge GmbH MEDIENBÜRO re-lounge GmbH MEDIENBÜRO Think mobile: Die Bedeutung des mobilen Web für Unternehmen 26. JANUAR 2013 01 Ansprechpartner Oliver Schmitt // Geschäftsführer der re-lounge GmbH oliver.schmitt@re-lounge.com

Mehr

Mobile Apps mit DSLs. und entfernter Codegenerierung. Codierst Du noch oder generierst Du schon? Powered by

Mobile Apps mit DSLs. und entfernter Codegenerierung. Codierst Du noch oder generierst Du schon? Powered by Mobile Apps mit DSLs C1 und entfernter Codegenerierung Codierst Du noch oder generierst Du schon? Generative Software GmbH Freiburg Inhalt Plattformabhängige Entwicklung JavaScript Firefox OS Java Android

Mehr

Bring Your Own Device in der Industrie

Bring Your Own Device in der Industrie Bring Your Own Device in der Industrie Geht das wirklich? 27.05.2014 Thomas Sorg BERNER & MATTNER Überblick BERNER & MATTNER Systemtechnik GmbH ASSYSTEM Founded: 1979 Employees: 450 Headquarters: Munich,

Mehr

LaVida. Mobile Endgeräte. Andreas Neupert

LaVida. Mobile Endgeräte. Andreas Neupert LaVida Mobile Endgeräte Andreas Neupert Einleitung 1 33 Was? 1) Android a. Hardware b. Entwickeln i. Tools ii. Architektur & Konzepte iii. Google App Inventor c. Benutzen versus 2) WP 7 a. Hardware b.

Mehr

Virales Marketing mit Smartphones. Jens Doose - Onwerk GmbH 05.11.2010

Virales Marketing mit Smartphones. Jens Doose - Onwerk GmbH 05.11.2010 Virales Marketing mit Smartphones Jens Doose - Onwerk GmbH 05.11.2010 Über Onwerk Was ist ein Smartphone? Eigene Inhalte auf dem Telefon Statistiken Virales Marketing Mobiles virales Marketing Beispiel

Mehr

APPS ALS MARKETINGINSTRUMENT NUTZEN

APPS ALS MARKETINGINSTRUMENT NUTZEN APPS ALS MARKETINGINSTRUMENT NUTZEN Die Tendenz, mobile Endgeräte als Marketing- Plattform zu nutzen ist steigend. Laut einer Umfrage des Bundesverbandes Digitale Wirtschaft e.v. (BVDW) erwarten Beschäftigte

Mehr

SAP Mobile Platform MÜNSTER 10.04.2013. best practice consulting Aktiengesellschaft Raboisen 32 20095 Hamburg T +49 40 303752-0 F +49 40 303752-77

SAP Mobile Platform MÜNSTER 10.04.2013. best practice consulting Aktiengesellschaft Raboisen 32 20095 Hamburg T +49 40 303752-0 F +49 40 303752-77 MÜNSTER 10.04.2013 SAP Mobile Platform best practice consulting Aktiengesellschaft Raboisen 32 20095 Hamburg T +49 40 303752-0 F +49 40 303752-77 E info@bpc.ag W www.bpc.ag Seite 1 18.04.2013 Agenda Einleitung

Mehr

SIEBEL OPEN UI. Rhein-Main-Handel GmbH. Bankhaus Goldbaum GmbH & Co. KG. Standort: Düsseldorf. Standort: Frankfurt ilum:e informatik ag

SIEBEL OPEN UI. Rhein-Main-Handel GmbH. Bankhaus Goldbaum GmbH & Co. KG. Standort: Düsseldorf. Standort: Frankfurt ilum:e informatik ag SIEBEL OPEN UI Rhein-Main-Handel GmbH Standort: Düsseldorf Bankhaus Goldbaum GmbH & Co. KG ilum:e informatik ag Standort: Mainz Forschungszentrum Medizin Internationale Telecom AG Chemielabor GmbH Standort:

Mehr

Embedded Systems Ausgewählte Themen (ES-M)

Embedded Systems Ausgewählte Themen (ES-M) Embedded Systems Ausgewählte Themen (ES-M) Beuth-Hochschule WS 2010 Oliver Lietz Dipl.-Ing. Oliver Lietz Mobile Software Überblick Themenvorschlag Virtuelles Studio Mobile Plattformen Übersicht Themenvorschlag

Mehr

greenpaper 13. mobile apps am hype partizipieren.

greenpaper 13. mobile apps am hype partizipieren. Marken und Märkte aktivieren. Mit emotionaler Intelligenz als Basis exzellenter Ideen, die durchschlagend Erfolg versprechen com Icons 2011 24 Themen um die Sie sich für nächstes Jahr kümmern sollten greenpaper

Mehr

Ein mobiler Electronic Program Guide für Android

Ein mobiler Electronic Program Guide für Android Whitepaper Telekommunikation Ein mobiler Electronic Program Guide für Android Prototyp für Android Apps 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller Munde. Durch

Mehr

Mobile App Testing. Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013. Functional Test Automation Tools

Mobile App Testing. Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013. Functional Test Automation Tools Functional Test Automation Tools Mobile App Testing Software Test im mobilen Umfeld ATB Expertentreff, Wien, 2013 Presenter: Christoph Preschern (cpreschern@ranorex.com) Inhalte» Ranorex Company Overview»

Mehr

COSYNUS Enterprise Mobility 2012 Produktstrategie Lösungen für Unternehmenskunden

COSYNUS Enterprise Mobility 2012 Produktstrategie Lösungen für Unternehmenskunden COSYNUS Enterprise Mobility 2012 Produktstrategie Lösungen für Unternehmenskunden Michael Reibold, Geschäftsführer 3. COSYNUS Partner Roadshow 2011 Silber-Sponsor 3. COSYNUS Partner Roadshow 2011 Bronze-Sponsoren

Mehr

PC-Schule für Senioren. Windows Phone. für Einsteiger

PC-Schule für Senioren. Windows Phone. für Einsteiger PC-Schule für Senioren Windows Phone für Einsteiger INHALT 7 IHR WINDOWS PHONE 7 Aus grauer Vorzeit: Die Historie 8 Windows Phone und die Konkurrenz 11 Los geht s: Das Microsoft-Konto 15 Ein Gang um das

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Mobile Apps: Was verbirgt sich hinter dem Hype?

Mobile Apps: Was verbirgt sich hinter dem Hype? Mobile Apps: Was verbirgt sich hinter dem Hype? Dr. Karl Rehrl Salzburg Research Forschungsgesellschaft mbh Mobile Apps The Big Picture Vom Mainframe zum unsichtbaren Computer (Weiser & Brown, 1998) MAINFRAME

Mehr

1. Java Grundbegriffe

1. Java Grundbegriffe 1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine

Mehr

Programmierung mobiler Geräte

Programmierung mobiler Geräte Programmierung mobiler Geräte SoSe 2015 Hybride Apps Markus Berg Hochschule Wismar Fakultät für Ingenieurwissenschaften Bereich Elektrotechnik und Informatik http://mmberg.net 2 Letzte Woche: Webapps Nativ

Mehr

Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung

Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung In 2015 werden mehr Tablet-Computer verkauft werden als Desktopund tragbare Computer zusammen Quelle: IDC, Mai 2013 Aufgrund der

Mehr

Moderne Benutzeroberflächen für SAP Anwendungen

Moderne Benutzeroberflächen für SAP Anwendungen Seite 1 objective partner für SAP Erfahrungen mit dem UI-Development Kit für HTML5 (SAPUI5) - 19.06.2012 Seite 2 Quick Facts objective partner AG Die objective partner AG 1995 gegründet mit Hauptsitz in

Mehr

Unternehmensportfolio

Unternehmensportfolio Unternehmensportfolio Was wir machen: Cross Plattform Mobile Applications Beispiel ansehen Was wir machen: HTML5 & CSS3 basierte Web Applikationen Beispiel ansehen Was wir machen: Windows 8 & Windows Mobile

Mehr

Trends im Mobile Marketing Theater und Netz, 3.5.2014, Berlin

Trends im Mobile Marketing Theater und Netz, 3.5.2014, Berlin Trends im Mobile Marketing Theater und Netz, 3.5.2014, Berlin Heike Scholz Herausgeberin Autorin Speakerin Dozentin Mobile Business Consultant >20 Jahre Berufserfahrung 2005 2013 Smartphones sind zentrales

Mehr

Einführung in Betriebssysteme

Einführung in Betriebssysteme Einführung in Betriebssysteme APPLE ios Entwicklung von ios Entwickelt auf der Basis von MacOS X UNIX Vorgestellt am 9.1.2007 Zusammen mit iphone Markenname von Cisco Internetwork Operating System Für

Mehr

Praxisbericht Mobile Publishing. Willkommen in der Welt der Publikationen! seit 1799

Praxisbericht Mobile Publishing. Willkommen in der Welt der Publikationen! seit 1799 Praxisbericht Mobile Publishing Willkommen in der Welt der Publikationen! seit 1799 Inhalte Entwicklung, Geräte, Markt, Nutzung Publikationswege für Tablet-PC Demonstrationen, Beispiele Mobile Publishing

Mehr

mach parat Lichtstraße 38 50825 Köln www.mach-parat.de Apps für Smartphones Portfolio

mach parat Lichtstraße 38 50825 Köln www.mach-parat.de Apps für Smartphones Portfolio mach parat Lichtstraße 38 50825 Köln www.mach-parat.de Portfolio Einleitung Unter Apps (von Applikationen) versteht man heutzutage im Allgemeinen moderne Anwendungsprogramme, insbesondere für Smartphones

Mehr

Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung

Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung Möglichkeiten, Vorteile und Grenzen der Cross-Plattform-Entwicklung iks Thementag Mobile Applikationen Es lebe die Vielfalt?! 20.11.2012 Autor: Jan Laußmann Agenda Warum Cross-Plattform entwickeln? Hybrid

Mehr

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung in die Cross-Plattform Entwicklung Das Intel App Framework Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel App Framework vom Intel XDK vertraut. Es wird Schritt für Schritt

Mehr

Programmieren für iphone und ipad

Programmieren für iphone und ipad Markus Stäuble Programmieren für iphone und ipad Einstieg in die App-Entwicklung für das ios 4 3., aktualisierte und erweiterte Auflage dpunkt.verlag 1 Einleitung 1 1.1 Begriffe 2 1.2 Was behandelt dieses

Mehr

Mobile Commerce: Wie Sie den mobilen Shopper erfolgreich abholen. digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München!

Mobile Commerce: Wie Sie den mobilen Shopper erfolgreich abholen. digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München! Mobile Commerce: Wie Sie den mobilen Shopper erfolgreich abholen digitalmobil GmbH & Co. KG - Bayerstr. 16a - 80335 München! Agenda 1. digitalmobil: Wer wir sind 2. Mobiles Internet und Mobile Commerce:

Mehr

Robert R. Agular Thomas Kobert. 5. Auflage HTML. Inklusive CD-ROM

Robert R. Agular Thomas Kobert. 5. Auflage HTML. Inklusive CD-ROM Robert R. Agular Thomas Kobert 5. Auflage HTML Inklusive CD-ROM 1 HTML Mehr als nur ein paar Buchstaben Bevor wir mit dem Erstellen unserer ersten Webseite anfangen, solltest du wissen, was HTML überhaupt

Mehr

Mobile Software. Oliver Lietz Dipl.-Ing. Oliver Lietz Mobile Software. 2.Termin. Weitere Plattformen Einrichtung Entwicklungsumgebungen

Mobile Software. Oliver Lietz Dipl.-Ing. Oliver Lietz Mobile Software. 2.Termin. Weitere Plattformen Einrichtung Entwicklungsumgebungen Mobile Software Ausgewählte Themen Software (ATS) Beuth-Hochschule SS 2010 Oliver Lietz Dipl.-Ing. Oliver Lietz Mobile Software 2.Termin Plattformen Einführung Android Einführung iphone Blog: http://bht.mobilecoders.de

Mehr

Start in s Mobile Business

Start in s Mobile Business Start in s Mobile Business Seite 2 von 12 Inhalt 1....Mobile Business 3 2.... Mobile Webseiten 4 3.... Web Apps 5 4.... Native Entwicklung von ios Apps 6 5.... Native Entwicklung von Android Apps 7 6....

Mehr

Einbindung von Web Services in mobilen Applikationen

Einbindung von Web Services in mobilen Applikationen Einbindung von Web Services in mobilen Applikationen Vorlesung im Sommersemester 2015 1 Aufgabenbeschreibung 2 Aufgabe 1 Entwickeln Sie auf der Basis eines oder mehrerer von Ihnen gewählten Webservices

Mehr

Mobiles Marketing mit Smartphone Apps

Mobiles Marketing mit Smartphone Apps Mobiles Marketing mit Smartphone Apps 18. Juni 2012 Jens Doose, Onwerk GmbH Wer bin ich? Jens Doose Geschäftsführer der Onwerk GmbH 10 Jahren Software aus Ideen Server, PC, Smartphone-Apps Beratung, Konzeption,

Mehr

WEBAPPS MEDIEN ZWISCHEN TECHNOLOGIE UND GESELLSCHAFT PROF. DR. MANFRED THALLER JONAS SCHOPHAUS UNI KÖLN WS 2012

WEBAPPS MEDIEN ZWISCHEN TECHNOLOGIE UND GESELLSCHAFT PROF. DR. MANFRED THALLER JONAS SCHOPHAUS UNI KÖLN WS 2012 WEBAPPS MEDIEN ZWISCHEN TECHNOLOGIE UND GESELLSCHAFT PROF. DR. MANFRED THALLER JONAS SCHOPHAUS UNI KÖLN WS 2012 AGENDA 1. Native versus webbasierte Apps 2. HTML5 & CSS3 1. Media Queries 2. Geolocation

Mehr

NEXT GENERATION MOBILE PHONE PLATFORMS

NEXT GENERATION MOBILE PHONE PLATFORMS Stephan Zeisberg NEXT GENERATION MOBILE PHONE PLATFORMS Ein Einblick in die Systemarchitekturen aktueller Smartphones 1 Motivation Technologischer Stillstand in der Entwicklung mobiler Betriebssysteme

Mehr

Perspektiven: Spiele in ios

Perspektiven: Spiele in ios Perspektiven: Spiele in ios Universität zu Köln Historisch Kulturwissenschaftliche Informationsverarbeitung SS 2012 Reusable Content in 3D und Simulationssystemen Dozent: Prof. Dr. Manfred Thaller Referent:

Mehr

Allgemeine Informationen Slides2Go Stand April 2015

Allgemeine Informationen Slides2Go Stand April 2015 Allgemeine Informationen Slides2Go Stand April 2015 1. ALLGEMEINE INFORMATIONEN... 3 1.1 SYSTEMANFORDERUNGEN WEB-BACKEND... 3 1.2 SYSTEMANFORDERUNGEN FRONTEND / APP... 3 1.3 UNTERSTÜTZTE DATEIFORMATE...

Mehr

BRAND APPS WHITEPAPER MOBILE MARKEN- UND KUNDENBINDUNG

BRAND APPS WHITEPAPER MOBILE MARKEN- UND KUNDENBINDUNG ... BRAND APPS WHITEPAPER MOBILE MARKEN- UND KUNDENBINDUNG Was sind Apps? Wann braucht ein Unternehmen eine App - wann sollte es darauf verzichten? Wie viel kostet die Programmierung einer mobilen Applikation?

Mehr

AppMachine. Einfach Bausteine kombinieren THE NEXT STEP IN APP BUILDING. Bauen Sie Ihre eigenen Apps. iphone & Android. 100% native Apps.

AppMachine. Einfach Bausteine kombinieren THE NEXT STEP IN APP BUILDING. Bauen Sie Ihre eigenen Apps. iphone & Android. 100% native Apps. AppMachine.com AppMachine THE NEXT STEP IN APP BUILDING Einfach Bausteine kombinieren Nutzen Sie 24 verschiedene Komponenten, um Ihre App zu bauen. Bauen Sie Ihre eigenen Apps. Ohne Programmierkenntnisse.

Mehr

Programmieren im Web 2.x

Programmieren im Web 2.x Programmieren im Web 2.x Ein Überblick über die Webentwicklung im Jahre 2011 Johannes Leers 26. März 2012 1 Motivation 2 Web-Frameworks 3 Mobile Computing 4 WebGL 5 Cloud Computing 6 Fazit Native Programme

Mehr

Mobile App Solutions. creative workline GmbH Eldenaer Straße 60 10247 Berlin Friedrichshain www.creativeworkline.com

Mobile App Solutions. creative workline GmbH Eldenaer Straße 60 10247 Berlin Friedrichshain www.creativeworkline.com Mobile App Solutions nt aus n auch beka creative workline GmbH Eldenaer Straße 60 10247 Berlin Friedrichshain www.creativeworkline.com Ihr Anspruch ist unsere Energie VISION Unsere Vision als Mobile App

Mehr

INFOnline SZM Integration Guide Alternativlösung Messung hybrider APPs

INFOnline SZM Integration Guide Alternativlösung Messung hybrider APPs INFOnline SZM Mobile Applications INFOnline SZM Integration Guide Alternativlösung Messung hybrider APPs INFOnline GmbH Forum Bonn Nord Brühler Str. 9 53119 Bonn Tel.: +49 (0) 228 / 410 29-77 Fax: +49

Mehr

SMARTPHONE SECURITY. Sichere Integration mobiler Endgeräte

SMARTPHONE SECURITY. Sichere Integration mobiler Endgeräte Sichere Integration mobiler Endgeräte ÜBERSICHT PROFI MOBILE SERVICES.mobile PROFI Mobile Business Agenda Workshops Themen Business Case Design Business Case Zielgruppe / -markt Zielplattform BPM fachlich

Mehr

Walkabout: Location Based Services mit Android und dem Google Phone

Walkabout: Location Based Services mit Android und dem Google Phone Walkabout: Location Based Services mit Android und dem Google Phone Teilbereich 1: Die Android Plattform für mobile Geräte (Software) Von: Sebastian Schul Inhalt Einleitung Was ist Android Exkurs: Wie

Mehr

App-Entwicklung für Android

App-Entwicklung für Android App-Entwicklung für Android Einleitung - Systemarchitektur Hochschule Darmstadt WS15/16 1 Inhalt Historie Systemarchitektur Sandbox 2 Motivation Kontra Pro Limitierte Größe Begrenzte Ressourcen Kein Standardgerät

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

Datenhaltung für Android. Model First

Datenhaltung für Android. Model First Datenhaltung für Android Model First Frederik Götz, Johannes Tysiak 26.05.2011 Unser Ziel! 26.05.2011 Datenhaltung in Android - Model First» Frederik Götz, Johannes Tysiak 2 Agenda Android Quickstart Datenhaltung

Mehr

Mobile Business - Abschlussarbeit

Mobile Business - Abschlussarbeit Mobile Business - Abschlussarbeit Anbei findet ihr meinen Abschlussbeitrag zur gestellten Frage: "Was ist für mich Mobile Business?" Mobile Business ein Trend der nicht mehr wegzudenken ist Mobile Business

Mehr

FileMaker Go Alternativen

FileMaker Go Alternativen Thomas Hahn @ walkingtoweb.com Thomas Hahn @ walkingtoweb.com Programmierung mit Basic und C++ ab 1987 FileMaker Pro Entwicklung seit 1992 (FileMaker Pro 2.1) Weblösungen seit 1993 Entwicklung von komplexen

Mehr

U.motion. U.motion Control. Technisches Handbuch. Control-App für ios-geräte. 04/2014 Version 1.0.1. www.merten.com

U.motion. U.motion Control. Technisches Handbuch. Control-App für ios-geräte. 04/2014 Version 1.0.1. www.merten.com U.motion U.motion Control Control-App für ios-geräte 04/2014 Version 1.0.1 www.merten.com ALLGEMEINE INFORMATIONEN Schneider Electric GmbH c/o Merten Gothaer Straße 29, 40880 Ratingen www.merten.de www.merten-austria.at

Mehr