Web Apps

Transcription

Web Apps
Falko Braune
Präsentation - Hauptseminar Web Engineering
Professur Verteilte und selbstorganisierende Rechnersysteme
Technische Universität Chemnitz - 19.12.2012
1.
2.
3.
4.
5.
6.
7.
Einleitung
Technologie
Bewertung
Widgets
Inter-App Kommunikation
Demo
Quellen
Falko Braune - Web Apps
2
Falko Braune - Web Apps
3

Situation

Ziele
◦ Immer und überall „online“
◦ Mobiles Internet (Smartphones, Tablets, Notebook, …)
◦ Bedürfnis auch unterwegs auf wichtige Anwendungen
zugreifen zu können
◦ auf mobile Geräte zugeschnittene Websites
◦ „App“ als Modewort
◦ viele verschiedene Betriebssysteme und App Anbieter
◦ Vereinfachung der Entwicklung und Verteilung von
mobilen Anwendungen
◦ Plattformunabhängigkeit
Falko Braune - Web Apps
4

Definition „Web App“:
(kurz für ‘Web Application‘)
Anwendung (App) für mobile Endgeräte, die über den
Browser des Gerätes geladen und genutzt wird

soll möglichst einer normalen „nativen“ App in
nichts nachstehen

nutzten nur die Technologien die der Browser zur
Verfügung stellt (HTML, JavaScript, …)

Beispiele: Webmail, Webkalender, Online-Shops,
Spiele, …
Falko Braune - Web Apps
5






erweitert die Funktion eines mobilen
Endgerätes
sind auf spezielles Gerät oder
Betriebssystem zugeschnitten
werden nativ programmiert, in
Sprachen wie Java oder C++
weitflächige Abdeckung auf
möglichst viele Plattformen zeit- und
kostenintensiv
können auf alle Features des Gerätes zugreifen
werden über App Stores vertrieben (z.B. iTunes)
Falko Braune - Web Apps
6
Falko Braune - Web Apps
7









1992
◦
erste Version der HTML-Spezifikation
◦
CGI (Common Gateway Interface) als Teil des W3C-HTTP-Servers
◦
Netscape stellt JavaScript vor
◦
◦
Flash von Macromedia
Publikation der CSS Level 1 Recommendation
◦
◦
◦
Servlet Technologie von Sun Microsystems
PHP und ASP
HTML 4.0
◦
die Entwicklung von CSS3 wird begonnen
◦
„MIDlets“ als erster App-Vorgänger
◦
Ajax als Grundstein für Anwendungen wie Gmail
◦
Beginn der HTML5 Entwicklung
1994
1995
1996
1997
2000
2002
2005
2007
Falko Braune - Web Apps
8

HTML5

CSS (Cascading Style Sheets)

JavaScript
◦ ermöglicht das Einbinden von SVG und MathML
◦ neue Elemente zur Gruppierung und Strukturierung (z.B.
<section>,<nav>,<article>)
◦ Multimedia-Elemente (<audio>,<video>,<embed>,<canvas>)
◦ Erweiterung der Formulare
◦ interaktive Elemente (<details>,<summary>)
◦ DOM-Schnittstellen
◦ Anpassung an unterschiedliche Auflösungen oder Geräte
◦ Animationen von einfachen Übergängen bis hin zu aufwändigen
3D-Transformationen
Falko Braune - Web Apps
9

Was können Web Apps

Was können sie nicht

Frameworks
◦ Offline-Modus
◦ bereits einige Hardwarekomponenten ansprechbar (Kamera,
GPS-Ortung, Beschleunigungsmesser)
◦ viele andere Hardwarekomponenten noch nicht unterstützt
(Gyroskop, Bluetooth, …)
◦ WebGL
◦
◦
◦
◦
SenchaTouch
PhoneGap
iWebKit
jQuery mobile
Falko Braune - Web Apps
10
Falko Braune - Web Apps
11
+
+
+
+
+
+
-
Installation zusätzlicher Software meist überflüssig
in Aussehen, Funktionalität und Handhabung stehen sie nativen Apps in
fast Nichts nach
hohe Plattformunabhängigkeit
geringer Speicherplatzbedarf
kein Wartung und Aktualisierung durch den Nutzer notwendig
/ - keine einheitliche Vertriebsplattform
haben (noch) nicht vollen Zugriff auf alle Funktionen des mobilen
Endgerätes
Browser weisen trotz Standards Unterschiede in Interpretation auf
Abhängigkeit vom Webbrowser
Abhängigkeit vom Web App Betreiber
Updates werden durchgeführt, auch wenn der Nutzer dies vielleicht gar
nicht möchte
Anwendungen die vom Zugriff auf Serverdaten oder –dateien abhängig
sind, funktionieren nur mit aktiver Internetverbindung
Datenschutz
Falko Braune - Web Apps
12
Falko Braune - Web Apps
13

Definition (W3C): Widgets sind vollwertige

Stand-Alone oder eingebettet


Widget User Agent:
Laufzeitumgebung
Instantiated Widget: Widget,
das auf einem Widget User
Agent ausgeführt wird
Widget Package
Start Files
(custom / default)
Configuration
Document
Icon*
(custome / default)
Files / Folders*
Digital Signature*
Falko Braune - Web Apps
Widget Package

clientseitige Anwendungen die durch die
Verwendung von Webstandards wie HTML erstellt
und für die Verteilung verpackt wurden
14
http://www.w3.org/TR/widgets/#widget-packages
Falko Braune - Web Apps
15
http://dev.w3.org/2006/waf/widgets-land/figures/widget_arch.png

Beispiele
◦ iGoogle
◦ Netvibes
◦ Open Social
Falko Braune - Web Apps
16
Falko Braune - Web Apps
17

Widgets - Intercom
◦ Ansatz aus „Orchestrated User Interface Mashups Using W3C Widgets”
◦ Widget soll in der Lage sein
 eigene Veränderungen bemerkbar zu machen (Events)
 Eingaben entgegenzunehmen (Operations)
 Daten möglichst einfach auszutauschen

Android – Intents
◦
◦
◦
◦

Anfrage um Funktionen anderer Komponenten zu nutzen
werden an das Android System gesendet
Explizite und implizite Intents
können Daten enthalten
iOS - URL Handler
◦ Dienst den die App anderen Apps zur Verfügung stellt
◦ einige aber von Apple bereitgestellt: http, mailto, tel, sms
◦ Beispiel: fb://profile, fb://friends
Falko Braune - Web Apps
18
Falko Braune - Web Apps
19
Falko Braune - Web Apps
20
Falko Braune - Web Apps
21
[1] D. Heise, „Web-Apps und native Apps: ein Vergleich,“ ZDNet, 30 August 2011. [Online]. Available: http://www.zdnet.de/41555607/web-apps-und-nativeapps-ein-vergleich/. [Zugriff am 26 November 2012].
[2] M. Seer, „Web-Apps: 4 Gründe, warum ihnen die Zukunft gehört,“ t3n, 12 Mai 2011. [Online]. Available: http://t3n.de/news/web-apps-4-grunde-ihnenzukunft-gehort-309574/. [Zugriff am 26 11 2012].
[3] diverse, „JavScript,“ Wikipedia, 3 Dezember 2012. [Online]. Available: http://de.wikipedia.org/wiki/JavaScript. [Zugriff am 5 Dezember 2012].
[4] diverse, „Cascading Style Sheets,“ Wikipedia, 28 November 2012. [Online]. Available: http://de.wikipedia.org/wiki/Cascading_Style_Sheets. [Zugriff am 5
Dezember 2012].
[5] M. Caceres, „Widgets 1.0: The Widget Landscape (Q1 2008),“ W3C, 14 April 2008. [Online]. Available: http://dev.w3.org/2006/waf/widgets-land/. [Zugriff
am 6 Dezember 2012].
[6] M. Caceres, „Packaged Web Apps (Widgets) - Packaging and XML Configuration (Second Edition),“ W3C, 27 November 2012. [Online]. Available:
http://www.w3.org/TR/widgets/#user-agents. [Zugriff am 6 Dezember 2012].
[7] Y. Lechelle, „Inter-app communication and the future of app (re)discovery,“ appsfire, 23 Januar 2012. [Online]. Available: http://blog.appsfire.com/interapp-communication-and-the-future-of-app-rediscovery/. [Zugriff am 9 Dezember 2012].
[8] L. Vogel, „Android Intents - Tutorial,“ vogella, 17 July 2012. [Online]. Available: http://www.vogella.com/articles/AndroidIntent/article.html. [Zugriff am 9
Dezember 2012].
[9] B. Fling, Mobile Design and Development: Practical concepts and techniques for creating mobile sites and web apps, O'Reilly Media, Inc., 2009.
[10] J. Mudge, „Native App vs. Mobile Web App: A Quick Comparison,“ Six Revisions, 11 July 2012. [Online]. Available: http://sixrevisions.com/mobile/nativeapp-vs-mobile-web-app-comparison/. [Zugriff am 3 Dezember 2012].
[11] diverse, „HTML5,“ Wikipedia, 3 Dezember 2012. [Online]. Available: http://de.wikipedia.org/wiki/HTML5. [Zugriff am 4 Dezember 2012].
[12] S. Wilson, F. Daniel, U. Jugel und S. Soi, „Orchestrated User Interface Mashups Using W3C Widgets,“ ICWE 2011 Workshops, pp. 49-61, Juni 2011.
Falko Braune - Web Apps
22