Seminararbeit. Native App Design Entwicklungsmethoden und deren Einfluss auf die Usability. vorgelegt von Karsten Nolte

Größe: px
Ab Seite anzeigen:

Download "Seminararbeit. Native App Design Entwicklungsmethoden und deren Einfluss auf die Usability. vorgelegt von Karsten Nolte"

Transkript

1 Seminararbeit für die Zulassung des Moduls Master-Seminar Informatik (MSIN) an der Westfälische Hochschule im Fachbereich Informatik und Kommunikation im Studiengang Praktische Informatik Native App Design Entwicklungsmethoden und deren Einfluss auf die Usability vorgelegt von Karsten Nolte Matrikel-Nr.: Dozent: Prof. Dr. Norbert Hammer Abgabe am: 18. Februar 2013

2 betreut durch: Datum und Unterschrift des Betreuers

3 Inhaltsverzeichnis 1 Motivation 1 2 Einleitung 2 3 Native App Design Was bedeutet nativ? immersive vs. nicht immersive Apps Auswirkungen auf die Usability Entwicklungsmethoden im Vergleich Native Web Hybrid Framework Resümee Die richtige Methode Dokumenten-zu-Anwendungen Kontinuum Entscheidungsfindung Ausblick 33 7 Abkürzungsverzeichnis 34 8 Literaturverzeichnis 35 9 Abbildungsverzeichnis Eidesstattliche Erklärung 37 I

4 1 Motivation Mobile Endgeräte stehen derzeit stärker im Mittelpunkt als je zuvor und es scheint in naher Zukunft auch nicht abzuklingen. Im Gegenteil, die Entwicklung von Smartphone und Tablet Apps verbuchen einen kontinuierlichen Zuwachs, Tendenz steigend. Die Nutzer werden heutzutage mit immer mehr mobilen Möglichkeiten und Alternativen konfrontiert, mit denen sie ihre Aufgaben bewältigen können. Ein Design das intuitiv zu bedienen ist und keiner aufwendigen Erklärung bedarf, spielt in unserer immer komplexer werdenden Welt eine immer größere Rolle. Es geht darum, diese Komplexität zu bändigen, statt zu reduzieren. [vgl. Nor11] Doch was trägt dazu bei, dass uns eine mobile Anwendung einfach und intuitiv erscheint? Was versteht man in diesem Zusammenhang unter Native App Design? Neben dem starken Zuwachs an Smartphone und Tablet Apps sind auch die Möglichkeiten der App-Entwicklung gestiegen. Welche Entwicklungsansätze gibt es aktuell? Welchen Einfluss haben sie auf das Design, sowie die Usability der App? Mit unterschiedlichen Ansätzen geht die Frage einher, welche Entwicklungsmethode für die zu entwickelnde App am besten geeignet ist und wie man dabei im Vorfeld eine fundierte Entscheidung treffen kann. 1

5 2 Einleitung Wenn man vor hat eine App zu entwickeln, sollte man sich im Vorfeld darüber im klaren sein, wer die konkrete Zielgruppe ist. Jede Entscheidung, die man nämlich für die App trifft, trifft man letztlich für den Benutzer. Man muss von Anfang an die Bedürfnisse der Nutzer vor Augen haben und darf diese nicht mit den eigenen Bedürfnissen bei der Entwicklung verwechseln. Gerade bei dem User Interface (UI) von mobilen Anwendungen, entscheidet sich früh, ob es eine erfolgreiche App wird oder nicht. Denn das UI ist die Schnittstelle zwischen der Applikationslogik und dem Anwender. Es verkauft nicht nur die App, sondern auch die Botschaft, die mit der App vermittelt werden soll. Der Nutzer steht also immer im direkten Kontakt zur Oberfläche und erwartet eine möglichst benutzerfreundliche Bedienung. Doch was beeinflusst die Gebrauchstauglichkeit von Apps? Was für eine Rolle spielt dabei das Design? Die Wahl einer Plattform und einer bestimmten Technologie hat große Auswirkungen darauf, wie die App später erreicht wird, wie sie aussieht, sich anfühlt und ob sie später die Bedürfnisse der Nutzer erfüllt, oder nicht. Mit anderen Worten, ob sie erfolgreich wird oder nicht. Aus diesem Grund sollte eine Plattform- bzw. Technologieentscheidung nicht aus dem Bauch heraus erfolgen, sondern genau begründet werden. Wenn man die Entscheidung über die Plattform und die Technologie einfach mit den aktuellen Anforderungen aus der Firma oder den Kompetenzen des aktuellen Entwicklungsteams begründet, trifft man lediglich eine Entscheidung, die die eigenen Probleme löst und nicht die der Benutzer. Möglicherweise wird man auf diese Weise kurzfristige Vorteile erzielen, jedoch wird man langfristig nicht in der Lage sein, mit Anderen zu konkurrieren, die die Bedürfnisse der Nutzer zuerst gelöst haben. Die Wahl der Plattform und der Technologie sollte damit begründet werden, wie gut damit die Bedürfnisse der Nutzer befriedigt werden können und nicht mit einer subjektiven Voreingenommenheit über eine bestimmte Technologie oder einer Entwicklungsmethode. [vgl. Bal12, Seiten ] Gute Apps sollten den Menschen informieren, unterstützen und erfreuen. Dafür ist es unumgänglich, die richtigen Werkzeuge und Technologien bei der Entwicklung einzusetzen. Doch welche sind die Richtigen und für welche Arten von Apps sind sie am besten geeignet? 2

6 3 Native App Design 3.1 Was bedeutet nativ? Im Bereich der mobilen Entwicklung wird aktuell sehr stark darüber diskutiert, welche App Variante die Zukunft ist, native Apps oder WebApps. Doch was ist eigentlich mit nativen Apps genau gemeint? Für gewöhnlich bezieht man sich mit dem Begriff nativ auf die digitalen Berechnungen im Computer, den binären Code, eine Serie von Nullen und Einsen. Man nennt ihn auch Maschinensprache oder nativen Code. Jede Programmiersprache, wie Objective-C für ios, Java für Android oder JavaScript z.b. für Titanium wird schließlich in die jeweilige Maschinensprache übersetzt. Jede dieser Technologien basiert auf Ebenen der Abstraktion. Der Zweck der einzelnen Abstraktionsschichten ist es, die Entwicklung von Applikationen zu vereinfachen. Obwohl es technisch korrekt ist, scheint aber die Bezeichnung nativ, um auszudrücken das direkt bzw. indirekt in Maschinensprache programmiert wird, in der heutigen Zeit eine sinnlose Definition zu sein. Die native Entwicklung im mobilen Sektor beschreibt eigentlich etwas ganz Anderes. Nativ bezieht sich auf die Technologien, wie die Sprache und das Framework, die zusammen die Kultur, Konventionen und Normen für die jeweilige Plattform bilden. Es ist das grundlegende Level der Abstraktion, das die wichtigsten Symbole, Gesten und Interaktionen definiert. Diese bilden gemeinsam die Grundlage für benutzerfreundliche Apps im täglichen Leben. Es ist die Sprache, visuell als auch vom Verhalten, die die Nutzer lernen, wenn sie eine Plattform benutzen. Apples Human Interface Guidelines beinhalten z.b. klare Anweisungen darüber, wie native Apps auf der ios Plattform aussehen und sich verhalten sollten. Sie helfen die Kultur der Plattform zu definieren. Für das Web hingegen existieren keine Guidelines, obwohl völlig unterschiedliche Webanwendungen ebenfalls viele gemeinsame Funktionen besitzen. Daraus resultiert z.b., das verschiedene Browser das Verhalten von grundlegenden Formular-Steuerelementen unterschiedlich implementieren, was für den Entwickler, als auch für den Nutzer zu Verwirrungen und Komplikationen führt. Stattdessen setzt man im Web den Fokus auf Design Patterns wie z.b. Progressive Enhancement und Responsive Layout. Das Web kann man jetzt schon als eine native Plattform ansehen und mit dem Zuwachs von Betriebssystemen wie WebOS, Chromium und Firefox OS die auf nativen Web-Technologien aufbauen, wird diese Entwicklung zusätzlich verstärkt. Nativ bezieht sich also auf die Kultur und Sprache einer Plattform. Die Behauptung, dass native Apps (also Apps mit einem Native Design) untergehen werden ist gleichzusetzen mit der Aussage, dass unterschiedliche Endgeräte in der Zukunft keine unterschiedlichen Kulturen mehr besitzen werden. [vgl. Bal12, Seiten ] 3

7 Für den weiteren Verlauf dieser Arbeit ist es also wichtig zwischen Native als Entwicklungsmethode und Native App Design als Designkonzept zu unterscheiden. 3.2 immersive vs. nicht immersive Apps Es gibt mittlerweile unzählige Smartphone und Tablet Apps auf dem Markt, die die unterschiedlichsten Zielgruppen und Berufsbranchen ansprechen. Man kann sie grundsätzlich in zwei Kategorien aufteilen, die sog. immersiven und nicht immersiven Apps. Den Unterschied zu kennen ist wichtig, da bestehende Normen und Konventionen für immersive Apps deutlich unwichtiger sind, als für nicht immersive Apps. Immersive Apps nehmen für gewöhnlich das gesamte Smartphone bzw. Tablet ein und definieren dabei ihre eigene Kultur und Sprache. Ein gutes Beispiel dafür sind Spiele. Ein Spiel hat oft eigene Interaktionskonzepte für Laufen, Springen und Schießen. Ein gutes Spiel lässt den Nutzer in eine eigene Welt eintauchen und diese ist meist weit entfernt von der Plattformkultur. Aus diesem Grund sind sie ein Musterbeispiel für die Verwendung von nicht nativen Technologien. Damit lässt sich auch verdeutlichen, warum Flash im Web stets verbreitet ist, um ein immersives Nutzungserlebnis zu gestalten. Nicht immersive Apps verwenden meist standard User-Interface Elemente wie. z.b. Buttons oder Table-Views. Häufig kommen dabei auch plattformspezifische Interaktionen wie Master-Detail Übergänge wie beim Internetwork Operating System (ios) zum Einsatz. Diese Apps unterstützen den Nutzer im täglichen Leben. Man nennt sie auch Productivity Apps. Damit der Nutzer auf effektive, effiziente und zufriedenstellende Art und Weise durch die App unterstützt werden kann, ist es sehr wichtig, dass nicht immersive Apps die native Sprache sprechen und mit der Kultur, sowie den Normen der jeweiligen Platform übereinstimmen. In dieser Seminararbeit wird es hauptsächlich um nicht immersive Apps gehen, da sie eine hohe Usability fordern und zu einem immer stärkeren Teil unseres Alltags werden. 3.3 Auswirkungen auf die Usability Um die Auswirkungen von Native App Design auf die Usability der App zu erläutern, wird Usability (Gebrauchstauglichkeit) an dieser Stelle zuerst konkretisiert. Die Gebrauchstauglichkeit (Usability) ist das Ausmaß, in dem ein Produkt durch bestimmte Benutzer in einem Nutzungskontext genutzt werden kann, um bestimmte Ziele effektiv, effizient und zufriedenstellend zu erreichen. [ISO99] 1. Effektivität bezeichnet die Genauigkeit und Vollständigkeit, mit der Benutzer ein bestimmtes Ziel erreichen. 2. Effizienz bezeichnet den im Verhältnis zur Genauigkeit und Vollständigkeit eingesetzter Aufwand, mit dem Benutzer ein bestimmtes Ziel erreichen. 4

8 3. Zufriedenstellung bezeichnet die Freiheit von Beeinträchtigungen und positive Einstellungen gegenüber der Nutzung des Produkts. Durch eine hohe Gebrauchstauglichkeit lässt sich Arbeitszeit reduzieren, indem die Aufgaben intelligent geleitet werden und Bestandteile des Systems übernommen werden. Sicherheitskritische Fehler, verursacht durch den Menschen, können durch ein intuitives Interaktionskonzept und sinnvolle Rückmeldemechanismen minimiert werden. Usability beschreibt somit nicht nur weiche Merkmale, sondern Tatsachen die durch Bestimmungen und Normen geregelt sind. Für Apps existiert eine besonders hohe Erwartungshaltung. Mittlerweile sollen sie nicht nur gut funktionieren, sondern auch Spaß (Joy-of-Use) machen und dabei durch eine ästhetisch gestaltete Oberfläche überzeugen. [vgl. Hei12, Seiten 30 32] Ästhetik beschreibt hier eine gestalterische Schönheit, die von der Funktionalität losgelöst ist. Da die Ästhetik die erste wahrgenommene Qualität einer App ist und dieser Eindruck der ersten Millisekunden messbar das weitere Empfinden beeinflusst, hat schon das App Design massiven Einfluss auf den Erfolg. Vor allem bei einem Wechsel von einem System oder bei der Einführung von neuen Systemen im Arbeitsumfeld ist der Abbau der Hemmschwelle zu einem neuen System ein wichtiger Erfolgsfaktor. Die mit dem Joy-of-Use bezeichnete Qualität beschreibt die Zufriedenheit des Anwenders mit der App. Hierbei geht die Qualität über eine gebrauchstaugliche Steuerung im klassischen Sinn hinaus. Es wird erwartet, dass die App neben pragmatischen auch hedonische Qualitäten besitzt, die zum Spaß an der Bedienung führen. Ziel ist, dem Nutzer kreative Freiräume zu geben und die Motivation zu steigern. [vgl. Nol11, Seiten 23 28] Neben den Bedürfnissen der Anwender müssen bei der Gestaltung von Oberflächen für mobile Geräte auch die physikalischen Grenzen berücksichtigt werden. So müssen z.b. auf kleinen Bildschirmen Steuerelemente bedienbar und Texte lesbar bleiben. Durch das Einhalten von Kultur, Konvention und Norm der entsprechenden Plattform für die man entwickelt, kann man die kognitive Belastung des Anwenders stark reduzieren. Es kann z.b. die Lernkurve für eine App deutlich gesteigert werden, indem plattformspezifische Mechanismen in der App verwendet werden, die die Nutzer schon aus vielen anderen Apps oder des Betriebssystems selbst kennen. Auf diese Weise ist ein Nutzer auch in der Lage, sich in komplexeren Apps zurecht zu finden, da ihm die grundsätzlichen Interaktionsmechanismen schon bekannt sind. Dies gilt natürlich hauptsächlich für nicht immersive Apps, weil bei ihnen der schnelle bzw. effiziente Umgang im Vordergrund steht und nicht das einzigartige Nutzungserlebnis. Neben dem geringeren Lernaufwand gibt es aber auch den Vorteil, dass die nativen Konzepte meist gut durchdacht, einheitlich, erweiterbar und frei von logischen Fehlern sind. Die Nutzer machen mit ihnen weniger negative Erfahrungen und sind mit der entwickelten App zufriedener. 5

9 4 Entwicklungsmethoden im Vergleich In diesem Kapitel werden die aktuellen Entwicklungsansätze für Apps vorgestellt, verglichen und deren Auswirkungen auf die Usability untersucht. Dabei wird jeweils ein Beispiel dazu dienen, den Sachverhalt in der Praxis deutlich zu machen. 4.1 Native Definition Bei dem nativen Ansatz wird die App direkt in der Programmiersprache entwickelt, in der auch die Plattform entwickelt wurde, bzw. für die die Plattform von Haus aus Schnittstellen zur Verfügung stellt. Bei den plattformspezifischen Programmiersprachen handelt es sich um Hochsprachen (Objective-C, Java, etc.) die durch Umgebungen und Frameworks für das mobile Gerät erweitert oder angepasst wurden. Für jede Plattform (ios, Android, etc.) ist eine andere Entwicklungsumgebung inklusive Software Development Kit (SDK) und Hochsprache erforderlich Usability Im Bereich Usability sind native Apps sehr mächtig. Sowohl Apps für den internen Firmengebrauch, als auch solche, die als Marketinginstrument öffentlich vertrieben werden, sollten Richtlinien zur Usability einhalten und wohlgestaltet sein. Die Umsetzung dieser Richtlinien und die Gestaltung nach Maßstäben der Benutzererwartung sind mit nativen Technologien besonders gut möglich. Viele standard Interfacekomponenten und Events, wie double-tap oder pinch-spread bis zu komplexeren Komponenten wie z.b. Master Detail Übergänge stehen dem Entwickler schon mit der Entwicklungsumgebung fertig zur Verfügung. Und diese Konzepte sind dem Nutzer bekannt bzw. können als bekannt vorausgesetzt werden, weil der Hersteller mit diesen Komponenten und Technologien auch medienübergreifend wirbt. Somit wird es dem Entwickler vereinfacht Apps zu realisieren, die die Kultur, Konventionen und Normen der entsprechenden Plattform einhalten. Und genau solche Apps können den Endanwender im Alltag besonders gut entlasten, da er sich nicht ständig in neue Interaktionskonzepte hineindenken muss, was z.b. bei mehr als einem Duzend Apps durchaus auch zu einer spürbaren Belastung führen kann. 6

10 Abbildung 4.1: Architektur einer nativen App Push Notifications Push Notifications ermöglichen nativen Apps völlig andere Möglichkeiten den Nutzer effektiv bei seinem Vorhaben zu unterstützen. Sie erlauben es Apps zu entwickeln die sozusagen mitdenken und bei Bedarf aktiv werden. Auf diese Weise werden Apps intelligenter und können individueller auf die Situation (Termine, Kontakte, Vorlieben) des Nutzers reagieren Stärken Native Apps haben Zugriff auf alle vom Betriebssystem bereitgestellten Schnittstellen und Funktionen. Dazu zählt z.b. der Bewegungs- und Beschleunigungssensor, die Kamera, der Kompass oder die Lokalisierung. Besonders im Bereich der Persistenz, Sensorik und Sicherheit bieten native Apps die besten Möglichkeiten. Gespeicherte Daten können beispielsweise über die plattformspezifischen Algorithmen kodiert werden und im Speicher der App anschließend persistiert werden. Darüber hinaus sind sie in der Lage, mit anderen Apps auf dem mobilen Gerät zu kommunizieren. Wenn es um Geschwindigkeit und besonders flüssige Animationen geht, sind bis heute noch native Apps das Maß der Dinge. Durch die schnelle Grafik Application Programming Interface (API) und Multithreading, kommt es zu einem spürbaren Performancegewinn in der Bedienung und bietet auf diese Weise Spielraum für begeisternde Interaktionskonzepte und Effekte. Ein völlig anderer Punkt sind die App Stores und Marketplaces die den Nutzern helfen die Apps schnell zu finden, herunterzuladen und zu aktualisieren. Die Genehmigungsprozesse von den jeweiligen App Stores können dabei helfen die Qualität und Sicherheit von Apps zu steigern bzw. zu gewährleisten. Das steigert wiederum die Akzeptanz und das Vertrauen in die mobilen Anwendungen. Gerade im Umfeld von 7

11 unternehmenskritischen Anwendungen sind wir noch nicht an einem Punkt, wo viel auf mobile Apps gesetzt wird. Neben der Qualität und dem Vertrauen kann aber auch die Entwicklung beschleunigt werden. Sehr gute Werkzeuge, Support und Best Practices des Herstellers stehen dem Entwickler zur Verfügung, um effektiver arbeiten zu können. Native Apps nutzen robuste Programmiersprachen (z.b. Java, Objective-C, C++) die für komplexe Softwareentwicklung ausgelegt sind und eine nachgewiesene Erfolgsgeschichte besitzen. Außerdem kann man native Apps dank Desktop-Emulatoren gut debuggen. Die Emulatoren sind dabei gute Repräsentanten des Zielgeräts und ermöglichen dem Entwickler wertvolle Tests auch ohne teure Testgeräte. [vgl. Mah12] Schwächen In der Regel hat man bei der nativen Entwicklung höhere Kosten. Das ist insbesondere dann der Fall, wenn man mehrere mobile Endgeräte unterstützen möchte, weil für jede Plattform Kompetenzen in der spezifischen Sprache, sowie der jeweiligen Entwicklungsumgebung benötigt werden. Mehrere Plattformen zu unterstützen bedeutet aber auch mehrere Code-Bases zu pflegen und das bedeutet höhere Kosten in der Entwicklung und Wartung der App. Nutzer können zusätzlich auch unterschiedliche Versionen der App haben, was es dem Entwicklungsteam schwerer macht, die App zu pflegen und guten Support zur Verfügung zu stellen. Die Entwickler können sich bei der Weiterentwicklung nicht auf eine Version konzentrieren. Genehmigungsprozesse von App Stores können sogar das Erscheinen der App verzögern oder ganz verhindern, was zu wirtschaftlichen Misserfolgen führen kann. [vgl. Mud12] Beispiele iphoto Eine so flüssige und präzise Animation, wie sie z.b. in iphoto (Abbildung 4.3) mit nativen Technologien realisiert wurde, ist bis heute nur in nativen Sprachen zu vertretbaren Aufwand umsetzbar. Mit Web-Technologien wäre eine solche Animation zwar denkbar, aber man würde derzeit qualitativ nicht an die native Variante herankommen. Die Rendering Engines der Browser sind einfach noch nicht für solche grafischen Effekte ausgelegt. Jedoch tut sich in diesem Umfeld momentan sehr viel. 8

12 Abbildung 4.2: Photoalben in iphoto werden durch einen Animationseffekt eingeschoben 9

13 Abbildung 4.3: Passbook löscht Pässe mit einem Shreddereffekt Passbook Ein anderes gutes Beispiel kann man innerhalb der neuen Passbook App (seit ios 6) von Apple finden. Passbook verwaltet Pässe wie Bordkarten, Kinokarten, Coupons oder Kundenkarten. Löscht man einen dieser Pässe, wird dieser mit einem Shreddereffekt auf dem Display entwertet. Auch diese Animation wäre mit Web-Technologien nur sehr schwer realisierbar, da Licht, Schatten und Papierschnipsel zur Laufzeit dynamisch berechnet und dargestellt werden. Mit Web-Technologien würde man bisher noch Performanceprobleme bekommen und keine flüssige Darstellung erreichen. 4.2 Web Definition Bei dem Web-Ansatz wird die App (WebApp) mittels Hypertext Markup Language (HTML), Cascading Style Sheets (CSS) und JavaScript entwickelt. Dabei handelt es sich dann um eine Website, die an das entsprechende Display und die Steuerung des mobilen Geräts angepasst ist. Eine App wird zu einer WebApp wenn sie auf einem Webserver liegt und auch nur über diesen erreicht werden kann. Das bedeutet, eine reine WebApp hat immer eine eindeutige Uniform Resource Locator (URL) und wird 10

14 Abbildung 4.4: Architektur einer WebApp über das Hypertext Transfer Protocol (HTTP) angesprochen. WebApps zählen zu den plattformübergreifenden Möglichkeiten, Funktionalitäten auf mobilen Geräten bereitzustellen. Die eigentliche App befindet sich dabei nicht mehr auf dem mobilen Endgerät. Deklarative Web-Technologien wie HTML und CSS sind besonders gut für komplexere Dokumente geeignet, um diese dann anschließend in eine ansprechende Form zu bringen. Progressive Enhancement Progressive Enhancement betrachtet Webdesign als eine Art Schichtarbeit. Die erste Schicht ist dabei der Inhalt, der mit semantischen Markup strukturiert wird. Wenn man danach Schluss macht, hat man ein Dokument, das beinahe jeder Browser auf der Welt lesen und darstellen kann. Nachdem man so ein Fundament geschaffen hat, fügt man mit CSS eine Präsentationsschicht und mit JavaScript eine Verhaltensschicht hinzu. Dabei setzt man nie voraus, dass der Browser diese Technologien unterstützt, aber wenn er es tut, bekommt der Nutzer mehr zu sehen. Dabei kann man auf JavaScript Frameworks setzen wie z.b. Modernizr 1, die einem dabei helfen HTML5 und CSS3 Features abhängig vom Browser zu erkennen und anzubieten Usability WebApps sind starken Einschränkungen im Bereich Usability unterworfen, weil plattformspezifische Konventionen, Normen und Design-Richtlinien nur sehr schwer umgesetzt werden können. Bei der Entwicklung mit Web-Technologien stehen dem Entwickler nämlich nicht, wie bei der nativen Entwicklungsmethode, unzählige fertige Interfacekomponenten zur Verfügung. Plattformspezifische Komponenten, Gesten und Übergangseffekte 1 11

15 Abbildung 4.5: Progressive Enhancement müssen vom Entwickler eigenständig programmiert bzw. emuliert werden. Einige Gesten sind z.b. bisher auch noch gar nicht effizient möglich, wie spread und pinch Gesten. Abhilfe können zum Teil Frameworks, wie Sencha Touch oder jquery Mobile leisten, die es dem Entwickler vereinfachen, ein ähnliches Look & Feel wie bei einer nativen App zu gestalten. jquery Mobile ist z.b. eine Erweiterung des bekannten Frameworks jquery. Die Interfacekomponenten sind in JavaScript implementiert, werden aber bei der Entwicklung lediglich über Markups deklarativ eingebunden. Da WebApps aber plattformübergreifend sind, kann nicht jede Plattformkultur mit ihren Normen und Konventionen zu 100% eingehalten werden. Die Nutzer können folglich mit mangelnder Akzeptanz reagieren, wenn sich die App nicht so verhält und steuern lässt, wie man es von der jeweiligen Plattform gewohnt ist. Der Nutzer kann verwirrt sein. Er sieht eine App, aber sie verhält sich wie eine normale Website. WebApps haben allerdings den großen Vorteil, dass sie über eine einfache URL eindeutig identifizierbar sind. Jeder kann eine WebApp auf einfache Art und Weise mit seinen Freunden teilen, indem er die URL per , Facebook oder SMS verschickt. Der Empfänger kann dann den Link einfach anklicken und die App direkt benutzen. Außerdem kann er sich seine Lieblingsapps in seinen Bookmarks speichern und individuell verwalten. Mit den Synchronisationsdiensten von heute hat er alle seine Bookmarks auf allen Geräten immer dabei und damit auch alle seine Apps. [vgl. LG12, Seite 57] Stärken Der entscheidende Vorteil bei dem Web-Ansatz ist der, dass bei ihm auf einer vertrauten und gemeinsamen Code-Basis für alle Plattformen entwickelt wird. Außerdem existieren auf dem Markt auch wesentlich mehr Webentwickler als Native-App-Entwickler. Und neben der Anzahl kommt noch das Argument des Stundenlohns. WebApp-Entwickler haben aktuell einen durchschnittlichen Stundenlohn in Deutschland von 60 Euro, wobei 12

16 er bei Native-App-Entwicklern aktuell bei 72 Euro liegt 2. Spezielle Genehmigungsprozesse, die den Erscheinungstermin einer App verzögern können, gibt es bei WepApps nicht. Dies kommt dem Zeit- bzw. Releasemanagement bei der Entwicklung von Apps zu gute. Und da WepApps eine gemeinsame Code-Basis für alle Plattformen haben und jeder Nutzer dieselbe Version der App verwendet, sind Updates schnell und unkompliziert eingespielt. Das erleichtert nicht nur die Wartung von Apps, sondern auch den individuellen Support, da man sich auf eine konkrete App-Version konzentrieren kann. Ein weiterer Vorteil ist, dass man WebApps über Suchmaschinen suchen kann. Durch ein semantisch strukturiertes Markup lassen sich auch versteckte Bereiche einer WebApp effektiv durchsuchen. Dies kann abhängig von der zu entwickelnden App ein entscheidender Vorteil sein. Das Web schreitet mit großen Schritten voran und es gibt jeden Monat etwas neues zu entdecken, was mit Web-Technologien bisher nicht möglich war. Web-Technologien werden immer mächtiger und auch die eigentliche Webentwicklung (inkl. IDEs, Debugging, Architekturen, etc.) wird dabei immer professioneller Schwächen WebApps sind erst einmal auf eine Internetverbindung angewiesen. Es gibt zwar Mechanismen 3, um auch eine WebApp offline verfügbar zu machen, aber auch diese erfordern den einmaligen Aufruf der App. Außerdem unterstützen WebApps derzeit noch nicht alle Device-Features, was sich aber durch JavaScript APIs stetig verbessert. Dennoch weisen sie aktuell noch starke Defizite auf, vor allem wenn es darum geht neue (komplexe) Device-Features von Smartphones und Tablets zu unterstützen. Grund dafür ist die Tatsache, dass eine WebApp innerhalb eines Browsers läuft, und sich somit in einem isolierten Bereich (sandboxed) befindet, der eine höhere Sicherheit garantieren soll. Neben den Features ist aber auch die Geschwindigkeit, mit der man eine WebApp bedienen kann, derzeit noch etwas niedriger als die bei einer nativ entwickelten App. Seiten bauen sich etwas langsamer auf und Animationen laufen noch nicht überall flüssig. Doch auch hier tut sich aktuell sehr viel. Durch hardwarebeschleunigtes CSS kann nämlich nun auch der Grafikprozessor beim Seitenaufbau gezielt mitarbeiten. Vorher war es so, dass die Central Processing Unit (CPU) das Rendering allein bewerkstelligen musste. Nun ist es möglich bestimmte Aufgaben an die Graphics Processing Unit (GPU) zu delegieren, wie z.b.: die CSS3-Eigenschaften transition und transform das Grafik-Rendering mittels canvas-element das Grafik-Rendering mittels einer Web Graphics Library (WebGL) Oft liegt die eigentliche Problematik aber lediglich an den unzähligen HTTP Anfragen an den Webserver. Um dieses Problem um umgehen, entwickelt man eine One Page 2 GULP Trend Analyse Zeitfenster 09/11 bis 09/12 3 App Cache, Web Storage, Web SQL-Datenbanken, indexierte Datenbanken, File Access API 13

17 WebApp, wo alle relevanten Informationen schon zu Beginn auf einer Seite geladen werden. Es werden dabei nur die Inhalte dargestellt die aktuell erforderlich sind. Wenn der Nutzer sich durch die Seite bewegt, entfallen die unzähligen Anfragen und er kann dadurch schneller und flüssiger navigieren. Der Nachteil dabei ist, dass der Nutzer jetzt keine individuellen Bookmarks mehr führen kann, weil man sich für den Browser prinzipiell immer auf derselben Seite befindet. Doch auch für diese Problematik existieren schon Lösungen, wie z.b. das JavaScript Framework LeviRoutes 4. LeviRoutes ermöglicht individuelle Bookmarks innerhalb einer One Page App. Trotzdem bleibt die Performance ein Nachteil von WebApps, da diese Technologien (CSS3) bisher lediglich in modernen Browsern funktionieren. In älteren und nicht so populären Browsern müssen oft sehr viele Optimierungen vorgenommen werden, oder sogar völlig andere Ansätze verfolgt werden. der Grund ist dafür meist, dass der Browser die gewünschte Funktionalität einfach nicht unterstützt. Unterschiedliche Browser implementieren die verschiedenen HTML und CSS Features zudem auch noch unterschiedlich, was es einem als Entwickler zusätzlich erschwert, ein konsistentes und fehlerfreies Nutzungserlebnis zu erzeugen. WebApps machen es dem Entwickler auch sehr schwer, sicherheitskritische Anwendungen zu entwickeln, da Daten weder über native Algorithmen verschlüsselt noch direkt auf dem mobilen Gerät persistiert werden können. Außerdem bewirkt eine zentralisierte Anwendung auch immer Sicherheitsrisiken, da es einen zentralen Angriffspunkt für Angreifer gibt und das JavaScript öffentlich einsehbar ist. Wenn man vor hat, mit der entwickelten App Geld zu verdienen, hat man es mit einer WebApp auch umständlicher, weil man keinen zentralen App-Store oder Marketplace zur Verfügung gestellt bekommt. Man muss sich selbst um die Abwicklung des Bestellprozesses kümmern. Es steht einem natürlich frei, ob man sich an andere Dienstleister wendet, oder direkt fertige Shopsysteme wie z.b. Magento einsetzt. [vgl. MZH12, Seiten 26 38] Beispiel Amazon MP3 Store Ein gutes Beispiel für eine WebApp ist Amazons neuer MP3 Store. Er steht in direkter Konkurrenz zu der itunes Plattform von Apple und ist auch speziell für iphones und ipod Touches optimiert. Die Nutzer können im neuen Amazon MP3 Store 22 Millionen Songs durchsuchen und kaufen. Gekaufte Titel werden direkt in der Amazon Cloud gespeichert und können anschließend für das jeweilige mobile Endgerät heruntergeladen werden. Amazon ist somit nicht verpflichtet Apple die 30% Transaktionsgebühr zu zahlen und fördert nebenbei auch noch das Vertrauen in aktuelle Web-Technologien (HTML5). [vgl. Cla13] 4 Ein einfaches Routen-Framework für JavaScript, was sich in den HTML5 Velauf einbindet. 14

18 Abbildung 4.6: Amazon MP3 Store WebApp auf dem iphone 4S com/mp3 15

19 Abbildung 4.7: Audi & Mercedes WebApp auf dem iphone 4/4S Audi & Mercedes Die WebApps von Audi & Mercedes sind ebenfalls ansprechende Beispiele. Sie unterstützen gestengesteuerte Slideshows und das Layout passt sich der Größe und Orientierung des mobilen Geräts an. Handelt sich um Apps, wo wie hier der Inhalt im Vordergrund steht und es auch ständig Neuerungen geben kann, ist der Web-Ansatz eine sehr gute Wahl. Es können viele Plattformen unterstützt werden und Updates sind schnell eingespielt. 4.3 Hybrid Definition Bei einer hybriden App sollen die Vorteile von nativen Apps und WebApps verschmelzen. Die eigentliche Funktionalität wird dabei mit Web-Technologien entwickelt und anschließend in einem nativen Wrapper eingebettet. Über eine entsprechende plattformübergreifende JavaScript API ist der Entwickler dann in der Lage, auf das Betriebssystem des Mobilgeräts und deren Device-Features zuzugreifen. 16

20 Abbildung 4.8: Architektur einer hybriden App Bei nativen Apps sind die Daten für gewöhnlich direkt auf dem Mobilgerät gespeichert, wohingegen sie sich bei WebApps auf einem Webserver befinden. Bei hybriden Apps gibt es zwei Varianten: 1. Lokal HTML und JavaScript wird zusammen ausgeliefert und der Datentransfer zwischen dem Gerät und der Cloud erfolgt über eine Representational State Transfer (REST) Schnittstelle. 2. Server Die gesamte App liegt auf dem Webserver (ggf. mit Caching-Verfahren für bessere Performance) und auf dem Mobilgerät befindet sich lediglich ein nativer Wrapper, in dem die Anwendung innerhalb einer WebView läuft. Die eigentliche Funktionalität einer hybriden App unterliegt den gleichen Einschränkungen wie der einer WebApp, kann allerdings durch die Erweiterung eines nativen Wrappers auf plattformspezifische Funktionalitäten zugreifen. Möchte man als Entwickler aber weiterhin auch Gebrauch von nativen Frameworkelementen machen und trotzdem die Vorteile einer hybriden App genießen, existiert die Variante einer Mixed Hybrid App. Hier wird neben den Web-Technologien auch zusätzlich nativer Code (inkl. Frameworks, Features) verwendet, um plattformspezifische Anpassungen vorzunehmen. In Abbildung 4.9 ist die Architektur einer Mixed Hybrid App dargestellt. Für gewöhnlich werden große Mengen an Inhalt mittels Web-Technologien umgesetzt. Elemente die für das Einhalten von Kultur, Sprache und Konvention der jeweiligen Plattform wichtig sind werden dagegen mit nativem Code bzw. nativen Frameworks realisiert. 17

21 Abbildung 4.9: Architektur einer mixed hybrid App PhoneGap PhoneGap ist momentan die populärste OpenSource-HTML5-Plattform, mit deren Hilfe man hybride Apps für verschiedene Betriebssysteme erstellen kann. Man schreibt dabei den Code mit HTML, CSS und JavaScript und PhoneGap schlägt für einen die Brücke zwischen dem WebCode und dem nativen Code. PhoneGap kann man auf zwei verschiedene Arten nutzen: 1. PhoneGap Build Man entwickelt eine herkömmliche WebApp mit HTML, CSS und JavaScript. Anschließend komprimiert man die Projektdateien zu einer Zip-Datei und lädt diese auf der PhoneGap Build Seite 5 hoch. Der PhoneGap Builder generiert anschließend aus der WebApp die gewünschten Plattformvarianten (ios, Android, WinPhone, Blackberry, WebOS, Symbian). Direkt anschließend können sie von der Website herunterladen werden. 2. Entwicklungsumgebung Hier richtet man sich eine komplette Entwicklungsumgebung ein, um eine hybride App mit PhoneGap zu entwickeln. Dafür ist eine entsprechende IDE (bei ios z.b. Xcode, bei Android Eclipse), das jeweilige SDK der Plattform für die man entwickeln möchte und Apache Cordova (PhoneGap API) erforderlich. Nur mit diesem Ansatz kann man auch den vollen Funktionsumfang der plattformübergreifenden JavaScript API nutzen und von dem Zugriff auf die Device-Features profitieren. PhoneGap schreibt es einem dabei nicht vor ein bestimmtes Web UI Framework wie z.b. jquery Mobile zu nutzen. Das einzige was es tut ist, eine Webanwendung in eine native Anwendung einzubetten und plattformspezifische Mechanismen über eine JavaScript API zur Verfügung zu stellen. [vgl. LG12, Seite 318] 5 https://build.phonegap.com/ 18

22 4.3.2 Usability Da die Kernfunktionalität einer hybriden App mittels Web-Technologien entwickelt wird und Webkomponenten nicht die Kultur, Konventionen und Normen einer spezifischen Plattform erfüllen können, eignen sie sich nicht für Apps, wo die Funktionalität (nicht immersive Apps) im Vordergrund steht. Es sei denn es handelt sich um eine Mixed Hybrid App, wo auch native Frameworks neben den Web-Technologien zum Einsatz kommen. Steckt man aber mehr Aufwand in das plattformspezifische Design, kann man auch mit einer normalen hybrid App einer nativen Umsetzung in den Punkten Usability & Funktionalität sehr nahe kommen. Das hat dann aber auch den großen Nachteil, dass sich dann die Plattformunabhängigkeit der gesamten App reduziert. Für eine Portierung auf andere Plattformen kann nur der in Web-Technologien umgesetzte Kern verwendet werden, der sich je nach Anpassung an das Endgerät reduziert. Wirklich gute Ergebnisse erzielt man mit dem hybriden Ansatz nur, wenn die eigentliche Funktionalität in Web-Technologien abgebildet werden kann und eine plattformspezifische Steuerung zur guten Akzeptanz der Anwender erreicht werden soll. Letztlich sollte man aber vorsichtig sein, wenn man native Apps entwickelt, die eigentlich nur eine Webanwendung in einen nativen Wrapper einbettet. Diese hybriden Apps haben für gewöhnlich die Tendenz, wie eine native App auszusehen, sich allerdings nicht wie eine native App zu verhalten. Entweder man entscheidet sich für einen generischen Ansatz nur mit Web-Technologien, wo keine ideale Usability erzielt werden kann, oder man verwendet eine Mixed Hybrid App. Dabei entsteht dann allerdings für jede Plattform die man unterstützen möchte zusätzlicher Entwicklungsaufwand. [vgl. Bal12, Seiten ] Stärken Dank dem nativen Wrapper haben hybride Apps Zugriff auf die vom Betriebssystem bereitgestellten Schnittstellen und Funktionen. Eine hybride App kann also im Gegensatz zu einer WebApp relativ einfach auf den Beschleunigungssensor, die Kamera, oder z.b. auf den Kompass vom Mobilgerät zugreifen. Da hybride Apps wie native Apps auch in App-Stores und Marketplaces verteilt werden, müssen sich die hybriden Apps ebenfalls den Genehmigungsprozessen der Stores unterziehen. Das kann, wie auch bei den nativen Apps dafür sorgen, dass die Qualität und Sicherheit der Anwendungen steigt. Die Kernfunktionalität wird mit weit verbreiteten Technologien (HTML, CSS, JavaScript) entwickelt und es existiert, wie auch bei WebApps (Server Variante) die Möglichkeit, die gesamte App mit nur einer Code-Basis zu betreiben. Folglich sind auch Updates schnell eingespielt und das Entwicklungsteam kann sich auf eine Version bei der Entwicklung konzentrieren (nicht bei einer Mixed Hybrid App der Fall). 19

23 4.3.4 Schwächen Wie auch WebApps benötigen hybride Apps eine Internetverbindung, zumindest wenn sie in der Server Variante entwickelt wurden. Wenn sie in der lokalen Variante entwickelt wurden, benötigen sie die Internetverbindung lediglich bei Versionsänderungen oder inhaltlichen Updates. Hybride Apps können zwar auf viele Gerätefunktionen zugreifen, aber viele Funktionen, die z.b. PhoneGap über die JavaScript API bereitstellt, funktionieren nicht auf allen Geräten oder Verhalten sich unterschiedlich. Hier kann eine Mixed Hybrid App Abhilfe schaffen. Da die Kernfunktionalität bei hybriden Apps in Web-Technologien entwickelt wird, unterliegt sie auch den gleichen Einschränkungen wie einer WebApp. In den Punkten Geschwindigkeit, Seitenaufbau, sowie flüssige Animationen, liegt auch eine hybride App bisher noch hinter einer nativen App. Elemente mit hohen Performanceansprüchen müsste man dann besser in nativem Code implementieren und hätte somit wieder eine Mixed Hybrid App. Auch die Problematik der verschiedenen Browser und deren unterschiedlichen Implementierungen von CSS & HTML Features haben die hybriden Apps von WebApps geerbt. Außerdem haben sie von den nativen Apps die Problematik der Genehmigungsprozesse des jeweiligen App-Stores oder Marketplace übernommen, was in den Punkten Qualität und Sicherheit aber auch ein Vorteil sein kann. Trotzdem sind hybride Apps genauso wie auch WebApps keine gute Wahl, wenn es um sicherheitskritische Anwendungen geht, da die Verschlüsselung, Persistierung und zentrale Datenhaltung (Server Variante) noch problematisch sind. Auch hier könnte eine Mixed Hybrid App wieder helfen, um die Nachteile die die Web-Technologien momentan noch besitzen auszugleichen Beispiel Facebook Facebook hat bis vor kurzem mit ihrer App noch sehr stark auf HTML5 und Web- Technologien gesetzt. Doch sie haben angeblich erkannt, dass HTML5 ihre momentanen Anforderungen noch nicht befriedigen kann. Die Tools seien zu schlecht, Device- Debugging ist umständlich, die Scrolling Performance ist zu gering und es gäbe bisher noch keinen direkten Zugriff auf die GPU (Black Box). The biggest mistake we made as a company was betting too much on HTML5. We need to have something at the highest quality level. The only way we re going to get there is by going native. [Mark Zuckerberg] Aus diesen Gründen haben sie sich dafür entschieden, wieder mehr auf den nativen Entwicklungsansatz (Mixed Hybrid App) zu setzen, um zum Einen mehr Möglichkeiten und Flexibilität zu erlangen und zum Anderen eine schnellere App entwickeln zu können, die die Leute begeistert. Dabei werden einzelne Bereiche, die besonders viel Inhalt darstellen müssen, wie z.b. der News Feed mit Hilfe von Web-Technologien 20

24 Abbildung 4.10: Facebook auf dem iphone 4/4S: WebApp (links) und Mixed Hybrid App (rechts) umgesetzt und der Interaktionsrahmen wird mit nativen ios Komponenten umgesetzt. Mit diesem hybriden Ansatz kann Facebook große Datenmengen und deren Änderungen händeln und durch die nativen Komponenten bleibt auch der plattformspezifische Bezug. [vgl. Zuc12] In Abbildung 4.10 ist die WebApp und die hybrid Variante von Facebook zum Vergleich gegenübergestellt. Optisch sind es nur Details in denen sich die beiden Varianten unterscheiden. Man merkt jedoch bei der Bedienung der WebApp Defizite in der Geschwindigkeit, Darstellung und den Interaktionsmöglichkeiten. In der WebApp kann man beispielsweise nicht das Menü öffnen, indem man einfach einen slide nach rechts macht, was in der nativen Variante zu jeder Zeit möglich ist. Auch das aktualisieren der Seite erfolgt in der hybriden ios Variante mit einem slide nach unten (Pull Refresh), wohingegen bei der WebApp immer wieder die ganze Seite neu geladen werden muss. In der gesamten hybrid App hat man als Nutzer die Möglichkeit über eine Schaltfläche eine Seite zurück zu kommen (Back-Button), dabei wird die Seite nicht neu geladen. In der WebApp muss man immer den Back-Button vom Browser verwenden um einen Schritt zurück zu kommen, was aber immer wieder eine neue Anfrage auslöst und somit auch wesentlich langsamer ist. Dies sind nur ein Paar Details, aber in der Summe beeinflussen sie die User Experience der App maßgeblich. 21

25 Abbildung 4.11: Direkter Vergleich der nativen Facebook App und der HTML5 Fastbook App von Sencha, Abrufdatum: Sencha Fastbook Das Unternehmen Sencha 6 ist hingegangen und hat auf Mark Zuckerbergs Aussage, dass HTML5 noch nicht bereit wäre, eine Offensive gestartet. Da Sencha sich nicht vorstellen konnte, dass HTML5 Facebooks Anforderungen nicht erfüllen konnte, haben sie die WebApp von Facebook mit Web-Technologien nachgebaut und Fastbook 7 genannt. Dabei haben sie sich auf die kritischen Punkte konzentriert wie News Feed, Slow Loading, Vertical Scroll, Full Touch Interaction, Low Framerate und App Navigation. Und sie haben es mit Fastbook geschafft, die von Mark Zuckerberg erwähnten kritischen Punkte, mit einer HTML5 WebApp zu meistern 8. Als sie die Facebook App analysierten und dabei den Netzwerkverkehr beobachteten, stellten sie fest, dass sehr viele Seiten über einfache HTTP GET Requests aufgerufen werden. Das führt natürlich jedes Mal zu Ladezeiten und kann deutlich besser gelöst werden. Aber der schwierigste Teil war es für Sencha, den News Feed in seiner vollen Komplexität und seinen vielen unterschiedlichen Bestandteilen schnell und flüssig zu gestalten. Um dies umzusetzen, hat Sencha erst einmal den News Feed, die Timeline und die Story voneinander getrennt (sandboxed), um das Document Object Model (DOM) möglichst klein zu halten. Außerdem werden DOM-Elemente zusätzlich wiederverwendet, anstatt sie überall neu zu erzeugen. Da die Scrolling Performance bei dem News Feed besonders Bei einem Test zeigte sich allerdings, dass dies bei Android Smartphones allerdings nicht der Fall ist. Auch in Fastbook ruckelte der News Feed noch. Nicht jeder Mobilbrowser ist bislang in der Lage mit HTML5 und CSS3 Funktionen entsprechend flüssig umzugehen. 22

26 kritisch war, haben sie sich dabei noch etwas Anderes überlegt. Über eine sog. Animation Queue, geben sie dem Ladevorgang für die Grafiken während des scrollens eine niedrige Priorität, um mehr Leistung für den Scrollvorgang zur Verfügung zu haben. Außerdem setzen sie WebWorker mit Remote Procedure Call (RPC) ein, um Scripte unabhängig vom UI-Thread im Hintergrund ausführen zu können. Und sie haben an einigen Stellen die Idle Time erhöht, um mehr Zeit für Bufferings zu haben. [vgl. JA12] 4.4 Framework Definition Wenn man das Ziel hat für eine nicht immersive App eine gute User Experience zu ermöglichen und trotzdem mehrere Plattformen zu unterstützen, sollte man auf native Komponenten setzen. Das bedeutet aber nicht gezwungenermaßen, dass man auch die plattformspezifische Programmiersprache verwenden muss um die App zu entwickeln. Framework-Apps können hier helfen. Sie zeichnen sich dadurch aus, dass sie mittels Frameworks von Drittanbietern entwickelt werden. Diese Frameworks beinhalten Bibliotheken, Laufzeitumgebungen und ggf. noch andere Komponenten um die Entwicklung zu vereinfachen. Die Idee dabei ist mit einer vertrauten Programmiersprache wie z.b. JavaScript die gesamte Funktionalität der App zu beschreiben, ohne sich dabei um schwergewichtige Programmiersprachen der jeweiligen Plattformen Gedanken machen zu müssen. Anschließend wird die vertraute Sprache entweder zu dem jeweiligen nativen Code kompiliert (bzw. cross-compiled) und auf dem Mobilgerät ausgeführt oder in einem Container als hybride App verpackt und interpretiert. Also ergeben sich zwei Kategorien von Frameworks, die die nativen Code erzeugen und die die es nicht tun. Man kann sie dann noch weiter unterteilen, in die, die native Komponenten des Frameworks nutzen und die, die es nicht tun. Die Kombination aus diesen vier Fällen ergibt die, in Abbildung 4.12 gezeigte Binäre-Framework Matrix. Also kann eine Framework-App grundsätzlich die gleichen Eigenschaften wie eine komplett nativ entwickelte App haben, muss sie aber nicht. Einschränkungen ergeben sich lediglich durch die Bibliotheken, die sich in dem Framework befinden. Diese Bibliotheken müssen jedoch vom Anbieter des Frameworks zuerst entwickelt werden, bevor die jeweilige Funktion über die vertraute Sprache angesprochen werden können. Manche Frameworks ermöglichen es auch, eigene native Erweiterungen zu entwickeln und einzubauen. Somit kann auch der Zugriff auf aktuell vom Framework nicht unterstützte Funktionen ermöglicht werden, sowie der Einbau neuer gerätespezifischer Steuerelemente. Hier ist ein kleiner Auszug einiger bekannter App-Frameworks: PhoneGap (JavaScript & HTML) Titanium (JavaScript) Rhodes (Ruby & HTML) Mono (Android) MonoTouch (ios) Corona (Lua) 23

27 Abbildung 4.12: Die Binäre-Framework Matrix Appcelerator Titanium Die Appcelerator Titanium Development Platform 9 ist das bekannteste Open-Source- Produkt, wo ein Cross-Compiler-Ansatz eingesetzt wird. Nutzt man das Appcelerator Titanium Mobile SDK, dann kann man seine App mit Web-Technologien (JavaScript, HTML und CSS) entwickeln und daraus anschließend native Komponenten für ios oder Android cross-kompilieren. Anschließend kann die erzeugte Binärdatei 10 direkt auf der jeweiligen Plattform installiert bzw. ausgeführt werden. Titanium bietet dem Entwickler dabei Programmierschnittstellen, um auch Webentwicklern die native Entwicklung zu vereinfachen. Aber wenn das Entwicklungsteam beispielsweise sehr gute Kenntnisse in C# und.net hat, könnte auch Mono für Android und evtl. MonoTouch als Framework für ios eine gute Alternative sein. Mono arbeitet sehr ähnlich wie Titanium, aber statt JavaScript nutzt Mono C# als Programmiersprache (und mit Einschränkungen auch andere.net Sprachen) und.net Werkzeuge um native Apps zu kompilieren. Aber selbst wenn man Titanium (oder ein vergleichbares Framework wie z.b. Mono) verwendet muss man bedenken, dass sich der Entwickler trotzdem in die nativen Frameworks der jeweiligen Plattform einarbeiten muss, um etwas kompilieren bzw Eine native Binärdatei ist ein Anwendungspaket, das direkt auf dem Betriebssystem des jeweiligen Mobilgeräts ausgeführt werden kann. Es ist das was man sich für gewöhnlich vorstellt wenn man an eine native App denkt. 24

28 Abbildung 4.13: Usability und Performance in der Binären-Framework Matrix für nichtimmersive Apps cross-kompilieren zu können. Neue Frameworks zu erlernen ist deutlich schwieriger, als eine weitere Programmiersprache zu erlernen. Wo ein erfahrener Programmierer evtl. einige Tage braucht, um mit einer neuen Programmiersprache wie z.b. Objektive-C zurecht zu kommen, kann es Wochen (wenn nicht sogar Monate oder Jahre) dauern, bis er wirklich gut mit den Patterns, der Kultur und den Feinheiten des jeweiligen Frameworks, wie z.b. Cocoa Touch zurecht kommt. [vgl. Bal12, Seiten ] Usability Macht die Framework-App Gebrauch vom jeweiligen nativen Framework, kann man eine hohe Gebrauchstauglichkeit (für nicht immersive Apps) erzielen, da die nativen Frameworks die Kultur, die Sprache, sowie die Gesten und Normen der jeweiligen Plattform definieren. Die Framework-App steht in diesem Fall einer nativ entwickelten App nichts nach. Verwendet die Framework-App allerdings keine nativen Komponenten, können plattformspezifische Funktionalitäten lediglich emuliert werden. Dies führt dann zu einem Mehraufwand bei der Entwicklung und meist zu leichten Fehlern und Inkonsistenzen im User Interface. Die andere Dimension, die in Abbildung 4.13 zu sehen ist, beschreibt die Performance der App mit der jeweiligen Entwicklungsmethode. Wurde die App mit einem Framework erzeugt, das nativen Binärcode kompiliert, ist die App direkt ausführbar und kann eine sehr hohe Performance erzielen. Ist sie dagegen mit einem Framework erzeugt 25

29 worden, das fremden Code erzeugt, ist sie auf eine weitere Abstraktionsschicht, wie einem speziellen Interpreter (z.b. Browser oder Flash-Player) angewiesen. Dies führt zu einem Performanceverlust der App. [vgl. Bal12, Seite 276] Stärken Eine Framework-App kann die Stärken einer nativen und hybriden App vereinen. Dies ist der Fall, wenn die App mit einer vertrauten Sprache wie z.b. JavaScript nativen Binärcode kompiliert, der Gebrauch von nativen Frameworks macht. Auf diese Weise kann man für mehrere Plattformen entwickeln (Vorteil gegenüber nativen Apps), eine hohe Usability erzielen und dabei direkt ausführbaren Code (Vorteil gegenüber hybriden Apps) kompilieren. Aber wie oben schon erwähnt, muss eine Framework-App nicht von dieser Art sein. Verwendet die App beispielsweise eine vertraute Code-Basis wie HTML, CSS und JavaScript und generiert daraus anschließend nativen Binärcode der aber keine nativen Frameworks verwendet (wie z.b. PhoneGap), wird es schwer eine hohe Usability für nicht immersive Apps zu erzielen. Da Framework-Apps für gewöhnlich wie hybride Apps auch auf einer gemeinsamen Code-Basis arbeiten, besitzen sie in diesem Punkt auch dieselben Vorteile. Änderungen an der Kernfunktionalität der App sind schnell umgesetzt und müssen nicht in jeder Plattformvariante separat geändert werden (ausgeschlossen von plattformspezifischen Funktionen). Dazu kommt der Performancegewinn den man erzielt, wenn man nativen Binärcode kompiliert der vom Mobilgerät anschließend direkt ausführbar ist Schwächen Der Nachteil einer Framework-App ist, dass man eine weitere Abstraktionsschicht bekommt, mit der man arbeiten muss. Die Qualität der App, die man entwickelt, ist dann stark davon abhängig, wie hoch die Qualität des Quellcodes ist, die das Framework kompiliert, bzw. generiert. Außerdem ist man bei der Entwicklung von Apps, die Gebrauch von nativen Frameworks machen auch davon abhängig, wie schnell das jeweilige Framework die neuen Features des einzelnen nativen Frameworks bzw. SDKs unterstützt. Also steht und fällt die Qualität der App mit der Frameworkqualität. Darüber hinaus ist es ein Trugschluss zu behaupten, dass man bei der Entwicklung einer Framework-App (wie z.b. Titanium) komplett vom jeweiligen, nativen Framework abstrahieren kann. Die Entwickler müssen sich trotzdem mit den nativen Framework- Elemente auseinander setzen, um sie in einer anderen, vertrauteren Sprache beschreiben zu können. Also existiert auch hier ein plattformspezifischer Aufwand seitens der Entwickler, der aber aktuell notwendig ist um die Kultur, Konventionen und Normen der Plattform einzuhalten. 26

30 Abbildung 4.14: Mit Titanium entwickelte Framework-App: ios Variante (links) und Android Variante (rechts), Abrufdatum: Beispiel Kellogs Fiber Tracker Das Unternehmen Kellogs hat z.b. auf das Framework Appcelerator Titanium bei der App-Entwicklung gesetzt. In Abbildung 4.14 ist die ios Smartphone Variante der Fiber Tracker App von Kellogs der Android Smartphone Variante gegenübergestellt. Die Kernfunktionalität wurde dabei mittels JavaScript beschrieben, woraufhin anschließend die jeweilige, native Variante cross-kompiliert wurde. Bei dieser App kann man den plattformspezifischen Unterschied zwischen ios und Android schon auf der Startseite sehen. Der auffälligste Unterschied ist der, dass sich die Tab-Bar in der Android Variante nicht am unteren Rand befindet, sondern oben. Das Suchfeld befindet sich zwar an derselben Position, ist aber in der Android Variante entsprechende anders gestaltet. Und der ios typische Share-Button oben rechts existiert in der Android gar nicht. 27

31 4.5 Resümee Worüber man sich also als App-Entwickler im klaren sein muss ist, dass Einmal schreiben und überall läuft es ein Mythos ist. Es müsste vielmehr heißen Einmal schreiben und überall optimieren, denn wenn man bei einer nicht immersiven App ein positives Nutzungserlebnis ermöglichen möchte, muss man diese für jede Plattform die man unterstützen möchte optimieren. Das gilt für jeden Entwicklungsansatz den man wählt, denn jede Plattform hat ihre eigene Kultur, Sprache und Konventionen, die auch von den Nutzern in den Apps erwartet wird. Und die meisten Nutzer interessiert es auch nicht, auf wie vielen anderen Geräten bzw. Plattformen die App sonst noch läuft, sie interessieren sich nur dafür, wie gut es auf ihrem aktuellen Gerät funktioniert. Das hat zur Folge, dass viel getestet und viel Zeit investiert werden muss, um auf unterschiedlichen Plattformen ein gutes Ergebnis zu erzielen. Web-Technologien holen stark auf. Seitdem WebApps mit Features wie Offline- Support und Gestensteuerung nativen Apps immer näher kommen verschwimmt die Linie zwischen Web und Nativ langsam immer mehr. Mittlerweile ist es schon soweit, dass in Betriebssystemen wie Palms WebOS, Google Chrome oder FireFox OS die nativen Technologien inzwischen Web-Technologien sind. Immer mehr Anwendungen werden ins Web verlagert und fühlen sich für den Nutzer mehr und mehr wie Desktopanwendungen an. Ganze Entwicklungsumgebungen wie z.b. Cloud9 11, Brackets 12 oder beeindruckende 3D-Präsentationen mittels Impress.js 13 sind mittlerweile stark im Kommen. Doch schaut man sich die Seite der nativen Entwicklung an, ist ebenfalls eine deutliche Entwicklung zu sehen. In gewisser Hinsicht holen auch die nativen Anwendungen WebApps ein, weil sie die entscheidenden Vorteile die WebApps bisher hatten nun stark bedrohen. 1. Einfache Implementierung und Zugriff Mit einem App-Store wie bei Apple ist das Finden einer App so einfach, wie das Eintippen einer URL in den Browser. Außerdem kann man auch genauso wie bei einer WebApp eine URL aufrufen, um eine App im App-Store herunterzuladen und zu installieren. 2. Automatische Updates Es ist mittlerweile keine Seltenheit mehr, dass Updates von Apps im Hintergrund ausgeführt werden und somit explizite, vom Nutzer veranlasste Updates, überflüssig werden. 3. Nathloser Zugriff auf Daten Mit Cloud-Technologien wie z.b. die icloud von Apple oder Dropbox wird die manuelle Synchronisierung zur Vergangenheit. Die Daten sind automatisch auf allen Geräten zur Verfügung und man muss sich nicht mehr um einen konsistenten Stand kümmern. 11 https://c9.io Entwicklungsumgebung basierend auf Web-Technologien 12 Code-Editor ebenfalls basierend auf Web-Technologien 13 Presentation tool based on the power of CSS3 transforms and transitions in modern browsers 28

32 Abbildung 4.15: GULP Trend Analyse: Durchschnittliche Stundenlöhne Mobile (12/2011 bis 12/2012) Native Apps holen also WebApps auf, indem sie die Vorteile des Internets genauso nutzen, wie es auch WebApps tun. Im Zeitalter von Continous Clients wird sich das Web lediglich zu einem weiteren Client entwickeln. Es mag der beste Client für bestimmte Kontexte sein, aber die Nutzer haben letztendlich die Wahl. In naher Zukunft werden Continous Clients wahrscheinlich eine Kernerwartung, statt einer Seltenheit sein, insbesondere Cloud-Technologien wie die icloud ermöglichen es diese einfacher zu implementieren. [vgl. Bal12, Seiten ] Aber eins ist klar, völlig egal welche Plattform in Zukunft die beliebteste sein wird, das Web wird Teil dieser Zukunft sein. Die Frage ist nur, welcher Teil es sein wird, komplexere Apps bis hin zu Spielen oder lediglich Apps, wo der Inhalt im Vordergrund steht? Schaut man sich eine Übersicht über die durchschnittlichen Stundensätze von Entwicklern nach Technologien an (4.15), ist zu erkennen, dass Entwickler für Web-Technologien noch den niedrigsten Stundenlohn bekommen. Framework-Entwickler im Mittelfeld liegen und Entwickler, die direkt in nativen Programmiersprachen entwickeln, den höchsten Stundensatz haben. Die Spanne liegt dabei von knapp unter 60 bis knapp über 70 Euro. Durch die wachsenden Möglichkeiten von HTML5 und CSS3 ist allerdings zu erwarten, dass auch immer qualifiziertere Anwendungsentwickler mit sehr guten Kenntnissen in Web-Technologien gefragt sein werden. 29

33 5 Die richtige Methode In diesem Kapitel geht es darum, einen besseren Überblick darüber zu bekommen, welche Entwicklungsmethode für welche Art von App am besten geeignet ist. Dabei liegt der Fokus wieder auf nicht immersiven Apps. 5.1 Dokumenten-zu-Anwendungen Kontinuum Ungeachtet dessen, welche Plattform in Zukunft gewinnen wird, die Zukunft liegt im Native Design (Kultur, Sprache, Konventionen). Die Frage ist nicht Sollen wir auf Web oder Nativ setzen, sondern Welche Client-Technologien sollten wir in unserer neuen App unterstützen?. Um diese Frage beantworten zu können, muss man die eigentliche Natur der App verstehen lernen. Ist man sich dieser bewusst, positioniert man anschließend die App möglichst genau innerhalb des Dokumenten-zu-Anwendugen Kontinuums (siehe Abbildung 5.1). Das Dokumenten-zu-Anwendungen Kontinuum klassifiziert ein Produkt demnach, ob es eher inhaltsbezogen oder funktionsbezogen ist. Man bezeichnet eine inhaltsbezogene Kollektion von Dokumenten im Web z.b. als eine Website. Ein funktionsbezogenes Produkt bezeichnet man hingegen als eine Anwendung bzw. Application (App). Tendiert ein Produkt eher zu der Dokumentenseite des Kontinuums, nutzt man Progressive Enhancement und Responsive Design um Features und Interaktionsmöglichkeiten Schichtweise auf den inhaltsbasierenden Kern zu legen. Auf diese Weise bleibt der eigentliche Kern der Anwendung für eine sehr große Zielgruppe weiterhin zugänglich. Ist das Produkt eher im Bereich einer Anwendung angesiedelt, wird eine Umsetzung mittels Progressive Enhancement schwieriger. Im Grunde ist dies sogar völlig sinnlos. Abbildung 5.1: Dokumenten-zu-Anwendungen Kontinuum 30

34 Stellt man sich beispielsweise einen Online Image Editor vor, wie sollte man diesen sinnvoll, schrittweise reduzieren? Wie würde dieser Editor auf einem Gerät ohne grafischem Display funktionieren? Welchen Inhalt sollte man dem Nutzer stattdessen darstellen, wenn der eigentliche Inhalt der Anwendung die Funktionalität selbst ist? Man könnte zwar die Funktionalitäten und Interaktionsmöglichkeiten der Anwendung sukzessive reduzieren, aber dies würde zwangsläufig zu einem extrem hohen Aufwand und einer immer schlechteren Usability führen. Anwendungen charakterisieren sich meist dadurch, dass sie den Nutzer dazu befähigen, Inhalt zu erzeugen und nicht aufzunehmen. Betrachtet man das Beispiel eines Images Editors noch einmal: Er selbst besitzt keinen Inhalt, aber er befähigt den Nutzer dazu, Inhalt zu erzeugen. [vgl. Bal12, Seiten ] 5.2 Entscheidungsfindung Wie zuvor schon erwähnt, ist es wichtig sich über die eigentliche Natur der App bewusst zu werden, bevor man sich für eine konkrete Entwicklungsmethode & Technologie entscheidet. Im Folgenden werden drei Szenarien als Entscheidungshilfe vorgestellt. 1. Dokument (Website) Handelt es sich eher um eine inhaltsbezogene Anwendung, sind die Entwicklungsmethoden Web und Hybrid (normale Variante) eine gute Wahl. Sie ermöglichen es einem nämlich sehr gut, den Inhalt einer sehr großen Zielgruppe zugänglich zu machen. Unterschiedliche Plattformen sind dabei kein großes Problem und mittels Progressive Enhancement kann dem Nutzer auch abhängig vom aktuellen Endgerät maximaler Komfort geboten werden. Die Tatsache, dass keine nativen Frameworkelemente genutzt werden, ist in diesem Fall nicht so tragisch, weil der Fokus bei einem Dokument mehr auf dem Lesen als auf dem Interagieren liegt. 2. Anwendung (App) Handelt es sich eher um eine funktionsbezogene Anwendung, kommen die zwei Methoden Nativ und Framework (Variante kompiliert) in Frage, weil sie es einem beide ermöglichen Apps zu entwickeln, die sehr schnell, flüssig und sehr gebrauchstauglich sind. Ist es einem wichtig, möglichst alle Plattformen zu unterstützen, bleibt einem nur noch der Framework Ansatz. Einen nativen Ansatz für alle Plattformen zu beschreiten, würde den Rahmen bei einem realistischen Budget meist sprengen. 3. Mischung zwischen Website & App Ist man sich nicht sicher ob die Anwendung eher inhaltsbezogen oder funktionsbezogen ist, kommen erst einmal die beiden Methoden Nativ und Hybrid (gemischte Variante) in Frage. Sind einem Geschwindigkeit, Performance und Usability anwendungsübergreifend wichtig, bleibt einem nur noch die Native Variante. Dabei verliert man dann allerdings die Plattformunabhängigkeit. Möchte man aber auch unbedingt mehrere Plattformen unterstützen, ohne dabei auf plattformspezifische Funktionen verzichten zu müssen, ist die Mixed Hybrid App die ideale Wahl. 31

35 Abbildung 5.2: Direkter Vergleich der vorgestellten Entwicklungsmethoden anhand einiger Schlüsselkriterien 32

Native App Design. Entwicklungsmethoden & deren Einfluss auf die Usability. Master-Seminar WS12/13 Karsten Nolte. Freitag, 8.

Native App Design. Entwicklungsmethoden & deren Einfluss auf die Usability. Master-Seminar WS12/13 Karsten Nolte. Freitag, 8. Native App Design Entwicklungsmethoden & deren Einfluss auf die Usability Master-Seminar WS12/13 Karsten Nolte Quelle: http://www.cloudsherpas.com/wp-content/uploads/2012/07/our-mobile-development-capabilities.jpg

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

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

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

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

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

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

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Agenda Problemstellung Medizinprodukt App Grundlagen Szenarien (Problemstellungen und Lösungsansätze) 03.06.2013 2 Innovationen

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

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

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

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

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

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

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 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

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

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

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

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

Appery.io Mobile Apps schnell und einfach entwickeln

Appery.io Mobile Apps schnell und einfach entwickeln Appery.io Mobile Apps schnell und einfach entwickeln Cloud-basierte Entwicklungsumgebung, keine lokale Installation von Entwicklungsumgebung nötig. Technologie: HTML5. JQuery Mobile, Apache Cordova. Plattformen:

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

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

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart, 03.04.2014

Mobility mit IBM Worklight Erste Schritte zu einer mobilen App. Benjamin Stein, Consultant Stuttgart, 03.04.2014 Mobility mit IBM Worklight Erste Schritte zu einer mobilen App Benjamin Stein, Consultant Stuttgart, 03.04.2014 Agenda Was ist IBM Worklight eigentlich? Hintergrund und Idee, Architektur und Bestandteile

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

inserteffect GmbH Kurzvorstellung und Arbeitsbeispiele

inserteffect GmbH Kurzvorstellung und Arbeitsbeispiele inserteffect GmbH Kurzvorstellung und Arbeitsbeispiele WebApps ios Apps App Konzeption Plattformübergreifend Mobile Usability Android Apps Hybrid Apps Mobile Design Branchenübergreifend Windows (Phone)

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

Apps entwickeln mit HTML und Javascript

Apps entwickeln mit HTML und Javascript Apps entwickeln mit HTML und Javascript Framework "PhoneGap" (Apache Cordova) Apps für diverse Mobil-Plattformen (Android, ios, etc.) Apps als Web-Anwendung Vor- und Nachteile zu nativen Apps. Frank Bartels

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

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

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

Einführung in die Cross-Plattform Entwicklung Das Intel XDK

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

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

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

Von Der Idee bis zu Ihrer App

Von Der Idee bis zu Ihrer App Von Der Idee bis zu Ihrer App Solid Apps Von Der Idee bis zu Ihrer App Konzeption, Design & Entwicklung von Applikationen für alle gängigen Smartphones & Tablets Sowie im Web - alles aus einer Hand! In

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

Excelsis Business Technology AG

Excelsis Business Technology AG Excelsis Business Technology AG Wearables, Smartphones & Co. im Unternehmenseinsatz Christian Sauter, Vorstand, Excelsis Business Technology AG DATAGROUP Strategie Forum: Enterprise Mobility Hamburg, 25.

Mehr

Sichtbar im mobilen Web. Die Optimierung von Websites für mobile Endgeräte

Sichtbar im mobilen Web. Die Optimierung von Websites für mobile Endgeräte Die Optimierung von Websites für mobile Endgeräte 1 2 Die Optimierung von Websites für mobile Endgeräte Die Anzahl der Personen, die das mobile Internet nutzt, hat sich seit 2012 nahezu verdoppelt. Waren

Mehr

Mobile Application Development

Mobile Application Development Mobile Application Development Android: Einführung Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Lernziele Der/die Kursbesucher/in kann

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

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

Mobile Anwendungen im SAP-Umfeld

Mobile Anwendungen im SAP-Umfeld Erstes Symposium für neue IT in Leipzig 27. September 2013 Michael Rentzsch Informatik DV GmbH michael.rentzsch@informatik-dv.com +49.341.462586920 IT-Trend: Mobile Mobile might be one of the most interesting

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

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

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

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

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

3.9 Grundelemente einer Benutzeroberfläche

3.9 Grundelemente einer Benutzeroberfläche 92 3 Grundlagen einer ios-anwendung 3.8.4 Target-Actions Einer der häufigsten Anwendungsfälle bei einer Oberfläche ist das Betätigen einer Schaltfläche durch einen Anwender, woraufhin eine bestimmte Aktion

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

Über uns... 3 Online Marketing... 4 Programmierung... 5 Webdesign... 6 Apps... 7 Design & Print... 8 Referenzen... 9

Über uns... 3 Online Marketing... 4 Programmierung... 5 Webdesign... 6 Apps... 7 Design & Print... 8 Referenzen... 9 Über uns... 3 Online Marketing... 4 Programmierung... 5 Webdesign... 6 Apps... 7 Design & Print... 8 Referenzen... 9 ÜBER UNS UNS Wir sind eine Full-Service Werbeagentur aus Heppenheim, die deutschlandweit

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

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

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

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

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

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

Value Added Services (VAS) Mobile. Kundenprojekte

Value Added Services (VAS) Mobile. Kundenprojekte Value Added Services (VAS) Mobile Kundenprojekte Live Reply arbeitet bereits seit 10 Jahren an mobilen en. en und Anwendungsfälle reichen von Widgets bis hin zu ausgeklügelten Symbian- oder Android-en

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

PLATTFORMÜBERGREIFENDE ENTWICKLUNG VON APPS

PLATTFORMÜBERGREIFENDE ENTWICKLUNG VON APPS PLATTFORMÜBERGREIFENDE ENTWICKLUNG VON APPS DIPL.-WIRT.INFORM. HENNING HEITKÖTTER PRAKTISCHE INFORMATIK, UNIVERSITÄT MÜNSTER 1 GEGENÜBERSTELLUNG NATIVE VS. PLATTFORMÜBERGREIFENDE ENTWICKLUNG 2 ENTWICKLUNGSANSÄTZE

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

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

OMICRON App zur Steuerung eines Messgeräts

OMICRON App zur Steuerung eines Messgeräts Mobile Lösungen im industriellen Umfeld jetzt die Chancen nutzen! Die Benutzerführung auf Tablets und Smartphones hat die Gestaltung von Bedienoberflächen revolutioniert. Interaktionskonzepte wie Multitouch

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

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

SMARTPHONES. Möglichkeiten, Gefahren, Sicherheit Best Practice Peter Teufl

SMARTPHONES. Möglichkeiten, Gefahren, Sicherheit Best Practice Peter Teufl SMARTPHONES Möglichkeiten, Gefahren, Sicherheit Best Practice Peter Teufl A-SIT/Smartphones iphone security analysis (Q1 2010) Blackberry security analysis (Q1 2010) Qualifizierte Signaturen und Smartphones

Mehr

Jörg Neumann Acando GmbH

Jörg Neumann Acando GmbH Jörg Neumann Acando GmbH Jörg Neumann Principal Consultant bei der Acando GmbH MVP Windows Platform Development Beratung, Training, Coaching Buchautor, Speaker Mail: Joerg.Neumann@Acando.com Blog: www.headwriteline.blogspot.com

Mehr

Eine Site für alle Geräte? 200grad GmbH & Co. KG 02.03.2014

Eine Site für alle Geräte? 200grad GmbH & Co. KG 02.03.2014 Eine Site für alle Geräte? 200grad GmbH & Co. KG 02.03.2014 Mit der zunehmenden Nutzung des Internets über mobile Endgeräte wie Smartphones und Tablet-PCs steigt die Notwendigkeit, den Internetauftritt

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

Der schnelle Weg zu Ihrer eigenen App

Der schnelle Weg zu Ihrer eigenen App Der schnelle Weg zu Ihrer eigenen App Meine 123App Mobile Erreichbarkeit liegt voll im Trend. Heute hat fast jeder Zweite in der Schweiz ein Smartphone und damit jeder Zweite Ihrer potentiellen Kunden.

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

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

mobile Responsive Design Lässt Ihre Anwendungen und Inhalte auf jedem Gerät einfach gut aussehen 2012 www.intuio.at

mobile Responsive Design Lässt Ihre Anwendungen und Inhalte auf jedem Gerät einfach gut aussehen 2012 www.intuio.at mobile Responsive Design Lässt Ihre Anwendungen und Inhalte auf jedem Gerät einfach gut aussehen 2012 www.intuio.at 1 It is not the strongest of the species that survives, nor the most intelligent, but

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

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

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

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

HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS 11.09.2012 IOZ AG 1

HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS 11.09.2012 IOZ AG 1 HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS 11.09.2012 IOZ AG 1 AGENDA Einführung Apps - Einführung Apps Architektur SharePoint-Hosted Apps Cloud-Hosted Apps Ausblick 11.09.2012 IOZ AG 2 ÜBER

Mehr

Einführung in den myapp2go Admin Bereich

Einführung in den myapp2go Admin Bereich Einführung in den myapp2go Admin Bereich Der Adminbereich kann bei unterschiedlichen Modulen andere Menüpunkte bei Ihnen haben, die Funktionalität ist aber gleich wie hier beschrieben. Selbstverständlich

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

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

connect.it Mobile Future, Heilbronn Think mobile: Die Bedeutung des mobilen Web für Unternehmen? 11. August 2014, Oliver Schmitt

connect.it Mobile Future, Heilbronn Think mobile: Die Bedeutung des mobilen Web für Unternehmen? 11. August 2014, Oliver Schmitt connect.it Mobile Future, Heilbronn Think mobile: Die Bedeutung des mobilen Web für Unternehmen? 11. August 2014, Oliver Schmitt Wir gehen schon lange nicht mehr ins Web. Wir sind überall always online.

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

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

Webdesign-Trends. Digital News KW 18 Stand: April 2013

Webdesign-Trends. Digital News KW 18 Stand: April 2013 Webdesign-Trends Digital News KW 18 Stand: April 2013 Webdesign-Trends 2013 Das Jahr 2013 ist in vollem Gange und es ist eine gute Zeit, den Blick auf Webdesign-Trends zu werfen die sich zwar nicht an

Mehr

Mit Cloud Power werden Sie zum

Mit Cloud Power werden Sie zum Mit Cloud Power werden Sie zum Herzlich Willkommen! Christian Hassa Managing Partner TechTalk Software AG Agenda Mobile App Development mit Xamarin Pause Azure Mobile Services Q&A 9h00-10h30 10h30-10h50

Mehr

Wo steht HTML5 Überblick, Möglichkeiten, Zukunft (ohne Anspruch auf Vollständigkeit)

Wo steht HTML5 Überblick, Möglichkeiten, Zukunft (ohne Anspruch auf Vollständigkeit) 1 Wo steht HTML5 Überblick, Möglichkeiten, Zukunft (ohne Anspruch auf Vollständigkeit) Sven Brencher 2 Wie ich zu Webentwicklung stehe Yeah Flexbox! Entwickler vs. Unternehmer ROI? 3 Wie kann man HTML5

Mehr

HYBRID-APPS ENTWICKELN. UWE MUTZ Univ.-Lektor Ing. MSc MAS

HYBRID-APPS ENTWICKELN. UWE MUTZ Univ.-Lektor Ing. MSc MAS HYBRID-APPS ENTWICKELN UWE MUTZ Univ.-Lektor Ing. MSc MAS ZIEL DES WEBINARS Einblick in die Entwicklung einer App auf Basis einer Website Verständnisgewinn zum Thema App-Entwicklung generell: Website Responsive

Mehr

Das folgende Konzept ist ein Vorschlag für einen Webentwicklungs-Workshop. Die einzelnen

Das folgende Konzept ist ein Vorschlag für einen Webentwicklungs-Workshop. Die einzelnen Workshop Moderne Frontend-Webentwicklung Peter Kröner Webtechnologie-Experte Telefon: 0151 55994172 E-Mail: peter@peterkroener.de Web: www.peterkroener.de Das folgende Konzept ist ein Vorschlag für einen

Mehr

www.jsf-academy.com JSF goes Mobile Mit JavaServer Faces mobile Welten erschließen Copyright 2013, Andy Bosch, www.jsf-academy.

www.jsf-academy.com JSF goes Mobile Mit JavaServer Faces mobile Welten erschließen Copyright 2013, Andy Bosch, www.jsf-academy. www.jsf-academy.com JSF goes Mobile Mit JavaServer Faces mobile Welten erschließen Copyright 2013, Andy Bosch, www.jsf-academy.de Slide 1 Was habe ich heute vor? Aufzeigen, welche Möglichkeiten JSF bietet,

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

Von der mobilen Applikation zum mobilen integrierten Service Werkzeuge, Partner und Strategien

Von der mobilen Applikation zum mobilen integrierten Service Werkzeuge, Partner und Strategien Von der mobilen Applikation zum mobilen integrierten Service Werkzeuge, Partner und Strategien Prof. Dr. Wolf Knüpffer Teamleiter ebusiness Lotse Metropolregion Nürnberg Hochschule für angewandte Wissenschaften

Mehr

Die Schweizer sind Weltmeister...

Die Schweizer sind Weltmeister... Nefos GmBH 07.03.2013 Die Schweizer sind Weltmeister... 2 ...im App-Download! Jeder Schweizer hat im Schnitt 19 kostenpflichtige Apps auf seinem Smartphone! 3 Top Mobile Trends In two years, 20% of sales

Mehr

Handbuch für Android 1.5

Handbuch für Android 1.5 Handbuch für Android 1.5 1 Inhaltsverzeichnis 1 Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 3 2. Installation... 5 3. Grundfunktionen... 5 3.1 Einrichtung von Boxcryptor

Mehr

So#ware- Engineering und Management für eine Smartphone App

So#ware- Engineering und Management für eine Smartphone App So#ware- Engineering und Management für eine Smartphone App Cloud Manager Eine Smartphone App für mobiles, anbieterübergreifendes Cloud- Management 26.10.2012 Chris

Mehr

Zuerst: Installation auf dem Mobilgerät (des Kindes)

Zuerst: Installation auf dem Mobilgerät (des Kindes) Inhalt Willkommen... 3 Was ist der Chico Browser?... 3 Bei Android: App Kontrolle inklusive... 3 Das kann der Chico Browser nicht... 3 Zuerst: Installation auf dem Mobilgerät (des Kindes)... 4 Einstellungen

Mehr

2 Whitepaper: Responsive UX Design

2 Whitepaper: Responsive UX Design Responsive UX Design Warum mobil? Eines der aktuellsten Themen in der Technischen Dokumentation ist die Bereitstellung von Inhalten für mobile Geräte. Zahlreiche Experten weisen auf die wachsende Bedeutung

Mehr

SHS Swiss Innovation Tour ITB 2014. Responsive Webdesign Unschlagbar schnelle Websites Web Analytics Tricks

SHS Swiss Innovation Tour ITB 2014. Responsive Webdesign Unschlagbar schnelle Websites Web Analytics Tricks SHS Swiss Innovation Tour ITB 2014 Responsive Webdesign Unschlagbar schnelle Websites Web Analytics Tricks Responsive Webdesign Ein Web für Alle Die Geschichte des Mobile Web Android Galaxy ipad WAP 1997

Mehr

IBM Cognos Mobile Überblick, Security und Individualisierung

IBM Cognos Mobile Überblick, Security und Individualisierung IBM Cognos Mobile Überblick, Security und Individualisierung PPI AG, Peter Clausen 19. Februar 2015 PPI Roadshow BI Agenda IBM Cognos Mobile Überblick Merkmale Komponenten und Technologie Administration

Mehr

Web 2.0 Architekturen und Frameworks

Web 2.0 Architekturen und Frameworks Web 2.0 Architekturen und Frameworks codecentric GmbH Mirko Novakovic codecentric GmbH Quality Technische Qualitätssicherung in Software-Projekten mit Fokus auf Performance, Verfügbarkeit und Wartbarkeit

Mehr