HTML5 und das Framework jquery Mobile

Größe: px
Ab Seite anzeigen:

Download "HTML5 und das Framework jquery Mobile"

Transkript

1 HTML5 und das Framework jquery Mobile Seminararbeit im Wintersemester 2011/12 Fachhochschule Aachen Standort Jülich Fachbereich Medizintechnik und Technomathematik Studiengang Scientic Programming Naeema Anees Matrikelnr Betreuer: Prof. Ulrich Stegelmann 2. Betreuer: Dipl.-Inform. Axel Blum Aachen, den

2 ,

3 Vorwort Diese Seminararbeit beschäftigt sich mit HTML5 und dem Framework jquery Mobile. Kapitel 1 gibt eine kurze Einführung in das Thema und erörtert auch die Relevanz. Die Grundlagen des Webs und der Webprogrammierung werden in Kapitel 2 vermittelt. Kapitel 3 erläutert Aspekte der Softwareentwicklung für mobile Endgeräte. In Kapitel 4 werden HTML5, CSS3 und JavaScript-APIs vorgestellt. Darauf aufbauend wird in Kapitel 5 auf die Entwicklung von Apps für das Betriebssystem ios eingegangen. In Kapitel 6 wird ein Fazit gezogen. Abschlieÿend gibt Kapitel 7 einen kurzen Ausblick. Alle verwendeten Codebeispiele sind in HTML5 und JavaScript geschrieben und - wenn nicht anders gekennzeichnet - eigenhändig verfasst. Alle Abbildungen sind - sofern nicht anders gekennzeichnet - entweder Screenshots oder wurden mit Microsoft Visio Premium 2010 erstellt.

4 Inhaltsverzeichnis Eidesstattliche Erklärung 2 Vorwort 3 Inhaltsverzeichnis 5 Abbildungsverzeichnis 6 Tabellenverzeichnis 7 1 Einleitung 8 2 Grundlagen der Webprogrammierung TCP/IP Das HTTP-Protokoll Webserver Was ist HTML? JavaScript CSS Softwareentwicklung für mobile Endgeräte 17 4 HTML5, CSS3 und JavaScript-APIs Vergleich zu HTML Neuerungen Webapplikationen oine nutzen Video Browserunterstützung JavaScript-APIs Das JavaScript Framework jquery Mobile Einführung Design Features Appentwicklung für das Apple-Betriebssystem ios Native Apps

5 Inhaltsverzeichnis 5.2 Vergleich von Webapps mit nativen Apps Fazit 37 7 Ausblick 38 Literatur- und Quellenverzeichnis 40 Hilfsmittel 43 5/ 43

6 Abbildungsverzeichnis 2.1 Die vier Schichten von TCP/IP Aufruf: Beispiel HTML-Dokument HTML5 & CSS3 Support, (Aufruf am um 13:00 Uhr) vgl. jquery Mobile Supported Platforms, und in Anlehnung an: Original Graded Browser Matrix, beide: 2010 (Aufruf am um 13:00 Uhr) Beispiel HTML-Dokument Beispiel HTML-Dokument mit jquery Mobile Beispiel HTML-Dokument ohne jquery Mobile Barcode ipod gekoppelt mit Bluetooth-Barcodescanner

7 Tabellenverzeichnis 3.1 Vergleich: mobile Endgeräte vs. Desktop PCs [Davi12, vgl. S.7f.] Vergleich von HTML5-Apps mit nativen Apps

8 1 Einleitung Smartphones und mit ihnen die mobilen Applikationen sind auf dem Vormarsch. 1 Dabei ist Smartphone nicht gleich Smartphone: es werden die unterschiedlichsten Geräte mit verschiedenen Betriebssystemen vertrieben. Jedes Betriebssystem besitzt seine eigenen Architekturen für die Entwicklung von mobilen Applikationen - den sogenannten Apps. Für Android existiert z.b. ein Android-SDK 2 für Java mit Klassenbibliotheken. Apps für Apples Betriebssystem ios werden dagegen mittels der Entwicklungsumgebung XCode in der Programmiersprache Objective-C geschrieben. Damit ist jede so entwickelte App nur auf dem dafür vorgesehenen Betriebssystem einsetzbar. Hat ein Unternehmen nun das Ziel, eine App zu entwickeln, die auf möglichst vielen Betriebssystemen eingesetzt werden soll, so muss für jedes Betriebssystem eine eigene App entwickelt werden. HTML verspricht Abhilfe: Mittels HTML entwickelte mobile Webseiten sind auf jedem Gerät aufrufbar - benötigt wird nur ein Browser, der HTML unterstützt. In seinem Buch HTML5 Mobile Websites - Turbocharging HTML5 with jquery Mobile, Sencha Touch, and Other Frameworks schreibt Matthew David: If you look at all ve companies, Apple, Google, Microsoft, RIM and HP, and their mobile operating systems, one single common thread can be see among all of them: HTML5-enabled browsing.[davi12, S.7] Er bezieht sich dabei auf HTML5 - der neuesten Version von HTML. Diese wird aktuell diskutiert: Am 09.November 2011 verkündete z.b. Adobes Vizepräsident und Generalmanager Danny Winokur, dass Adobe die Entwicklung vom Flash Player für die Browser mobiler Geräte einstellen und sich mit HTML5 beschäftigen wird: However, HTML5 is now universally supported on major mobile devices, in some cases exclusively. This makes HTML5 the best solution for creating and deploying content in the browser across mobile plat- 1 vgl. 2 SDK ist die Abkürzung von Software Development Kit. Sie bietet verschiedene Werkzeuge an, die z.b. von Softwareentwicklern benutzt werden können.

9 1 Einleitung forms. We are excited about this, and will continue our work with key players in the HTML community, including Google, Apple, Microsoft and RIM, to drive HTML5 innovation they can use to advance their mobile browsers.[wino11] Damit gab Winokur Apple-Gründer Steve Jobs posthum Recht: dieser hat im April 2010 Adobe aufgefordert, sich mehr auf HTML5 zu konzentrieren als auf Flash: New open standards created in the mobile era, such as HTML5, will win on mobile devices (and PCs too). Perhaps Adobe should focus more on creating great HTML5 tools for the future, and less on criticizing Apple for leaving the past behind.[jobs10] Steve Jobs weigerte sich, Flash auf seinen Systemen (z.b. dem iphone) zuzulassen, er warb mehr für HTML5: Though the operating system for the iphone, ipod and ipad is proprietary, we [Apple] strongly believe that all standards pertaining to the web should be open. Rather than use Flash, Apple has adopted HTML5, CSS and JavaScript all open standards. Apple's mobile devices all ship with high performance, low power implementations of these open standards. HTML5, the new web standard that has been adopted by Apple, Google and many others, lets web developers create advanced graphics, typography, animations and transitions without relying on third party browser plug-ins (like Flash). HTML5 is completely open and controlled by a standards committee, of which Apple is a member.[jobs10] Doch was ist HTML5? Was kann es? Inwieweit können mit HTML5, CSS 3 und JavaScript 4 funktionsfähige Webanwendungen erstellt werden? Und welche weitere Funktionalitäten bringen kostenlose Frameworks wie z.b. jquery Mobile 5 mit sich? 3 Mittels Cascading Style Sheets können Layoutvorlagen erstellt werden 4 Eine Skriptsprache 5 9/ 43

10 Die vorliegende Seminararbeit wird versuchen, eine Einführung in diese Thematik zu geben, die Fragestellungen zu beleuchten und - falls möglich - zu beantworten. 10/ 43

11 2 Grundlagen der Webprogrammierung Die Menschen sind heute nicht mehr verwurzelt, sondern vernetzt.[lubk03, S.109] 2.1 TCP/IP Im Internet erfolgt die Kommunikation überwiegend mittels der Protokollfamilie TCP/IP. TCP ist die Abkürzung von Transport Control Protocol, IP ist die Abkürzung für Internet Protocol. IP- und TCP-Implementierungen sind Bestandteile eines Betriebssystems. Das TCP/IP-Referenzmodell baut mit seinen Schichten auf den Netzwerkkartentreibern auf. Abbildung 2.1 zeigt die vier Schichten von TCP/IP. Die Anwendungsschicht - Application Layer - implementiert die Schnittstellen für die Anwendungen. In der Anwendungsschicht werden Formalien festgelegt wie z.b. das Format von Nachrichten. Des Weiteren benutzt die Anwendungsschicht Protokolle wie z.b. SMTP für s oder HTTP zur Übertragung von Webseiten. Auf HTTP wird im nächsten Unterkapitel eingegangen. Die Anwendungsschicht gibt die Daten an die Transportschicht weiter. Die Transportschicht - Transport Layer - ist für die Kommunikation zwischen den Anwendungen (Anwendung 1 auf Gerät A will mit Anwendung 2 auf Gerät B kommunizieren) verantwortlich. Dabei wird TCP genutzt. TCP sorgt für einen zuverlässigen Datentransport durch verbindungsorientierte Kommunika-

12 2.1 TCP/IP Abbildung 2.1: Die vier Schichten von TCP/IP. tion. Vor der eigentlichen Kommunikation wird eine Verbindung zwischen den beiden Geräten, die miteinander kommunizieren wollen, aufgebaut und eine exklusive Leitung für die Kommunikation reserviert. Dabei täuscht TCP die Verbindungsorientierung vor, denn es wird nicht explizit eine Leitung für eine Kommunikation reserviert, sondern es wird durch Kontrollsegmente und Quittungen sichergestellt, dass die Daten am Zielgerät fehlerfrei ankommen. Für den Transport werden die Daten - der Bytestrom - in IP-Pakete zerlegt und verschickt. Auf dem Zielgerät müssen diese Pakete wieder zusammengesetzt werden. Für kurze und schnelle Übertragungen existiert das Protokoll UDP - die Abkürzung von User Datagram Protocol -, welches verbindungslos arbeitet, d.h. die Daten werden zufällig ins Netz geschickt - ohne Reservierung einer exklusiven Leitung. Jedes IP-Paket erhält einen sogenannten Header, der Informationen zur eindeutigen Identizierung enthält und damit der korrekten Zustellung des Paketes dient. Die Internetschicht - Network Layer - sorgt für die Adressierung. Sie stellt sicher, dass Rechner auch über die Grenzen des eigenen Rechners hinaus miteinander kommunizieren können. Dies geschieht, indem auch sie dem Paket einen Header mit den erforderlichen Informationen hinzufügt. Das Protokoll dazu ist IP. Die Netzwerkschicht - Network Access Layer - verbindet durch ein Protokoll den Host 1 mit dem Netz und bietet somit die Grundlage zur Versendung von IP-Paketen. Auch sie fügt dem Paket einen Header hinzu. 1 Ein Host stellt in einem Netzwerk Dienste zur Verfügung. 12/ 43

13 2 Grundlagen der Webprogrammierung Der Empfänger durchläuft diese Schichten in genau entgegengesetzter Richtung und jede Schicht liest den jeweiligen Header aus. 2.2 Das HTTP-Protokoll HTTP ist die Abkürzung von Hypertext Transfer Protocol, es ist ein Protokoll der Anwendungsschicht (vgl. Kapitel 2.1). Es wird beim Aufruf von Webseiten benutzt und verwendet TCP mit Port 80. Ein Port ist ein Kanal, über den ein Protokoll angesprochen wird. Ports sind durchnummeriert. Bei der Adressierung eines Protokolls wird folglich nicht nur die IP-Adresse, sondern auch die Portnummer angegeben. Im Allgemeinen dient das HTTP-Protokoll der Übertragung von Daten in einem Netzwerk. Abbildung 2.2 zeigt an einem Beispiel den Aufruf einer Webseite. Abbildung 2.2: Aufruf: Webserver Ein Webserver stellt Webanwendungen - genauer gesagt Webseiten, Graken und andere Inhalte - zur Verfügung. Sie können über das HTTP-Protokoll z.b. von einem Browser abgerufen werden. 13/ 43

14 2.4 Was ist HTML? Im Windows-Umfeld existiert der IIS - die Abkürzung von Internet Information Services -, der für Windows Server verfügbar ist.[micr11, vgl.] Dieser stellt Dokumente und Daten über Protokolle wie z.b. HTTP oder FTP bereit. 2.4 Was ist HTML? HTML ist die Abkürzung für HyperText Markup Language. Das Wort Hypertext steht für einen Link, der auf eine andere Webseite führt und der Begri Markup bezeichnet eine Hervorhebung. HTML ist keine Programmiersprache im eigentlichen Sinne, sondern es ist - wie der Name es schon sagt - eine Hypertext-Beschreibungssprache. Mit HTML können Dokumente erstellt werden, die dann von einem Browser dargestellt werden. HTML basiert auf dem sogenannten SGML - das ist die Abkürzung für Structured Generalized Markup Language[Lubk03, vgl. S. 109f.] Von HTML existieren mehrere Versionen. Diese werden entsprechend durch fortlaufende Nummern gekennzeichnet: Die neueste Version ist HTML5. Dementsprechend war die allererste Version von HTML das HTML 1, welches im Jahre 1990 veröentlicht wurde[lubk03, vgl. S. 110]. HTML baut auf dem HTTP- Protokoll auf. Ein HTML-Dokument besteht aus ASCII-Zeichen. Es enthält zum einem Inhalt, welcher dargestellt wird und zum anderem eine Struktur dieses Inhaltes mittels Tags, welche beschreiben, wie der Inhalt dargestellt wird. Ein Tag ist ein in der jeweiligen HTML-Spezikation festgelegter Ausdruck, der vom Browser interpretiert wird. Üblicherweise werden Tags durch spitze Klammern - also < und > - dargestellt. Es gibt Start- und End-Tags. Folgender Quellcode ist ein Beispiel für die Struktur eines einfaches HTML- Dokuments: 1 <!DOCTYPE html> 2 <head> 3 < t i t l e>dies i s t ein T i t e l</ t i t l e> 4 </ head> 5 <body> 6 <h2>dies i s t eine U e b e r s c h r i f t 2. Ordnung</ h2> 14/ 43

15 2 Grundlagen der Webprogrammierung 7 <a h r e f=" b e i s p i e l 1. html "> Dies i s t ein Link auf mich s e l b s t</ a> 8 <! Dies i s t e i n Kommentar > 9 </ body> 10 </ html> Abbildung 2.3 zeigt das Ergebnis. Abbildung 2.3: beispiel1.html Die Dateiendung eines HTML-Dokumentes ist üblicherweise.htm oder.html. 2.5 JavaScript JavaScript ist eine Skriptsprache. Skriptsprachen sind Sprachen, für die kein Compiler benötigt wird, d.h. der Code muss nicht in Maschinensprache übersetzt werden. JavaScript wird hauptsächlich clientseitig 2 eingesetzt 3. JavaScript ist plattformunabhängig: Die Verwendung von JavaScript ist unabhängig von dem Betriebssystem eines Clients, es muss nur JavaScript auf dem Client verfügbar sein. 2 D.h. das Skript wird vom Browser des Users ausgeführt und nicht auf dem Webserver 3 Ein Beispiel für serverseitigen Einsatz von JavaScript ist ASP.NET, mit welchem Webanwendungen - auf dem.net-framework aufbauend - erstellt werden. 15/ 43

16 2.6 CSS In einem HTML-Dokument kann JavaScript eingebunden werden - entweder direkt in die Datei oder ausgelagert in einer eigenen Datei. Der JavaScript-Code wird dann zur Laufzeit von dem Webbrowser interpretiert. Das HTML-Tag zur Verwendung von JavaScript lautet <script> bzw. für JavaScript-Code <script type="text/javascript">. JavaScript wird in einer Sandbox ausgeführt. Sie begrenzt den Zugri von JavaScript auf Browserobjekte, um zu verhindern, dass JavaScript-Code uneingeschränkt auf Ressourcen des Clients wie z.b. dem Dateisystem zugreifen kann. 2.6 CSS CSS ist die Abkürzung von Cascading Style Sheets. CSS wird im Zusammenhang mit HTML für die Gestaltung der durch HTML denierten Inhalte benutzt. Mittels CSS kann eine Vorlage, die Stylesheet genannt wird, angefertigt werden, die auf das komplette Dokument angewandt wird. Z.B. kann darin festgelegt werden, dass jeder Link, der bereits von dem User angeklickt wurde, in rot dargestellt wird. Soll die Farbe dann irgendwann z.b. in grün umgewandelt werden, so muss diese Änderung nur an einer Stelle - in der css-stylesheet-deniton - und nicht bei jedem Link eingepegt werden. Auch CSS bendet sich in einem permanentem Entwicklungsprozess: die erste Version von CSS - CSS wurde im Jahre 1996 veröentlicht. Die aktuelle Version ist CSS / 43

17 3 Softwareentwicklung für mobile Endgeräte Mobile Endgeräte besitzen andere Merkmale als Desktop PCs. Die Tabelle 3.1 vergleicht einige Merkmale von mobilen Endgeräten mit Desktop PCs. Merkmal Desktop PC mobiles Endgerät Displayauösung Standard: 1280x1024 Pixel zwischen 240x400 und 800x480 Pixel Orientierung Querformat Portrait und Landscape Bedienung Maus und Tastatur Hand Netzwerkverbindung meist LAN WLAN oder UMTS Rechenleistung Gröÿenordnung GFLOPS 1 Gröÿenordnung MFLOPS Tabelle 3.1: Vergleich: mobile Endgeräte vs. Desktop PCs [Davi12, vgl. S.7f.] Aus den Unterschieden ergeben sich einige Punkte für die Softwareentwicklung für mobile Endgeräte, die sich von der für Desktop PCs unterscheiden: Da die Displayauösungen bei mobilen Endgeräten generell kleiner als bei Desktop-PCs sind, muss beim Design beachtet werden, dass auch alles erkennbar ist. Vor allem muss berücksichtigt werden, dass die Bandbreite der Displayauösungen für mobile Endgeräte sehr groÿ ist. Auch sollte - wegen der Überschaubarund Nutzbarkeit - eine Softwarelösung für ein mobiles Endgerät nur Funktionen anbieten, die wirklich benötigt werden. Auch muss berücksichtigt werden, dass sich der Bildschirm der meisten mobilen Endgeräten drehen lässt, wodurch sich die Seitenverhältnisse ändern. Die mobile Anwendung muss darauf reagieren und das Design dementsprechend anpassen. Mobile Endgeräte werden in aller Regel über einen berührungssensitiven Bild- 1 FLOPS ist die Abkürzung von Floating-Point Operations Per Second

18 schirm (Touchscreen) - und nicht über Eingabegeräte wie Maus und Tastatur - bedient. Die Konsequenz ist, dass Buttons und andere Formen von der Gröÿe her so dargestellt werden müssen, dass sie mit dem Finger bedienbar sind. Die Gröÿe darf dementsprechend nicht zu klein sein. Des Weiteren sollte das Eingeben von langen Texten vermieden werden, da dies ein langsamer und unter Umständen schwieriger Prozess für den User darstellt. Deshalb sollten - wenn es möglich ist - mehrere Optionen oder ein Standardtext vorgegeben werden. Auch sollte berücksichtigt werden, dass die eingeblendete Tastatur meistens einen Teil des Bildschirms verdeckt. Es muss auch davon ausgegangen werden, dass ein Nutzer eines mobilen Endgerätes sich bewegt, d.h. im Extremfall ändert sich seine Position dauernd. Dies hat zur Folge, dass keine konstante und schnelle Netzverbindung zu erwarten ist. Deshalb muss zum einem mit einer niedrigen Übertragungsgeschwindigkeit, zum anderem mit kurzzeitigen Oine-Phasen gerechnet werden. Konsequenzen hat dies z.b. für Videos oder groÿen Graken, die auf einem mobilen Endgerät angezeigt werden sollen. Hier sollte über eine Anpassung der Inhalte nachgedacht werden. Kommt der User mit seinem mobilen Endgerät in ein Gebiet ohne Empfang, so sollte sich dies so wenig wie möglich auf die Software auswirken. Dies kann z.b. durch lokale Puer, in denen Daten zwischengespeichert werden, geschehen. Auch die deutlich langsamere Rechenleistung im Vergleich zu einem Desktop- PC sollte berücksichtigt werden. Deshalb sollte eine Software für mobile Geräte keine unnötigen Operationen ausführen. Eine Lösungsmöglichkeit, dennoch komplexe Anwendungen auszuführen, ist z.b. die Ausführung dieser auf einem Server und nicht auf dem Client selbst. Auch sollte die Software nur Funktionen anbieten, die sinnvoll sind. Dies dient auch der besseren Anwendbarkeit der Software für den User, der dann von unnötigen, zu komplexen oder unverständlichen Funktionen verschont wird. 18/ 43

19 4 HTML5, CSS3 und JavaScript-APIs Die HTML-Spezikationen werden vom World Wide Web Consortiums - abgekürzt als W3C - entwickelt. Dieses Gremium gibt sogenannte W3C Recommendations (deutsch: W3C Empfehlungen) heraus, die Techniken des World Wide Webs betreen. Gegründet wurde das W3C von Tim Berners-Lee, der als Gründer von HTML gilt. Die Idee von HTML entwickelte er während seiner Tätigkeit am CERN. Er machte sich Gedanken über einen Informationsaustausch zwischen Wissenschaftlern. Tim Berners-Lee wollte verhindern, dass Wissen mit Menschen verloren geht, wenn diese den CERN 1 verlassen. Mithilfe eines Hypertext-Systems wollte er eine Möglichkeit schaen, rasant veränderndes Wissen aufzuzeichnen.[bern89, vgl.] HTML5 ist die neueste Version von HTML. Sie bendet sich oziell allerdings noch in der Entwicklungsphase durch den W3C, Standard ist zur Zeit HTML Vergleich zu HTML Neuerungen HTML5 deniert neue Elemente und Attribute 3. Die Syntax ist kompatibel zu der von HTML 4. Im Zusammenhang mit HTML5 sind aber auch neue JavaScript-APIs deniert worden. Eine API (Abkürzung von application programming interface) ist eine Programmierschnittstelle. Sie stellt Methoden und 1 Europäische Organisation für Kernforschung 2 Die genaue Spezikation von HTML 4.01 nden Sie unter 3 Die HTML5-Spezikation nden Sie unter

20 4.1 Vergleich zu HTML 4 Funktionen bereit, die ein Softwareentwickler benutzen kann, wenn er die API in seine Software einbindet. Im folgenden Unterkapitel wird beispielhaft auf einige Aspekte eingegangen Webapplikationen oine nutzen HTML5 bietet als Möglichkeit zur Oine-Speicherung einer Webanwendung die Möglichkeit des Caches: Ein Cache ist ein temporärer Zwischenspeicher, in dem Ressourcen gespeichert werden, auf die öfter zugegrien wird. Bei HTML5 kann eine Datei - das sogenannte Cache Manifest - erstellt werden, die angibt, welche Dateien auf dem Client gespeichert werden sollen. Bei dem ersten Aufruf einer Webseite werden die im Cache Manifest angegebenen Dateien auf dem Client gespeichert. Bei jedem Aufruf der Webseite werden die lokal gespeicherten Dateien verwendet. Zusätzlich wird das Cache Manifest ausgelesen und überprüft, ob sich Änderungen in der Datei benden. Falls ja, wird diese erneut komplett abgearbeitet und die neuen Dateien beim nächsten Aufruf der Webseite verwendet. In dem Cache Manifest kann nicht nur angegeben werden, welche Dateien gecachet werden sollen, sondern es können auch explizit Dateien angegeben werden, die nicht gecachet werden sollen, diese sind dann aber z.b. bei nicht vorhandener Netzwerkverbindung auch nicht von dem Browser darstellbar. Eine dritte Möglichkeit ist, eine gecachte Datei anzugeben, die angezeigt wird, falls die eigentlich anzuzeigende Datei nicht verfügbar ist (wie es z.b. bei nicht vorhandener Netzwerkverbindung der Fall sein kann) [SpHa11, vgl S.238.]. Web Storage ist eine JavaScript-API, die oftmals als Teil der HTML5-Spezikation erwähnt wird. Tatsächlich ist es aber eine eigene Spezikation des W3Cs. Web Storage stellt Methoden zur Speicherung von Daten auf dem Client zur Verfügung. In einem Cookie 4 können maximal 4096 Byte gespeichert werden gespeichert werden. Dagegen wird bei Web Storage vom W3C ein Speicherlimit von 5 MB vorgeschlagen. Wenn dieses Limit erreicht worden ist, empehlt der W3C, dass der User darüber benachrichtigt wird und dann entscheiden kann, ob das Speicherlimit für die eine Webseite erhöht werden soll. Eine weitere Empfehlung des W3C ist es, dass der Nutzer einsehen kann, welche Webseite wie viel Speicherbereich belegt.[w3c11, vgl.] Die Web Storage Daten werden nicht bei jeder Anforderung zum Webserver geschickt, wie es bei Cookies der Fall ist. Web Storage kann z.b. benutzt werden, um Benutzereinstellungen dauerhaft oder sich nicht ändernde Daten zwischenzuspeichern. Durch die Spei- 4 Ein Cookie ist eine Datei mittels der eine Webseite individuell Informationen auf dem Client speichern und sie später abrufen kann. 20/ 43

21 4 HTML5, CSS3 und JavaScript-APIs cherung auf dem Client ist für den Abruf der Daten keine Verbindung zu dem Webserver notwendig. Dies ist gerade für mobile Geräte nützlich, falls diese z.b. sich an einem Ort benden, wo kein Netz zur Verfügung steht. Von Web Storage gibt es zwei Arten: sessionstorage und localstorage. SessionStorage sind Daten, die nur bis zum Ende einer Session(Sitzung) behalten werden. Wird das Browserfenster oder der Tab geschlossen, so werden automatisch alle Daten in sessionstorage gelöscht. Dies hat z.b. den Vorteil, dass sich die sessionstorages verschiedener Sessions nicht gegenseitig beeinussen können, was z.b. bei Cookies 5 durchaus möglich ist. Im Gegensatz zu sessionstorage stehen Daten aus dem localstorage auch nach dem Ende einer Session zur Verfügung. Ein Neustart des Browsers oder des Systems hat keinen Einuss. Gelöscht werden die Daten von localstorage entweder programmatisch oder durch das Einstellen von privatem Browsen auf dem jeweiligem Client. Sowohl localstorage als auch sessionstorage werden als Schlüssel-Wert-Paare gespeichert. Beim Ändern von localstorage oder sessionstorage wird ein Storage- Event ausgelöst, welches programmatisch abgefangen werden kann, um angemessen zu reagieren. Da sessionstorage an die jeweilige Session gekoppelt ist, hat nur die Webseite der aktuellen Session Zugri auf diese Daten. Anders ist dies bei localstorage, dessen Daten sich so lange auf dem Client benden, bis sie entweder mittels einer Anwendung oder durch einen User explizit gelöscht werden. Ist dies nie der Fall, können die Daten theoretisch für immer auf dem jeweiligen Client verweilen. Des Weiteren werden diese Daten unverschlüsselt gespeichert. Für den User sind die Daten folglich einsehbar. Für andere Anwendungen gestaltet sich der Zugri auf diese Daten etwas komplizierter: Der Zugri auf die Daten von localstorage geschieht mittels JavaScript. Ein Sicherheitskonzept die sogenannte Same-Origin-Policy, abgekürzt SOP erlaubt JavaScript nur dann auf localstorage zuzugreifen, wenn es aus derselben Quelle stammt, die diese Daten auch angelegt hat. Jede Webseiten-Domäne verfügt sozusagen über einen eigenen Speicherbereich auf dem Client. Damit können aber auch andere Webseiten 5 Weitere Informationen zu Cookies nden Sie hier: 21/ 43

22 4.1 Vergleich zu HTML 4 der gleichen Domäne, von übergeordneten Domänen oder von Unterdomänen auf diese Daten zugreifen.[spha11, vgl. S. 198] Das W3C empehlt zudem, das Speicherlimit für eine gesamte Oberdomäne zu begrenzen, damit nicht durch die Verwendung mehrerer Unterdomänen mehr Speicher als eigentlich vorgesehen benutzt werden kann.[w3c11, vgl.] Die Web Storage-Daten sind genau wie Cookies an den jeweiligen Browser gebunden. Durch solche Methoden ist keine permanente Verbindung zu dem Webserver notwendig, diese wird nur im Falle einer Datenaktualisierung gebraucht. Diese Funktionen sind zwar Teil der HTML5- bzw. der Web Storage-Spezikation, werden allerdings nicht von jedem Browser unterstützt Video Videos können durch das Video-Tag - <video> - direkt in eine HTML-Seite eingebettet werden. Für das Abspielen von Videos in einem HTML-Dokument war bisher allerdings immer ein Drittanbieter-Plugin wie z.b. QuickTime, RealPlayer oder Flash notwendig. Unterstützt der Browser allerdings HTML5, so sind in Verbindung mit dem Video-Tag keine Plugins mehr notwendig. Videos bestehen aus Video- und Audiospuren. Jedes Video hat einen Container und einen Codec. Der Container bestimmt das Dateiformat und enthält die Daten, die mit einem bestimmten Codec digital kodiert wurden (damit geht auch eine Komprimierung einher). Der Codec dekodiert die Daten beim Abspielen auf dem PC wieder. Es existieren zahlreiche verschiedene Container und Codecs. Ein Video mit der Dateiendung.wmv hat z.b. das Windows Media Video als Video- Codec, der Container ist meistens das Advanced Streaming Format (ASF). Das resultierende Problem für Webanwendungen mittels HTML5 ist, dass die verschiedenen Browser verschiedene Codecs benutzen: Firefox und Opera z.b. benutzen Theora als Video-Codec und Vorbis als Audio-Codec in einem Ogg- Container. Safari verwendet das MPEG-4-Format mit dem H.264 Video-Codec und AAC Audio-Codec.[Tw10, vgl.]. Solange kein einheitliches Format exisitert, kann dieses Problem dadurch gelöst werden, dass im Source-Code für jedes Format, welches unterstützt werden soll, ein Video mit dem entsprechenden Dateityp hinterlegt wird. Der aufrufende Browser geht diese Zeilen so lange durch, bis er ein Format gefunden hat, welches er dekodieren kann. Für den Fall, dass ein Browser keines der angebotenen Formate oder generell kein HTML5 unterstützt, ist es möglich ein sogenanntes Fallback anzugeben. Dadurch kann dann 22/ 43

23 4 HTML5, CSS3 und JavaScript-APIs auf die Drittanbieter-Plugins wie z.b. Flash zurückgegrien werden oder es wird ein Text dargestellt, der den User darüber informiert, dass der von ihm benutzte Browser nicht die notwendige Unterstützung für das Abspielen des Videos bietet. Vorteil von HTML5-Videos ist z.b., dass nicht mehr ein bestimmter Bereich einer Webseite für ein Plugin reserviert wird, welches dann das Video darstellt, sondern die Darstellung des Videos wird komplett selbst von dem HTML5-Code übernommen Browserunterstützung Wie schon oben erwähnt, wird nicht von jedem Browser jeder Teil der HTML5- Spezikation unterstützt. Abbildung 4.1 gibt einen Überblick über die Unterstützung von HTML5-Webanwendungen durch verschiedene Browser. Abbildung 4.1: HTML5 & CSS3 Support, (Aufruf am um 13:00 Uhr) 23/ 43

24 4.2 JavaScript-APIs Die Abbildung lässt erkennen, dass der Browser, der auf einem Windows- Betriebssystem z.z. die gröÿtmöglichste Unterstützung für HTML5-Webanwendungen bietet, der Safari 5 ist JavaScript-APIs Mit HTML5 sind einige neue - über JavaScript zugängliche - APIs entwickelt worden. Die Web Storage-API wurde bereits im Kapitel vorgestellt. Die folgende Auistung enthält einige APIs beispielhaft: HTML5 Drag und Drop-API: Umsetzung von Drag und Drop-Operationen auf Webapplikationen Web Storage: Daten im Browser speichern (siehe Kapitel 4.1.2) Geolocation: Auslesen von Standortinformationen File Writer: Schreiben von Dateien aus dem Browser heraus Google Maps: Laden von Google Maps Application Cache: Ansprechen des Oinecaches Media elements: Audio und Video-Optionen Nicht jede API ist Teil der HTML5-Spezikation. Einige dieser APIs werden von W3C als standalone specications weiterentwickelt - wie z.b. die in Kapitel erwähnte Web Storage API. 6 Einen Überblick über Features des Safari-Browsers nden Sie unter 24/ 43

25 4 HTML5, CSS3 und JavaScript-APIs 4.3 Das JavaScript Framework jquery Mobile Einführung jquery Mobile ist ein auf JavaScript basiertes Framework. Es ist eine Weiterentwicklung der Bibliothek jquery 7 : The jquery Mobile framework is jquery's latest rabbit out of the hat project. The jquery Mobile framework is open source and is supported by all the big players; ios, Android, Bada, BlackBerry, Nokia, Adobe, and so, covering all the names behind the project.[bai11, S.1] jquery Mobile wurde am 11. August 2010 angekündigt [Bai11, vgl S.8]. Sie stellt Funktionen - vor allem Layouts und Widgets - zur Entwicklung von Webseiten und Webapps zur Verfügung. Abbildung 4.2 beschreibt, welche Geräte von jquery Mobile Beta 1.0 RC2 unterstützt werden. jquery Mobile verfolgt das Ziel, eine möglichst groÿe Zahl von Plattformen und Geräten zu unterstützen, nicht nur High-End-Smartphones: If you have the latest web browser then you will get all the bells and whistles; if you have an older browser then the page will still render and you will still have access to the content. The goal is to allow you as a developer and designer to add complex features such as 3D page transitions found in ios, but you still have the page load and function on devices that are several years old.[davi12, S.70] Falls eine neue Funktion von einem Browser nicht unterstützt wird, wird auf eine ältere Funktion zurückgegrien, sodass für den User mit dem älteren Browser möglichst keine Nachteile entstehen und die Webseite trotzdem in vollem Funktionsumfang benutzt werden kann. Die Nutzung von jquerymobile geschieht, indem folgende Zeilen in den Header eingefügt werden: 7 Weitere Informationen zu jquery nden Sie unter 25/ 43

26 4.3 Das JavaScript Framework jquery Mobile Abbildung 4.2: vgl. jquery Mobile Supported Platforms, und in Anlehnung an: Original Graded Browser Matrix, beide: 2010 (Aufruf am um 13:00 Uhr) 1 < l i n k r e l=" s t y l e s h e e t " h r e f=" h t t p : / / code. j q u e r y. com/ m o b i l e / 1. 0 / j q u e r y. mobile min. c s s " /> 2 < s c r i p t s r c=" h t t p : / / code. j q u e r y. com/ j q u e r y min. j s "></ s c r i p t> 3 < s c r i p t s r c=" h t t p : / / code. j q u e r y. com/ m o b i l e / 1. 0 / j q u e r y. mobile min. j s "></ s c r i p t> Diese binden die erforderlichen Dateien für jquery Mobile ein. Alternativ können die Dateien auch bei heruntergeladen und auf einem eigenen Webserver gehostet werden. 26/ 43

27 4 HTML5, CSS3 und JavaScript-APIs Design Die Denitionsdateien von jquery Mobile enthalten eine CSS-Datei. Dadurch ist das Design der Formen einheitlich vorgegeben und muss nicht jedes Mal vom Entwickler selbst vorgegeben werden. Das Design, welches in dieser CSS- Datei kodiert ist, ist optimal auf mobile Apps zugeschnitten - insbesondere, was die Gröÿe betrit. Trotzdem ist der Entwickler nicht auf einen einzigen Designstil festgelegt: zu den meisten Widgets existieren sogenannte Themes, die dem Entwickler eine Auswahl an Designstilen anbieten. Das folgende Beispiel zeigt mehrere Buttons, die sich nur in ihrem Theme und der Beschriftung unterscheiden, wie auch aus dem Source-Code ersichtlich ist: 1 <!DOCTYPE html> 2 <head> 3 < t i t l e>b e i s p i e l 2</ t i t l e> 4 < l i n k r e l=" s t y l e s h e e t " h r e f=" h t t p : / / code. j q u e r y. com/ m o b i l e / 1. 0 / j q u e r y. mobile min. c s s " /> 5 < s c r i p t s r c=" h t t p : / / code. j q u e r y. com/ j q u e r y min. j s "></ s c r i p t> 6 < s c r i p t s r c=" h t t p : / / code. j q u e r y. com/ m o b i l e 7 </ head> 8 <body> / 1. 0 / j q u e r y. mobile min. j s "></ s c r i p t> 9 <a h r e f=" i n d e x. html " data r o l e=" button " data theme=" a " >Theme a</ a> 10 <a h r e f=" i n d e x. html " data r o l e=" button " data theme="b" >Theme b</ a> 11 <a h r e f=" i n d e x. html " data r o l e=" button " data theme=" c " >Theme c</ a> 12 <a h r e f=" i n d e x. html " data r o l e=" button " data theme="d" >Theme d</ a> 13 <a h r e f=" i n d e x. html " data r o l e=" button " data theme=" e " >Theme e</ a> 14 </ body> 15 </ html> Abbildung 4.3 zeigt das Ergebnis. 27/ 43

28 4.3 Das JavaScript Framework jquery Mobile Abbildung 4.3: beispiel2.html Wie das Design von jquery Mobile aussieht, kann unter beobachtet werden. jquery Mobile setzt seine komplette Dokumentation auf dem jquery Mobile-Framework selbst auf. Mit Hilfe der CSS-Denition ist es folglich mit einfacheren Mitteln möglich, ein konsistentes und einheitliches Layout zu erstellen und zu pegen Features jquery Mobile kann mit dem Element <div> benutzt werden. Diesem Element kann eine Rolle zugewiesen werden, z.b page für eine Seite, header für den Kopf einer Seite, footer für den Fuÿ einer Seite, navbar für eine Navigationsleiste oder content für Inhalt. Das div-element wird zur Strukturierung von Inhalten einer Seite benutzt: logisch zusammengehörende Elemente sollen auch optisch zusammengehörend dargestellt werden. Es wird auch von älteren Versionen von HTML verstanden. 28/ 43

29 4 HTML5, CSS3 und JavaScript-APIs Folgender Source-Code wird für den Inhalt einer HTML-Seite benutzt: 1 <body> 2 <d i v data r o l e=" page "> 3 <d i v data r o l e=" h e a d e r ">Header</ d i v> 4 <d i v data r o l e=" c o n t e n t ">Content</ d i v> 5 <d i v data r o l e=" f o o t e r ">Footer</ d i v> 6 </ d i v> 7 </ body> Abbildung 4.4 zeigt, wie die Webseite mit Einbindung von jquery Mobile aussieht, Abbildung 4.5 zeigt das Aussehen der Webseite ohne Einbindung von jquery Mobile. Dies ist ein wesentlicher Eekt der CSS-Denition von jquery Mobile, das Interpretieren dagegen basiert auf der JavaScript-Datei von jquery und der darauf aufbauenden Datei von jquery Mobile. Abbildung 4.4: beispiel3.html mit jquery Mobile Abbildung 4.5: beispiel3.html ohne jquery Mobile Des Weiteren ist es mit jquery Mobile möglich, mehrere Seiten in einer HTML- Datei zu denieren. Dadurch kann ein Performance-Gewinn entstehen, da dadurch nicht für jede Seite eine neue Datei geladen werden muss, sondern nur eine einzige für alle. Das Wechseln von Seiten innerhalb einer Datei beansprucht dann weitaus weniger Bandbreite. 29/ 43

30 4.3 Das JavaScript Framework jquery Mobile In der aktuellen Version 1.0 hat die CSS-Datei von jquery Mobile eine Gröÿe von 7KB, die JavaScript-Datei eine Gröÿe von 24KB. Kleine Dateigröÿen haben den Vorteil, dass nicht viel Bandbreite einer Verbindung beansprucht wird. Gerade bei mobilen Anwendungen sind solche Performance-Gewinne äuÿerst ein- ussreich. 30/ 43

31 5 Appentwicklung für das Apple-Betriebssystem ios ios ist ein von Apple entwickeltes Betriebssystem für mobile Geräte. Das iphone, der ipod touch und das ipad werden mit ios ausgeliefert. Es basiert auf Mac OS X - dem Betriebssystem von Macintosh-Desktop-Computern -, welches wiederum auf Unix basiert. Die neueste Version von ios ist ios 5 1. Zentral für ios ist die Multi-Touch-geeignete Oberäche und Homescreen, auf dem alle Apps abgelegt sind und von dem User individuell angeordnet werden können. Einige Apps sind vorinstalliert, wie z.b. itunes, Kalender, Mail, Kamera, Erinnerungen oder Safari. Im App Store gibt es kostenpichtige und -lose Apps, mit denen der User sein Gerät individuell erweitern kann. Dafür muss er einen User Account bei Apple erstellen - eine sogenannte Apple-ID. Jedes Gerät wird mit einer Apple-ID registriert. 5.1 Native Apps Native Apps werden für das Apple-Betriebssystem ios in der Programmiersprache Objective-C programmiert. Der Einsatz von JavaScript ist auch möglich. Die von Apple bereitgestellte Entwicklungsumgebung XCode gibt es momentan in der Version XCode kann nur auf einem Apple-Betriebssystem installiert werden. Die dazugehörige API für das Entwickeln von Apps für ios ist die Cocoa Touch API.[Appl11, vgl.] 1 Mehr Infos zu ios 5 unter 2 Sie ist nach kostenloser Registrierung als Apple-Developer unter downloadbar.

32 5.2 Vergleich von Webapps mit nativen Apps 5.2 Vergleich von Webapps mit nativen Apps Die Frage, ob eine Webapp oder eine native App geeigneter ist, ist nicht pauschal zu beantworten. Sie ist abhängig von dem jeweiligen Kontext. Im Folgenden wird von vier verschiedenen Szenarien für die Entwicklung einer App ausgegangen: 1. rmeninterne App, geschlossene Benutzergruppe 2. rmeninterne App, oene Benutzergruppe 3. weltweite App, geschlossene Benutzergruppe 4. weltweite App, oene Benutzergruppe Das erste Szenario beschreibt die Entwicklung einer rmeninternen App, bei der der Nutzerkreis klar deniert ist: es handelt sich um Mitarbeiter oder einem bestimmten, klar denierten Teil von Mitarbeitern des Unternehmens. Es kann davon ausgegangen werden, dass die App eingeschränkt oine-fähig sein sollte, falls das Gerät keine Netzverbindung hat. Dabei bedeutet oine-fähig nicht, dass die Inhalt trotzdem komplett zur Verfügung stehen müssen, da eine rmeninterne App in der Regel auf Daten zugreift, die auf netzinternen Servern liegen. Des Weiteren kann davon ausgegangen werden, dass das mobile Gerät, mit dem die App aufgerufen wird, sich im Intranet bendet - sei es über WLAN oder VPN. Damit sollten die bestehenden Sicherheitskonzepte greifen, z.b. sollte eine Benutzerauthentizierung stattnden. Das zweite Szenario ist die Entwicklung einer rmeninternen App für eine oene Benutzergruppe. Dieses Szenario kann vernachlässigt werden, da bei einer rmeninternen App die Benutzergruppe immer bekannt ist. Eine weltweite App für eine geschlossene Benutzergruppe beschreibt das dritte Szenario. Hierbei sind die Kunden schon bekannt. Dies ist z.b. der Fall, wenn es sich bei der App um eine mobile Version einer schon vorhandenen Software oder Webseite handelt. 32/ 43

33 5 Appentwicklung für das Apple-Betriebssystem ios Das letzte Szenario ist eine weltweite App für eine oene Benutzergruppe. Hierbei muss die Benutzergruppe von der angebotenen App erfahren, es muss Werbung betrieben werden. Für rmeninterne Apps empehlt sich eine HTML5-App. Grundsätzlich ist die HTML5-App mit jedem Browser aufrufbar, einzige Bedingung ist die Unterstützung von HTML5. HTML5 ist plattform- und geräteunabhängig. Bei einer nativen App dagegen muss für jedes Betriebssystem eine eigene App progammiert werden, da jedes Betriebssystem andere Programmiersprachen und andere Frameworks unterstützt. Bei HTML5-Apps ist nur ein Webserver notwendig und Updates können schnell verbreitet werden, indem die neue Version der App auf den Webserver geladen wird. HTML geht - wie oben beschrieben - oft mit CSS einher. Apple-Geräte sind für CSS optimiert, wie Matthew David in einem Buch HTML5 Mobile Websites - Turbocharging HTML5 with jquerymobile, Sencha Touch, and Other Frameworks erläutert: For mobile web design you will use CSS to format your web pages. [...]Apple has GPU accelerated support for CSS. What this means is that CSS simply runs faster. Animations, rounded corners, embedded fonts, and transforms all look great on the iphone. The powerful new Nvidia and Qualcomm chipsets appearing in the most smart phones really give presentation in your web pages an edge. The result is that you can use CSS to design native app-like solutions without having to write native code. Just CSS.[Davi12, S.16] Mittels CSS ist es auf Apple-Geräten möglich, HTML5-Apps so zu entwerfen, dass kaum ein Unterschied mehr zu einer nativen App besteht. Auch Apples Browser Safari ist für HTML5 geeignet: er baut sowohl in seiner mobilen als auch in seiner Desktopversion auf WebKit auf. WebKit ist eine OpenSource Plattform. Und WebKit unterstützt HTML5[Davi12, vgl. S.4]. Apple bietet zwar eine In-House Distribution an, bei dem im Firmenintranet ein interner App Store erstellt wird. Hierbei entfällt der Genehmigungsprozess von Apples App Store. Allerdings ist dieses Programm kostenpichtig und kann nur für die Verteilung nativer Apps genutzt werden. Auch ist die Entwicklung von nativen Apps für ios nur auf einem Macintosh-Computer mit Mac OS X möglich(s.o.: XCode ist nur auf Mac OS X installierbar). Bei einer weltweiten App für eine geschlossene Benutzergruppe emp- 33/ 43

34 5.2 Vergleich von Webapps mit nativen Apps ehlt sich - aus den gleichen Gründen wie oben - eine HTML5-App. Schon bestehende Kunden können über die App benachrichtigt werden z.b. durch eine Mail, Werbung auf der Webseite oder eingeblendete Werbung in der schon bestehenden Software. Soll dagegen eine App weltweit für eine oene Benutzergruppe vertrieben werden, so empehlt sich eine native App in den meisten Fällen mehr. Zwar entfallen bei HTML5-Apps die Kosten für eine jährliche Entwicklerlizenz. Allerdings gibt es ein enormes Problem: wie wird der User auf den Webserver, auf dem die HTML5-App angeboten wird, aufmerksam? Ist die App keine mobile Version einer Webseite oder einer Software, so muss die Kunden erst einmal gefunden werden, das Produkt muss vermarktet werden. Bei einer nativen App wird die Vermarktung von Apple übernommen. Die Vorteile: der App Store ist auf jedem ios-gerät vorinstalliert, die Vermarktung und Bezahlung wird von Apple übernommen. Des Weiteren ist der App Store bekannt bei potenziellen Kunden. Deshalb ist zu erwarten, dass die meisten User -insbesondere die nicht so technikorientierten User- sich eine App mit der gewünschten Funktionalität im App Store suchen werden. Allerdings ist dies mit Kosten verbunden: zum einem fällt eine jährliche Entwicklerlizenz an, zum anderen behält Apple 30% des Gewinns als Provision. Auch muss jede App einen Genehmigungsprozess erfolgreich durchlaufen, bevor sie im App Store vermarktet werden darf. Dieser Genehmigungsprozess gewährleistet aber auch, dass gewisse Qualitätsstandards eingehalten werden. Aktuell wurde in dem Genehmigungsprozess, den jede App durchläuft, bevor sie in Apples App Store vertrieben wird, eine Sicherheitslücke entdeckt: Charlie Miller entwickelte eine Börsenticker-App. Diese wurde von Apple für den App Store freigegeben. Beim Starten dieser App konnte Charlie Miller unsignierten Code nachladen. In einem Video demonstriert er z.b. den Zugri auf das Adressbuch eines iphones. Grund dafür ist wohl, dass JavaScript auf einer tieferen Speicherebene als üblich ausgeführt wird. Damit wollte Apple erreichen, dass die Geschwindigkeit seines Browser erhöht wird. Die Schutzmechanismen, die verhindern sollen, dass durch JavaScript-Code Missbrauch betrieben wird, haben wohl eine Lücke, die Charlie Miller ausnutzte. Als Konsequenz wurde Charlie Miller seine Entwicklerlizenz entzogen. [Schw11, Pryj11, vgl.] In den meisten Fällen kann anhand der oben beschriebenen Szenarien entschieden werden, ob eine HTML5- oder eine native App eingesetzt werden soll. Die Tabelle 5.1 vergleicht einige Kriterien für eine HTML5- und eine native App. 34/ 43

35 5 Appentwicklung für das Apple-Betriebssystem ios Kriterium/Merkmal HTML5-App native App Oine-Fähigkeit gegeben, ca. 5 MB voll gegeben Daten speicherbar (siehe Kapitel 4.1.2) Hardware-Zugri sehr eingeschränkt möglich, über bereitgestelle APIs auf z.b: GPS, 3D-, Push-, Hardware-Funktionen, Grakbeschleunigung Entwicklungsumgebung Editor nur auf Macintosh-Computer mit Mac OS X möglich nötiges Know-How JavaScript, HTML5, CSS3 Objective-C, Cocoa-API Wiederverwendbarkeit möglich eingeschränkt möglich von Code und Logik Zugri über Webbrowser automatisch auf Homescreen sichtbar Setzen eines "Lesezeichens auf den Homescreen möglich Plattform- und geräteunabhängig ja nein Tabelle 5.1: Vergleich von HTML5-Apps mit nativen Apps In Bezug auf die Oine-Fähigkeit ist zu beachten, dass dies nicht für jede App Sinn macht. Wird die App permanent mit aktuellem Inhalt versorgt, wie es z.b. bei einer Nachrichten-App der Fall ist, so macht eine oine-fähige App wenig Sinn. Bei einem Spiel dagegen z.b. ist keine permanente Netzverbindung notwendig, im Gegenteil, der User erwartet, dass die App auch dann funktioniert, wenn das Gerät oine ist. Die Oine-Fähigkeit von HTML5-Apps wurde bereits in Kapitel diskutiert, mit Web Storage können ca. 5 MB an Daten auf dem Gerät gespeichert werden. Bei nativen Apps dagegen kann der gesamte freie Speicher des Gerätes genutzt werden. Aktuell wurde festgestellt, das ios 5 andere Oine-Inhalte löscht, falls nicht genügend freier Speicher vorhanden ist.[nico11, vgl.] Ist das Datenvolumen, welches auf dem Client für die Oine- Fähigkeit gespeichert werden soll, groÿ, so empehlt sich eine native App. Bei kleinem Datenvolumen sollte über eine HTML5-App nachgedacht werden. Allerdings ist Web Storage nur für die Speicherung von Zeichenketten geeignet, Objekte müssten zuerst mittels JSON kodiert und beim Auslesen dekodiert werden. JSON ist die Abkürzung von JavaScript Object Notation und ein Datenformat, welches überwiegend für den Austausch von Daten verwendet wird. 35/ 43

36 5.2 Vergleich von Webapps mit nativen Apps Benötigt die App einen Zugri auf die Hardware des Clients, so ist eindeutig eine native App zum empfehlen. Der Zugri auf Hardware mittels HTML5 ist sehr eingeschränkt, es existiert z.b. eine Geolocation API, mit der die aktuelle Position des Gerätes ausgelesen werden kann. Apple dagegen bietet APIs für den Zugri auf z.b.gps, 3D-, Push-, Hardware-Funktionen oder Grakbeschleunigung. Des Weiteren hat eine native App den Vorteil, dass der Zugri nicht über eine dritte Komponente geschieht, wie es der Browser bei einer HTML5-App ist. Des Weiteren sei noch kurz angemerkt, dass für HTML5-Apps Kenntnisse in HTML5, JavaScript und CSS3, bei nativen Apps in Objective-C und Cocoa- API notwendig sind. Die HTML5-Kenntnisse haben den Vorteil, dass damit plattform- und geräteunabhängige Apps erstellt werden können. Der Zugri erfolgt bei HTML5-Apps über den Webbrowser. Der User hat die Möglichkeit, ein "Lesezeichen auf den Homescreen zu legen. Eine native App dagegen erscheint nach der Installation sofort auf dem Homescreen. Nicht immer, ist eine explizite Entscheidung für oder gegen eine native oder HTML5-App notwendig: auch eine Kombination ist möglich. Es kann eine Ober- äche mittels HTML5 erstellt werden, die dann in eine native App eingebettet wird. Die native App kann dann gerätespezische Aspekte implementieren wie z.b. den Zugri auf Hardware. Der HTML5-Teil kann bei dieser Methode dann für eine App für ein anderes Betriebssystem wiederverwendet werden. Des Weiteren sei an dieser Stelle kurz angemerkt, dass diverse Tools wie z.b. Titanium von Appcelerator oder PhoneGap von Nitobi existieren, die weitestgehend automatisiert aus Webanwendungen native Apps erstellen. Diese nativen Apps können dann über den App Store itunes vertrieben werden - ohne Kenntnisse der Objective-C-Programmierung. Im nächsten Kapitel werden diese Aussagen noch einmal zusammengefasst. 36/ 43

37 6 Fazit In Kapitel 5 wurden die Vor- und Nachteile von nativen und HTML5-Apps beispielhaft für das Betriebssystem ios beleuchtet. Generell spricht weitaus mehr für eine HTML5-App - insbesondere die Plattformund Geräteunabhängigkeit. Auÿerdem ist wohl zu erwarten, dass die Zukunft noch mehr Features bieten wird. Für Anwendungen, die speziell an die Hardware angepasst und für diese optimiert werden müssen - wie es z.b. bei Spielen häug der Fall ist - empehlt sich zur Zeit eine native App für das jeweilige Betriebssystem.

38 7 Ausblick Im Folgenden wird eine Einführung in die Problemstellung gegeben, welche Grundlage der Bachelorarbeit der Verfasserin und mit Hilfe von HTML5 und dem Framework jquery Mobile bearbeitet werden soll. Zur eindeutigen Identizierung eines Produktes werden häug Barcodes eingesetzt wie z.b. an Kassen in Supermärkten. Ein Barcode besteht aus mehreren zueinander parallelen Strichen. Diese Striche beinhalten Daten und können von Barcodescannern eingelesen werden. Abbildung 7.1 zeigt beispielhaft einen Barcode. Abbildung 7.1: Barcode Auch in einem Krankenhaus spielen Barcodes eine Rolle z.b. bei der Materialnachbestellung oder der Paketverfolgung. Die Bachelorarbeit der Verfasserin soll sich mit der Entwicklung eines mobiles Softwaresystems befassen, welches in der Lage sein wird, Barcodes zu verarbeiten und mit anderen erfassten Daten an ein System zu senden, welches die erfassten Daten weiterverarbeitet. Dies soll mit einer mittels HTML5 und jquery Mobile entwickelten Webseite geschehen, die auf einem mobilen Gerät aufgerufen wird. Das mobile Gerät wird mit einem externen Bluetooth-Barcode-Scanner gekoppelt. Mit diesem werden die Barco-

HTML5 und das Framework jquery Mobile

HTML5 und das Framework jquery Mobile HTML5 und das Framework jquery Mobile Seminarvortrag Naeema Anees Betreuer: Prof. Ulrich Stegelmann Dipl.-Inform. Axel Blum Einleitung Vielfalt an mobilen Geräten Verschiedene Betriebssysteme Verschiedene

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

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

Google Gears Offline Web?

Google Gears Offline Web? Google Gears ist eine Browsererweiterung, die es in sich hat. Dem Webanwendungsentwickler werden Dienste bereitgestellt, die es ermöglichen, Webanwendungen so zu schreiben, dass eine Offline-Arbeit möglich

Mehr

Apps mit HTMLS und CSS3

Apps mit HTMLS und CSS3 Florian Franke, Johannes Ippen Apps mit HTMLS und CSS3 für ipad, iphone und Android Galileo Press.... ~ Auf einen Blick Auf einen Blick Apps 21 2 HTMl5 in der mobilen Webentwickung 35 3 Konzeption und

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

SPEZIFIKATIONEN GOLDBACH MOBILE NETWORK CLASSIC UND CREATIVE ADS. März 2016 Isabella Bauer

SPEZIFIKATIONEN GOLDBACH MOBILE NETWORK CLASSIC UND CREATIVE ADS. März 2016 Isabella Bauer SPEZIFIKATIONEN CLASSIC UND CREATIVE ADS März 2016 Isabella Bauer CLASSIC ADS Werbeform Abmessung (Pixel) Dateiformat Max. Dateigröße Mobile Content Ad 6:1 300x50 oder 320x50 jpeg, png, gif, HTML5 40 kb

Mehr

Web Apps. Offlinefähige mobile Webapplikationen mit XPages als Alternative zu nativen Apps Thomas Brandstätter /

Web Apps. Offlinefähige mobile Webapplikationen mit XPages als Alternative zu nativen Apps Thomas Brandstätter / Web Apps Offlinefähige mobile Webapplikationen mit XPages als Alternative zu nativen Apps Thomas Brandstätter / 07.06.2013 Vielleicht kennen Sie das auch? Sie haben in Ihrem Unternehmen eine Web- oder

Mehr

Die Kurse sind online zu bearbeiten, ein Download auf Ihren Rechner ist nicht möglich.

Die Kurse sind online zu bearbeiten, ein Download auf Ihren Rechner ist nicht möglich. Hilfe zur Bearbeitung und Navigation Technische Anforderungen Die Kurse sind online zu bearbeiten, ein Download auf Ihren Rechner ist nicht möglich. Um unsere Kurse anschauen und bearbeiten zu können,

Mehr

XML Technologien Seminar WS 2011/2012. 01.04.12 Einführung in HTML5 1

XML Technologien Seminar WS 2011/2012. 01.04.12 Einführung in HTML5 1 XML Technologien Seminar WS 2011/2012 01.04.12 Einführung in HTML5 1 EINFÜHRUNG IN HTML5 Eine kurze historische Einführung HTML5 Ausblick und kritische Reflexion 01.04.12 Einführung in HTML5 2 Eine kurze

Mehr

Agon Solutions. The native web mobile Architekturen mit HTML5 und PhoneGap. Ihre Prozesse in besten Händen.

Agon Solutions. The native web mobile Architekturen mit HTML5 und PhoneGap. Ihre Prozesse in besten Händen. The native web mobile Architekturen mit HTML5 und PhoneGap Juri Urbainczyk Agon meets Technology 26. Februar 2013 Agon Solutions Ihre Prozesse in besten Händen. 1 Worum geht s? Mobile und mehr Warum HTML5?

Mehr

The app the crashes, before the breakpoint is reached: Code to the event:

The app the crashes, before the breakpoint is reached: Code to the event: I have set a breakpoint in an asyc event-handler to ListView.ItenTapped-Event (see screenshot below): I then tap on an ListView-entry on my iphone 5 The app the crashes, before the breakpoint is reached:

Mehr

Ergänzende Gefährdungsbeurteilung. Bau /Montagestelle, Messebau,

Ergänzende Gefährdungsbeurteilung. Bau /Montagestelle, Messebau, Ergänzende Gefährdungsbeurteilung Bau /Montagestelle, Messebau, Filmset Applikation für Smartphones/Tablets Dokumentation #3 04/2016 Berufsgenossenschaft Energie Textil Elektro Medienerzeugnisse Inhalt

Mehr

Symbio system requirements. Version 5.1

Symbio system requirements. Version 5.1 Symbio system requirements Version 5.1 From: January 2016 2016 Ploetz + Zeller GmbH Symbio system requirements 2 Content 1 Symbio Web... 3 1.1 Overview... 3 1.1.1 Single server installation... 3 1.1.2

Mehr

HTML5- Apps. für iphone und Android. HTML5, CSS3 und jquery Mobile: Design, Programmierung und Veröffentlichung plattformübergreifender Apps

HTML5- Apps. für iphone und Android. HTML5, CSS3 und jquery Mobile: Design, Programmierung und Veröffentlichung plattformübergreifender Apps Markus Spiering / Sven Haiges / Rene Scholze HTML5- Apps für iphone und Android HTML5, CSS3 und jquery Mobile: Design, Programmierung und Veröffentlichung plattformübergreifender Apps 5 Inhaltsverzeichnis

Mehr

Inhaltsverzeichnis. Florence Maurice. Mobile Webseiten. Strategien, Techniken, Dos und Don'ts für Webentwickler. ISBN (Buch): 978-3-446-43118-8

Inhaltsverzeichnis. Florence Maurice. Mobile Webseiten. Strategien, Techniken, Dos und Don'ts für Webentwickler. ISBN (Buch): 978-3-446-43118-8 Inhaltsverzeichnis Florence Maurice Mobile Webseiten Strategien, Techniken, Dos und Don'ts für Webentwickler ISBN (Buch): 978-3-446-43118-8 ISBN (E-Book): 978-3-446-43279-6 Weitere Informationen oder Bestellungen

Mehr

Algorithms for graph visualization

Algorithms for graph visualization Algorithms for graph visualization Project - Orthogonal Grid Layout with Small Area W INTER SEMESTER 2013/2014 Martin No llenburg KIT Universita t des Landes Baden-Wu rttemberg und nationales Forschungszentrum

Mehr

Plattformunabhängige App-Entwicklung - Eine für alle?

Plattformunabhängige App-Entwicklung - Eine für alle? Plattformunabhängige App-Entwicklung - Eine für alle? AGENDA Kurze Firmenpräsentation: M&M Software GmbH Motivation Komponenten der plattformunabhängigen App-Entwicklung Vergleich der App-Arten Beispiele

Mehr

knxpresso Webserver Plug-in

knxpresso Webserver Plug-in Technisches Handbuch knxpresso Webserver Plug-in August 2018 knxpresso Webserver Plug-in Seite 1/9 Copyright und Lizenz 2018 knxpresso UG Die Vervielfältigung, Adaption oder Übersetzung ist ohne vorherige

Mehr

Erstellen von Web-Seiten HTML und mehr...

Erstellen von Web-Seiten HTML und mehr... Erstellen von Web-Seiten HTML und mehr... SS 2002 Duffner: Interaktive Web-Seiten 1 Themen! Was ist das WWW?! Client-Server-Konzept! URL! Protokolle und Dienste! HTML! HTML-Editoren! Ergänzungen und Alternativen

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

Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version. Schimon.Mosessohn@microsoft.

Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version. Schimon.Mosessohn@microsoft. Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version Schimon.Mosessohn@microsoft.com Herzlich Willkommen 1996 2004 2010 2014 Navision 3.7 Microsoft

Mehr

Eine Untersuchung der Funktionen des Apache Wicket Webframeworks

Eine Untersuchung der Funktionen des Apache Wicket Webframeworks Eine Untersuchung der Funktionen des Apache Wicket Webframeworks Seminararbeit von Olaf Matticzk 1 15.01.2016 (c) by synaix 2016 synaix...your business as a service. Agenda 1. Einleitung 2. Webanwendungen

Mehr

Immer mehr lebt mobil

Immer mehr lebt mobil Immer mehr lebt mobil mehr als 4.600.000.000 Mobilgeräte breite Verfügbarkeit neuer always-on und Apps Lifestyle 2 Trittsicher auf allen mobilen Pfaden mit HTML5 und jquery Mobile Mike Baird http://flickr.com/photos/mikebaird/482031103/

Mehr

Vaadin TouchKit. W3L AG info@w3l.de 10.2012

Vaadin TouchKit. W3L AG info@w3l.de 10.2012 1 Vaadin TouchKit W3L AG info@w3l.de 10.2012 2 Inhaltsverzeichnis Einführung Software-Plattformen TouchKit-Plug-In Integrationsmöglichkeiten Vaadin-TouchKit-Projekt GUI-Komponenten Live-Demo Geräte-Unterstützung

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

Projekte. Beratung. Spezialisten. FAQs zur Technik. IKS-Thementag FAQs zur Technik 1 61

Projekte. Beratung. Spezialisten. FAQs zur Technik. IKS-Thementag FAQs zur Technik 1 61 Projekte. Beratung. Spezialisten. FAQs zur Technik IKS-Thementag Autor: Jan Laußmann 12.04.2016 FAQs zur Technik 1 61 Agenda Development Distribution Push Notifications Google Analytics Security FAQs zur

Mehr

SCHICHTENMODELLE IM NETZWERK

SCHICHTENMODELLE IM NETZWERK SCHICHTENMODELLE IM NETZWERK INHALT Einführung Schichtenmodelle Das DoD-Schichtenmodell Das OSI-Schichtenmodell OSI / DOD Gegenüberstellung Protokolle auf den Osi-schichten EINFÜHRUNG SCHICHTENMODELLE

Mehr

Wesentliche Ideen und Komponenten der V13 V13 Under the Hood die Technik dahinter

Wesentliche Ideen und Komponenten der V13 V13 Under the Hood die Technik dahinter Wesentliche Ideen und Komponenten der V13 V13 Under the Hood die Technik dahinter Der Client PBX und App Platform Verschiedene zentrale Apps Installation V13, der Client myapps V13 Under the Hood die Technik

Mehr

Progressive Web Apps mit APEX. Till Albert

Progressive Web Apps mit APEX. Till Albert Progressive Web Apps mit APEX Till Albert 09.05.2019 Facts & Figures IT-Beratungsunternehmen Branchen übergreifend Hersteller neutral Hauptsitz Ratingen Niederlassung Frankfurt am Main 250 Beschäftigte

Mehr

VPN-Client Android Konfiguration und Installation des internen VPN Clients und Cisco-AnyConnect VPN-Clients

VPN-Client Android Konfiguration und Installation des internen VPN Clients und Cisco-AnyConnect VPN-Clients VPN-Client Android 6.0.1 Konfiguration und Installation des internen VPN Clients und Cisco-AnyConnect VPN-Clients Configuring and installing the internal VPN client and Cisco Any- Connect VPN client 7.

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

Mehr

Creating OpenSocial Gadgets. Bastian Hofmann

Creating OpenSocial Gadgets. Bastian Hofmann Creating OpenSocial Gadgets Bastian Hofmann Agenda Part 1: Theory What is a Gadget? What is OpenSocial? Privacy at VZ-Netzwerke OpenSocial Services OpenSocial without Gadgets - The Rest API Part 2: Practical

Mehr

Cnlab/CSI Herbsttagung Apps und Sandboxen

Cnlab/CSI Herbsttagung Apps und Sandboxen Cnlab/CSI Herbsttagung 2017 Apps und Sandboxen Agenda - App-Technologien - Integrität von Apps - Schutzmechanismen ios und Android - Vergleich mit Standard-PC - Fazit 6.9.2017 2 TA Online vom 23.8.2017

Mehr

Cnlab/CSI Herbstveranstaltung Apps und Sandboxen

Cnlab/CSI Herbstveranstaltung Apps und Sandboxen Cnlab/CSI Herbstveranstaltung 2017 Apps und Sandboxen Agenda - App-Technologien - Integrität von Apps - Schutzmechanismen ios und Android - Vergleich mit Standard-PC - Fazit 6.9.2017 2 TA Online vom 23.8.2017

Mehr

VPN-Client Apple macos El Capitan (10.11)

VPN-Client Apple macos El Capitan (10.11) VPN-Client Apple macos El Capitan (10.11) Konfiguration und Installation des internen VPN-Clients und Cisco AnyConnect VPN-Clients Configuring and installing the internal VPN client and Cisco AnyConnect

Mehr

Office 2013 / Gut zu Wissen

Office 2013 / Gut zu Wissen Office 2013 / Gut zu Wissen Datum 08.03.2013 Autor Andre Koch Version 1.0 Pfad Hinweis Diese Informationen sind vertraulich zu behandeln und dürfen an Dritte nur mit dem vorgängigen Einverständnis von

Mehr

Druck für Studenten leicht gemacht

Druck für Studenten leicht gemacht Druck für Studenten leicht gemacht Wenn Studenten wissen, wie man eine E-Mail versendet oder eine Website aufruft, dann können sie auch mit EveryonePrint drucken EveryonePrint passt perfekt für Schulen,

Mehr

VPN-Client Apple macos El Capitan (10.11)

VPN-Client Apple macos El Capitan (10.11) VPN-Client Apple macos El Capitan (10.11) Konfiguration und Installation des internen VPN-Clients und Cisco AnyConnect VPN-Clients Configuring and installing the internal VPN client and Cisco AnyConnect

Mehr

Werbemittel-Spezifikationen

Werbemittel-Spezifikationen Werbemittel-Spezifikationen Ein Angebot der Inhalt Allgemeines Seite 3 Allgemeine Flash-Spezifikationen Seite 4 Flash Functions for Tracking Seite 5 Flash Functions for Expandable Banners Seite 8 Flash

Mehr

Kompendium der Web-Programmierung

Kompendium der Web-Programmierung . Thomas Walter Kompendium der Web-Programmierung Dynamische Web-Sites Mit 510 Abbildungen und 22 Tabellen 4ü Springer OOM- Hinweise zum Gebrauch des Buches XIII Teil I Grundlagen der Web-Programmierung

Mehr

Wie kann man Bilder vom iphone auf Windows 10 übertragen

Wie kann man Bilder vom iphone auf Windows 10 übertragen Wie kann man Bilder vom iphone auf Windows 10 übertragen Bisher ist das iphone von Apple noch immer eines der besten Smartphones auf dem Markt und hat hohe Verkaufszahlen, trotz der harten Konkurrenz,

Mehr

Rechner mit JRE (JAVA Runtime Environement), Java Programm (mit main() Methode)

Rechner mit JRE (JAVA Runtime Environement), Java Programm (mit main() Methode) Klassifizierung von Java Programmen Man kennt zunächst 3 Klassen von Java Programmen 1. Java Applikation (Stand Alone Programm) Rechner mit JRE (JAVA Runtime Environement), Java Programm (mit main() Methode)

Mehr

Praktikum ios-entwicklung. Wintersemester 2017 / 2018 Prof. Dr. Linnhoff-Popien Kyrill Schmid, Markus Friedrich

Praktikum ios-entwicklung. Wintersemester 2017 / 2018 Prof. Dr. Linnhoff-Popien Kyrill Schmid, Markus Friedrich Praktikum ios-entwicklung Wintersemester 2017 / 2018 Prof. Dr. Linnhoff-Popien Kyrill Schmid, Markus Friedrich 1 AUSSCHREIBUNG Ort Aufgabe Lehrstuhl für Sozialpädiatrie der Fakultät für Medizin der Technischen

Mehr

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets V3.0 2011 by WBR1&MOU2/BFH- TI Lernziele Die Kursteilnehmer sind in der Lage: Möglichkeiten und

Mehr

Frühling für iphone-apps

Frühling für iphone-apps Spring-basierte Backends für ios-applikationen Stefan Scheidt Solution Architect OPITZ CONSULTING GmbH OPITZ CONSULTING GmbH 2010 Seite 1 Wer bin ich? Software-Entwickler und Architekt Trainer und Coach

Mehr

Cameraserver mini. commissioning. Ihre Vision ist unsere Aufgabe

Cameraserver mini. commissioning. Ihre Vision ist unsere Aufgabe Cameraserver mini commissioning Page 1 Cameraserver - commissioning Contents 1. Plug IN... 3 2. Turn ON... 3 3. Network configuration... 4 4. Client-Installation... 6 4.1 Desktop Client... 6 4.2 Silverlight

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

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

Good Practice: Entwicklung einer Smartphone App mit Unterstützung von Open Text WSM. OpenText Websolutions Usergroup, 28.01.

Good Practice: Entwicklung einer Smartphone App mit Unterstützung von Open Text WSM. OpenText Websolutions Usergroup, 28.01. Good Practice: Entwicklung einer Smartphone App mit Unterstützung von Open Text WSM OpenText Websolutions Usergroup, 28.01.2014, Mannheim netmedia the Social Workplace Experts 1995 gegründet 20 Experten

Mehr

DataSpace 2.0 Die sichere Kommunikations-Plattform für Unternehmen und Organisationen. Your Data. Your Control

DataSpace 2.0 Die sichere Kommunikations-Plattform für Unternehmen und Organisationen. Your Data. Your Control DataSpace 2.0 Die sichere Kommunikations-Plattform für Unternehmen und Organisationen Your Data. Your Control WebGUI CMIS GW (JSON) GDS2 API (JSON) WebDAV GDS core Moderne Software Architektur Object-Store

Mehr

kim.uni-hohenheim.de

kim.uni-hohenheim.de VPN-Client Apple ios 10.0.2 Konfiguration und Installation des internen VPN-Clients und Cisco AnyConnect VPN-Clients Configuring and installing the internal VPN client and Cisco AnyConnect VPN client 09.10.2018

Mehr

Realtime Daten-Rückschreibung in Tableau mit der Extensions API //

Realtime Daten-Rückschreibung in Tableau mit der Extensions API // Was wir vorhersagen, soll auch eintreffen! Realtime Daten-Rückschreibung in Tableau mit der Extensions API // Pascal Muth Zusammenfassung In diesem Whitepaper wird die Tableau Extensions API von Tableau

Mehr

Web-Apps mit jquery Mobile: Mobile Multiplattform-Entwicklung mit HTML5 und JavaScript (German Edition)

Web-Apps mit jquery Mobile: Mobile Multiplattform-Entwicklung mit HTML5 und JavaScript (German Edition) Web-Apps mit jquery Mobile: Mobile Multiplattform-Entwicklung mit HTML5 und JavaScript (German Edition) Philipp Friberg Click here if your download doesn"t start automatically Web-Apps mit jquery Mobile:

Mehr

Entwicklung einer Mobile Application mit ADF Mobile

Entwicklung einer Mobile Application mit ADF Mobile Entwicklung einer Mobile Application mit ADF Mobile Markus Neubauer, Thomas Feldmeier Fürth Schlüsselworte ADF Mobile, ADF, Mobile, Middleware, JDeveloper Einleitung Vor kurzem hat Oracle das Application

Mehr

Inhalt MIK.starlight. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation.

Inhalt MIK.starlight. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. Inhalt MIK.starlight 1 Übersicht 2 Anwendungsbeispiele 3 Einsatzgebiete 4 Systemanforderungen 5 Lizenzierung 6 Installation 7 Key Features 8 Funktionsübersicht (Auszug) 1 Übersicht MIK.starlight bietet

Mehr

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

ARCHITEKTUR VON INFORMATIONSSYSTEMEN ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll

Mehr

Adobe Flash. Digitales Video Steffen Puhlmann

Adobe Flash. Digitales Video Steffen Puhlmann Adobe Flash Digitales Video Steffen Puhlmann 15.06.2012 Gliederung Flash im Überblick Geschichtliches Adobe Flash Player, Adobe AIR Zusammenhänge Das SWF Format ActionScript Das Flash Video Das FLV - Format

Mehr

APEX und Phonegap? Das kann APEX doch mit HTML5! APEX connect Düsseldorf, 10. Juni 2015 Daniel Horwedel. APEX und Phonegap?

APEX und Phonegap? Das kann APEX doch mit HTML5! APEX connect Düsseldorf, 10. Juni 2015 Daniel Horwedel. APEX und Phonegap? Das kann APEX doch mit HTML5! APEX connect Düsseldorf, 10. Juni 2015 Daniel Horwedel WGV-Horwedel, 10.06.2015 Agenda Vorstellung Strategien zur Entwicklung mobiler Anwendungen HTML 5 Elemente APIs Kamera

Mehr

Browserbasiertes, kollaboratives Whiteboard

Browserbasiertes, kollaboratives Whiteboard WS 2011/12 Bachelorarbeit Browserbasiertes, kollaboratives Whiteboard Sebastian Dorn 1 von 21 Inhalt 1. Motivation 2. Analyse 3. Design 4. Evaluation 5. Fazit Inhalt 2 von 21 Motivation Zusammenarbeit

Mehr

Verwendung von Touch-Eingaben in Browsern auf mobilen Endgeräten. Seminarvortrag von David Kurtz

Verwendung von Touch-Eingaben in Browsern auf mobilen Endgeräten. Seminarvortrag von David Kurtz Verwendung von Touch-Eingaben in Browsern auf mobilen Endgeräten Seminarvortrag von David Kurtz Inhalt Motivation Touch Events Standard Touch-Gesten Unterschiede zwischen Endgeräten Ausblick & Pointer

Mehr

» Technologien, Trends, Visionen Architekturen für mobile Anwendungen

» Technologien, Trends, Visionen Architekturen für mobile Anwendungen » Technologien, Trends, Visionen Architekturen für mobile Anwendungen Juri Urbainczyk Forum A:gon meets Technology 08. September 2011 Agenda» Status und Entwicklung des mobilen Marktes» Besonderheiten

Mehr

Ein mobiler Electronic Program Guide

Ein mobiler Electronic Program Guide Whitepaper Telekommunikation Ein mobiler Electronic Program Guide Ein iphone Prototyp auf Basis von Web-Technologien 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller

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

SAP mit Microsoft SharePoint / Office

SAP mit Microsoft SharePoint / Office SAP mit Microsoft SharePoint / Office Customer Holger Bruchelt, SAP SE 3. Mai 2016 Disclaimer Die in diesem Dokument enthaltenen Informationen können ohne vorherige Ankündigung geändert werden. Dieses

Mehr

Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht

Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht Themen Transportschicht Internet TCP/UDP Transportschicht Schicht 4 des OSI-Modells Schicht 3 des TCP/IP-Modells Aufgaben / Dienste: Kommunikation von Anwendungsprogrammen über ein Netzwerk Aufteilung

Mehr

Mail: Web: juergen-schuster-it.de

Mail: Web: juergen-schuster-it.de Mail: j_schuster@me.com Twitter: @JuergenSchuster Web: juergen-schuster-it.de APEX Podcast: apex.press/talkshow Dynamic Actions Examples: dynamic-actions.com APEX-Meetups: apexmeetups.com APEX D-A-CH Facebook

Mehr

Mobile Webapps in kürzester Zeit: APEX mobile!

Mobile Webapps in kürzester Zeit: APEX mobile! Mobile Webapps in kürzester Zeit: APEX mobile! Carsten Czarski ORACLE Deutschland B.V. & Co KG Riesstr. 25, 80992 München Schlüsselworte APEX, Mobile Anwendungen, jquery Mobile Einleitung Anwendungen für

Mehr

WebApps in spezieller Umgebung

WebApps in spezieller Umgebung WebApps in spezieller Umgebung Neuentwicklung des dm Service-Punkts #devfestka2016 Matthias Reuter inovex GmbH @gweax Philipp Christoph FILIADATA GmbH Grafk: Polygon GmbH Alles neu?! SPAF Service-Punkt

Mehr

Mit PL/SQL auf s ipad

Mit PL/SQL auf s ipad DOAG 2012 Konferenz 20. November 2012, 16:00 Uhr NCC NürnbergConvention Center Ost Mit PL/SQL auf s ipad Martin Friemel mfriemel@webag.com 1 Mit PL/SQL auf s ipad Wie entwickelt man PL/SQL-Webanwendungen

Mehr

Entwicklung und Integration mobiler Anwendungen. <Speaker> 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

Smartphone - Betriebssysteme. Smartphone - Betriebssysteme

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

Mehr

APEX verbessern mit Browser-Extensions

APEX verbessern mit Browser-Extensions APEX verbessern mit Browser-Extensions Schlüsselworte APEX, JavaScript, JQuery, HTML5 Einleitung Till Albert MT AG Ratingen Wer kennt das nicht, beim Entwickeln mit APEX im Page Designer; irgendein kleineres

Mehr

Leistungsbeschreibung T-Mobile Fax2Mail

Leistungsbeschreibung T-Mobile Fax2Mail T-Mobile Bei T-Mobile handelt es sich um eine webbasierende Faxlösung, die das Senden und Empfangen von Dokumenten über Internet ermöglicht. Über die Webseite faxonline.at können Sie das Service aufrufen.

Mehr

Die Bedeutung neurowissenschaftlicher Erkenntnisse für die Werbung (German Edition)

Die Bedeutung neurowissenschaftlicher Erkenntnisse für die Werbung (German Edition) Die Bedeutung neurowissenschaftlicher Erkenntnisse für die Werbung (German Edition) Lisa Johann Click here if your download doesn"t start automatically Download and Read Free Online Die Bedeutung neurowissenschaftlicher

Mehr

Mobile Apps mit. React-Native. Manuel

Mobile Apps mit. React-Native. Manuel Mobile Apps mit React-Native Manuel Mauky @manuel_mauky Mobile Apps? Mobile Apps? - Welche Möglichkeiten existieren? Native Android ios Mobile Apps? - Welche Möglichkeiten existieren? Native Android ios

Mehr

Automatisierte Akzeptanztests für ios-apps. Sven Günther it-agile GmbH

Automatisierte Akzeptanztests für ios-apps. Sven Günther it-agile GmbH Automatisierte Akzeptanztests für ios-apps Sven Günther it-agile GmbH Wer entwickelt native Apps? Wer testet die Apps selbst? Wer hat externe Testdienstleister? Wer hat Unit-Tests? Wer hat Akzeptanztests?

Mehr

Mobile Apps mit. React-Native. Manuel

Mobile Apps mit. React-Native. Manuel Mobile Apps mit React-Native Manuel Mauky @manuel_mauky Mobile Apps? Mobile Apps? - Welche Möglichkeiten existieren? Native Android ios Mobile Apps? - Welche Möglichkeiten existieren? Native Android ios

Mehr

Damit zwischen den verschiedenen Rechnern überhaupt ein Austausch möglich ist, muss man sich über das was und wie verständigen.

Damit zwischen den verschiedenen Rechnern überhaupt ein Austausch möglich ist, muss man sich über das was und wie verständigen. Webanwendungen Protokolle Damit zwischen den verschiedenen Rechnern überhaupt ein Austausch möglich ist, muss man sich über das was und wie verständigen. So wurde eine Sammlung von Vereinbarungen zusammengestellt,

Mehr

OPTIGEM.Web. Technische Hinweise Version 18

OPTIGEM.Web. Technische Hinweise Version 18 OPTIGEM.Web Technische Hinweise Version 18 Zielgruppe dieses Dokuments sind Systemadministratoren. Bei den Ausführungen wird entsprechendes Fachwissen vorausgesetzt. Stand: 21.09.2018 1 EINLEITUNG... 3

Mehr

Praktikum ios-entwicklung

Praktikum ios-entwicklung Praktikum ios-entwicklung Wintersemester 2018/19 Prof. Dr. Linnhoff-Popien Markus Friedrich, Christoph Roch 1 ios als Entwicklungsplattform ios Ökosystem, Evolution und Architektur 2 ios ios ist das Betriebssystem

Mehr

Einführung Internet Geschichte, Dienste, Intra /Extranet, Browser/Server, Website Upload. Dipl. Ing. Dr. Alexander Berzler

Einführung Internet Geschichte, Dienste, Intra /Extranet, Browser/Server, Website Upload. Dipl. Ing. Dr. Alexander Berzler Einführung Internet Geschichte, Dienste, Intra /Extranet, Browser/Server, Website Upload Dipl. Ing. Dr. Alexander Berzler Die Geschichte des Internets Im Kalten Krieg (1960er Jahre) zwischen den beiden

Mehr

Öko APEX Hybride Lösung für Smartphones mit APEX und PhoneGap

Öko APEX Hybride Lösung für Smartphones mit APEX und PhoneGap Öko APEX Hybride Lösung für Smartphones mit APEX und PhoneGap Christian Rokitta themes4apex Utrecht, Niederlande Schlüsselworte Oracle Application Express, Apps, Smartphone, PhoneGap, HTML5, CSS, jquery

Mehr

Embedded Computing Conference 2014 Embedded UI Qt5

Embedded Computing Conference 2014 Embedded UI Qt5 Embedded Computing Conference 2014 Embedded UI Qt5 2 Embedded User Interfaces in the Smartphone Age The Power of Qt5 and the QNX OS Qt Vorstellung 3 Qt ( cute ) Hat eine lange Geschichte (Beginn der Entwicklung:

Mehr

map.apps 4 Bundles PIONEER / Systemvoraussetzungen

map.apps 4 Bundles PIONEER / Systemvoraussetzungen map.apps 4 Bundles 4.0.0-PIONEER / 3.7.0 Systemvoraussetzungen Version map.apps 4 (Bundles 4.0.0-PIONEER / 3.7.0) Urheberschutz Der rechtmäßige Erwerb der con terra Softwareprodukte und der zugehörigen

Mehr

Eclipse Scout Heute und Morgen. Jérémie Bresson BSI Business Systems Integration AG

Eclipse Scout Heute und Morgen. Jérémie Bresson BSI Business Systems Integration AG Eclipse Scout Heute und Morgen @ZimMatthias @j2r2b Matthias Zimmermann Jérémie Bresson BSI Business Systems Integration AG Scout Heute Neon Release Eclipse Scout Neon Release Neue Java Platform Neon Release

Mehr

Act! v19 soll Ihre Produktivität maximieren!

Act! v19 soll Ihre Produktivität maximieren! Act! v19 soll Ihre Produktivität maximieren! Jetzt mit 64-Bit-Programmen kompatibel! Innovative neue Verbindungen machen Act! Premium noch leistungsstärker Verbesserungen der Leistung und des Kampagnenmanagements

Mehr

Fachtagung. Mobile. CMS. Ausgabekanäle. Trends. Responsive Design. Namics. Johannes Waibel. Senior Consultant.

Fachtagung. Mobile. CMS. Ausgabekanäle. Trends. Responsive Design. Namics. Johannes Waibel. Senior Consultant. Fachtagung. Mobile. CMS. Ausgabekanäle. Trends. Responsive Design. Johannes Waibel. Senior Consultant. 1 Optimale Auslieferung der CMS-Inhalte für mobile Endgeräte. http://www.flickr.com/photos/rkottonau/571288490/

Mehr

Microsoft Visual Studio Code mit RPG und IceBreak

Microsoft Visual Studio Code mit RPG und IceBreak Microsoft Visual Studio Code mit RPG und IceBreak ( 2018 Markus A. Litters) Inhaltsverzeichnis 1. Vorwort... 2 2. Voraussetzungen und Installation... 3 3. Der erste Start... 4 4. Die IceBreak Erweiterung...

Mehr

XHTML MP. Mobile Internet. Axel Reusch ar047 MIB

XHTML MP. Mobile Internet. Axel Reusch ar047 MIB XHTML MP Mobile Internet Axel Reusch ar047 MIB Agenda Was ist XHTML MP Prinzip Funktionsweise WTAI Vorteile Nachteile Quellen Seite 2 Untermenge von XHTML (aktuell XHTML 1.1) Strikteres HTML (alle Tags

Mehr

VAADIN, SPRING BOOT & REST

VAADIN, SPRING BOOT & REST VAADIN, SPRING BOOT & REST Ein Einstieg für Domino Entwickler Stephan Kopp 1 STEPHAN KOPP Software & Solutions Development Tel.: +49 6182 7869420 Mobil: +49 173 3089806 E-Mail: stephan.kopp@axians.de 2

Mehr

AGENDA. Einleitung. Übersicht Begriffsklärung Vorstellen der Tools. Vorstellen der Technologie ASF Windows Media Format DRM

AGENDA. Einleitung. Übersicht Begriffsklärung Vorstellen der Tools. Vorstellen der Technologie ASF Windows Media Format DRM 1 AGENDA Einleitung Übersicht Begriffsklärung Vorstellen der Tools Vorstellen der Technologie ASF Windows Media Format DRM 2 Was ist Windows Media? Ein Player für Video und Audio? Ein Multimedia-Standard?

Mehr

Verteilte Systeme - Java Networking (Sockets) -

Verteilte Systeme - Java Networking (Sockets) - Verteilte Systeme - Java Networking (Sockets) - Prof. Dr. Michael Cebulla 30. Oktober 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 36 M. Cebulla Verteilte Systeme Gliederung Grundlagen TCP/IP

Mehr

Virtuelle Desktop Infrastruktur

Virtuelle Desktop Infrastruktur Virtuelle Desktop Infrastruktur Inhaltsverzeichnis 1. Hintergrund 2. VMware Horizon View Clients 3. Installation VMware Horizon View Client 3.1. Installation für Windows 3.2. Installation für OS X 3.3.

Mehr

Anleitung zum Prüfen von WebDAV

Anleitung zum Prüfen von WebDAV Anleitung zum Prüfen von WebDAV (BDRS Version 8.010.006 oder höher) Dieses Merkblatt beschreibt, wie Sie Ihr System auf die Verwendung von WebDAV überprüfen können. 1. Was ist WebDAV? Bei der Nutzung des

Mehr