Plain jQuery Mobile vs. APEX jQuery Mobile Smartphone vs

Werbung
Plain jQuery Mobile vs. APEX
jQuery Mobile Smartphone vs.
APEX Desktop
Dipl.-Inf. Oguz Ibram
Prof. Dr. Petra Sauer
DOAG Konferenz und Ausstellung 2013, Nürnberg
19. – 21. November 2013
Gliederung
Einführung
 „Apps“
 Herangehensweisen bei App-Entwicklung
APEX Grundlagen
 … als Basis der mobilen APEX-Erweiterung
jQuery Mobile
 jQuery und das jQuery Mobile Framework
 App-Entwicklung
APEX jQuery Mobile Smartphone
 App-Entwicklung
Zusammenfassung und Fazit
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
2
Apps vs. Webseiten
Mobile Apps haben Design Guidelines oder eine Creative Vision.
Die Android UI Design Patterns verlangen von einer App:
 Enchant me
 Simplify my life
 Make me amazing
Apple besitzt ebenso ausführliche
 iOS Human Interface Guidelines
Was ist so anders an Apps? Die folgenden Folien zeigen
Ausschnitte aus den Android UI Design Patterns.
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
3
… visuell überzeugen …
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
4
… sich konsistent und vertraut verhalten …
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
5
…sich an vordefinierten Elementen orientieren …
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
6
Plattformübergreifende Apps
Mobile Web-Apps
Mobile native Apps
plattformübergreifende App mit
plattformspezifische App => hoher
HTML5, CSS3, JavaScript und
Programmieraufwand
einer serverseitigen Komponente
Laufzeitumgebung ist der Browser kompliziertes
Zulassungsverfahren im App
Store / Google Play Store
Provider hat volle Kontrolle über
Updates abhängig vom
Updates
Nutzerdownload
bedingter Zugriff auf Hardware
App liegt nativ im Gerät
schlechtere Performance
bessere Performance
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
7
Gliederung
Einführung
 Apps
 Herangehensweisen bei App-Entwicklung
APEX Grundlagen
 … als Basis der mobilen APEX-Erweiterung
jQuery Mobile
 jQuery und das jQuery Mobile Framework
 App-Entwicklung
APEX jQuery Mobile Smartphone
 App-Entwicklung
Zusammenfassung und Fazit
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
8
Oracle Application Express (APEX)
Rapid Application Development-Werkzeug
 datenbankzentriert, Zwei-Schichten-Architektur => kein ORM
 deklarative Anwendungs- und App-Entwicklung im Browser
 Web-App-Entwicklung in APEX mittels integriertem jQuery
Mobile-Framework
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
9
APEX-Grundlagen: die Page Definition
 Page Definition Page ist im Zentrum der Arbeit mit APEX:
Page Rendering, Page Processing, Shared Components sind
die „Säulen“ der Anwendungsentwicklung mit APEX
 zahlreiche Wizards
 viele einsatzbereite Komponenten (Reports, Forms, Charts,
speziellere Komponenten wie Tabular Forms, Master-DetailForms, Interactive Reports)
 Logik implementieren in SQL und PL/SQL
 Look & Feel: ausgelagert in Templates, App-weite Konsistenz
durch Themes
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
10
APEX-Grundlagen : das Page Rendering
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
11
APEX-Grundlagen: das Page Processing
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
12
APEX-Grundlagen: Shared Components
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
13
Gliederung
Einführung
 Apps
 Herangehensweisen bei App-Entwicklung
APEX Grundlagen
 … als Basis der mobilen APEX-Erweiterung
jQuery Mobile
 jQuery und das jQuery Mobile Framework
 App-Entwicklung
APEX jQuery Mobile Smartphone
 App-Entwicklung
Zusammenfassung und Fazit
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
14
jQuery Mobile
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
15
jQuery Mobile Features
 implementiert mit jQuery
 Markup-getriebene Konfiguration der App-Seiten
 Progressive Enhancement mittels HTML5-data-*Elementattribute
 Responsive Design
 AJAX-basiertes Navigationssystem
 Einheitliche UI-Widgets
 Unterstützung von Touch-Events
 Eigenes Theming-Framework
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
16
Vorgehen bei App-Entwicklung
 Benötigte Bibliotheken und Metadaten hinzufügen
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile1.3.2.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile1.3.2.min.js"></script>
<ab hier ggfs. noch eigene CSS- und JavaScript - Libraries>
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
17
Vorgehen bei App-Entwicklung
 Markup schreiben (semantische HTML5-Elemente nutzen)
 data-*-Elementattribute hinzufügen
<section data-role="page" id=“page1">
<header data-role="header">
<h1>…</h1>
</header>
<div data-role="content">
<p>…</p>
</div>
<footer data-role="footer">
<h4>…</h4>
</footer>
</section>
<section data-role="page" id=“page2">
……
 ein HTML-Dokument, zwei interne Pages
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
18
Applikationsstruktur
 Pages
 <div data-role="page">
 Dialogs: die zweite „Art“ von Pages
 <a href="foo.html" data-rel="dialog">
 Speicherung der Navigation durch die Pages in HistoryFunktionalität des Browsers
 Transitions
 Page: <a href="foo.html" data-transition="pop">
 Dialog: <a href="foo.html" data-rel="dialog" datatransition="pop">
 data-transition=
"{fade|flip|flow|none|pop|slide|slidedown|slidef
ade|slideup|turn}"
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
19
Page-Elemente: Widgets I
 List Views
<ul data-role="listview" data-inset="true">
<li><a href="#">Acura</a></li>
….
</ul>
 Toolbars
 Navigation Bars
<div data-role="navbar">
<ul><li><a href="#" class="ui-btn-active">One
</a></li>
 Header / Footer Toolbars
data-role = " header " / "footer"
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
20
Page-Elemente: Widgets II
 Buttons: drei Möglichkeiten
 automatisch für input type="submit|reset"
 automatisch für <button>-Element
 auf anchor <a> angewendetes data-role="button"
 Gruppierung der Buttons mit data-role="controlgroup"
 Forms
 automatisch für input type= "checkbox|radio"
 Flip-Toggle data-role= " slider"
 HTML5-Typen bei Inputfeldern
 Search-Felder bekommen Fernglas-Icon und
Suchfunktionalität durch input type= "search"
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
21
Nur data-*-Attribute? Customizing jQm I
 jQuery mobile ist jQuery, ist also nach jQuery-Art
$(selector).action() verwendbar. Keine Beschränkung
auf mit data-*-Attributen eingebettete Funktionalität.
 Beispiel aus den jQm-Demo-Showcases:
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
22
Customizing jQm I (Demo Showcase continued)
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
23
Customizing jQm II
 jQuery mobile bringt eigene umfangreiche jQuery API mit
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
24
jQuery Mobile Theming
 Built-In Layout Grids
 ui-grid-a bis ui-grid-d
 ui-block-a bis ui-block-e
 Responsive Design könnte darauf aufbauen
 ThemeRoller
 Themes und Swatches-Begriffe
 Steuerbar über Attribut
data-theme
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
25
jQuery Mobile Theming II
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
26
Gliederung
Einführung
 Apps
 Herangehensweisen bei App-Entwicklung
APEX Grundlagen
 … als Basis der mobilen APEX-Erweiterung
jQuery Mobile
 jQuery und das jQuery Mobile Framework
 App-Entwicklung
APEX jQuery Mobile Smartphone
 App-Entwicklung
Zusammenfassung und Fazit
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
27
Vorgehen bei App-Entwicklung
 App anlegen mit Create Database
Application
 UI auf jQuery Mobile Smartphone
 Smartphone-Theme wählen
 fertiges App-Gerüst mit drei Seiten
steht dann bereits
 Global Page wird immer angelegt und
enthält Header und Footer mit ihren
Templates z.B.
Header bzw. Footer Toolbar(Fixed)
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
28
Templates enthalten jQuery mobile-Code
 Template Header Toolbar (fixed)
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
29
Vorgehen bei App-Entwicklung
 Benötigte Bibliotheken und Metadaten sind bereits
hinzugefügt, allerdings jQuery mobile 1.2.1 bei APEX 4.2.3

eigene CSS-/JavaScript-Bibliotheken
in /i/libraries und /i/themes ablegen und
in Page Definition bzw. Page Template
einbinden

Content Delivery Network
über Application Properties
deklarativ nutzbar
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
30
Was APEX daraus macht …
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
31
Vorgehen bei App-Entwicklung
 Wie gewohnt Pages hinzufügen
 Neue und weggefallene Page-Typen
 Report als ListView
 Form on a Table with ListView
 Kein Interactive Report, keine Master-Detail-Forms, keine
Tabular Forms
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
32
Page-Elemente deklarieren: ListViews I
 List Views konfigurieren über Region Attribute
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
33
Page-Elemente deklarieren: ListViews II
Counter Column ist eine Spalte in der Ergebnismenge
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
34
Page-Elemente deklarieren: Buttons
 Buttons konfigurieren über Button Attribute
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
35
Page-Elemente deklarieren: Forms
 Forms konfigurieren über Item Attribute
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
36
Customizing von jQm in APEX

Das Event definieren und mit Execute JavaScript eigenen Code einfügen

jQuery mobile-Events sind integriert

jQuery() und $() vs. apex.jQuery()
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
37
Theming
 deklarative Grid Layout-Bestimmung
 mit ThemeRoller generierte
CSS-Datei in APEX nutzen
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
38
Baumkontrolle mit APEX und jQuery mobile
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
39
Gliederung
Einführung
 Apps
 Herangehensweisen bei App-Entwicklung
APEX Grundlagen
 … als Basis der mobilen APEX-Erweiterung
jQuery Mobile
 jQuery und das jQuery Mobile Framework
 App-Entwicklung
APEX jQuery Mobile Smartphone
 App-Entwicklung
Zusammenfassung und Fazit
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
40
Fazit
 Apps deklarativ zu entwickeln ist möglich, aber an einigen
Stellen ist Kenntnis von jQuery mobile von Vorteil (z.B. Button
Attributes)
 Großer Vorteil der Entwicklung mit APEX ist die zur Verfügung
stehende Datenbankanbindung und Entwicklung serverseitiger
Logik nach bekannter APEX-Art
 Responsive Web Design mit APEX nur für Desktop-Themes,
die jQuery Mobile Smartphone-Themes sind auch nur für
Smartphone-Apps/Pages gedacht
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
41
Referenzen

Czarski, Carsten: Express-Dienst – Oracle APEX. Rapid Application DevelopmentWerkzeug für Webanwendungen, Heise 2009

Hartman, Roel; Rokitta, Christian; Peake, David: Oracle Application Express for Mobile
Web Applications, New York 2013

Oracle Technology Network: Oracle Application Express Application Builder User’s
Guide, R4.2

Raganitsch, Peter: Wie hausgemacht. Mobile Oracle-Anwendungen mit APEX, iX
10/2013

Reid, Jon: jQuery Mobile – Building Cross-Platform Mobile Applications, Sebastopol
2011
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
42
Dokumentationen

Oracle Datenbank
 http://www.oracle.com/database/

APEX
 http://apex.oracle.com
 http://www.oracle.com/technetwork/developer-tools/apex/overview/index.html
(OTN)
 http://www.oracle.com/webfolder/technetwork/de/community/apex/index.html
(Deutschsprachige APEX- und PL/SQL-Community)
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
43
Vielen Dank für Ihre Aufmerksamkeit!
Dipl.-Inf. Oguz Ibram / Prof. Dr. Petra Sauer
Beuth-Hochschule für Technik Berlin
Fachbereich Informatik
Luxemburger Str. 10
13353 Berlin
Web:
prof.beuth-hochschule.de/sauer
Mail:
oibram / [email protected]
Die Entwicklungsarbeit wurde im Rahmen des Projektes Forschungsassistenz VI durch die
Senatsverwaltung für Wirtschaft, Technologie und Forschung mit Mitteln des Europäischen
Sozialfonds gefördert.
DOAG Konferenz und Ausstellung 2013 • Nürnberg • November 2013 • Ibram, Sauer
44
Herunterladen