SlideShare a Scribd company logo
1 of 21
Introduction to OpenUI5
Mobile Web App Development
What is OpenUI5
all about?
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 3
UI development toolkit for HTML5
Open Source Technologies
HTML5
jQuery
OData
OpenAJAX
CSS3
LESS
D3.js
ARIA
Built with Leading Web Technologies…
…and became Open Source @ 11/12/2013
https://sap.github.io/openui5/
Difference between SAPUI5 & OpenUI5: no charts in OpenUI5, SAP Web IDE uses SAPUI5
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 4
UI development toolkit for HTML5
Responsive Web Design
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 5
Examples of SAPUI5 apps
SAP Fiori
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 6
Model-View-Controller Concept
Model
Manages data and change subscriptions
View
Provides output representation of application
Controller
Handles user interaction
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 7
Model, View, Controller in detail
XML-based View
Collection of UI controls, positioned using layouts and containers
Automatic re-rendering whenever a property (1:1) or aggregation (1:N) changes
JavaScript-based Controller
Used for handling UI events and for setting up the view
Data Model
Supported data sources: JSON, XML, OData, Resource Bundles (translations)
Loads, holds, and updates all application data
Data is attached (bound) to controls through data bindings.
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 8
Routing 101
Routing is a mechanism for in-app navigation for supporting…
… browser history handling
… bookmarks/ deep links
How routing works:
Your web app component will define routes, such as
product → #/product
product/{id} → #/product/5 or #/product/3
product/{id}/detail/:detailId: → #/product/5/detail/3 or #/product/5/detail
When a route matches, the shown view is switched out and an event is thrown.
How to start
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 10
Prepare Local Development Environment
Text editor / IDE of your choice
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta charset="UTF-8">
<title>Hello World App</title>
<script src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js"
id="sap-ui-bootstrap"
data-sap-ui-theme="sap_bluecrystal"
data-sap-ui-libs="sap.m">
</script>
<script type="text/javascript">
sap.ui.getCore().attachInit(function () {
// your coding here
});
</script>
</head>
<body class="sapUiBody" id="content">
</body>
</html>
Use a http server!!!
(serving sapui5 app, pictures/JSON files)
python –m SimpleHTTPServer
 http://localhost:8000
(or use node.js http-server port 8080)
If you work with Eclipse, use tomcat
Brackets Editor has a built in http-server
Accessing remote resources (Cross origin)
"C:Program Files (x86)GoogleChromeApplicationchrome.exe" --disable-web-security
If you work with Eclipse, than use a proxy servlet
Example
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 12
Development tips 1
Use the SAPUI5 Chrome Inspector
Debug your apps, inspect other apps
https://github.com/SAP/ui5-inspector
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 13
Development tips 2
Bluescreen?
Look into your console!
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 14
Development tips 3
Caching problems?
Chrome – open DevTools, disable cache
Chrome – open DevTools,
long click on refresh, select clear cache
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 15
Development tips 4
Namespaces (SAPUI5)
index.html
webapp/Component.js
webapp/view/App.view.xml
webapp/controller/App.controller.js
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 16
Development tips 4
Start with a local JSON Model!
If there is time – or your backend peers work in parallel,
you could implement a real backend (REST/OData)
Don‘t waste too much time on a login screen!
Focus on a functional app prototype – something you can pitch and show
Charts are hard
If you use charts, start with the ChartContainer example, NOT VizFrame
Use XML views
All of the Explored examples are XML views, easier copy-paste-adapt
© 2016 SAP SE or an SAP affiliate company. All rights reserved. 17
Explored app tip
Be aware of the XML namespaces!
Don‘t forget to declare the layout when you use a layout control!
Useful links 1/2
HANA Cloud Platform - Free Developer Version
https://account.hanatrial.ondemand.com
OpenUI5 Documentation
https://openui5.hana.ondemand.com/
OpenUI5 Tutorials in the Documentation:
Useful links 2/2
OpenUI5 Overview
http://openui5.org/
OpenUI5 Explored – Controls overview
https://openui5.hana.ondemand.com/explored.html
Free MOOC by SAP: Build your Own SAP Fiori App in the Cloud
https://open.sap.com/courses/fiux1
SAPUI5 Space in SAP Community Network (SCN)
http://scn.sap.com/community/developer-center/front-end
Fiori Guidelines
http://experience.sap.com/fiori-guidelines
SAP WEB IDE Guides: http://scn.sap.com/docs/DOC-55465
Examples repositories
Denise Nepraunig: fuzzy-octo-batman
Small self contained examples: MVC, JSON, CRUD, OData
https://github.com/denisenepraunig/fuzzy-octo-batman
SAP: OpenUI5 todo app (JSON) with localStorage
https://github.com/SAP/openui5-sample-app
Denise Nepraunig: todo app with OData and HANA XS backend
https://github.com/denisenepraunig/sapui5-hanaxs-examples/tree/master/todoapp
Denise Nepraunig: chuck_norris_jokes
OpenUI5 app with backend via HCP destination service
https://github.com/denisenepraunig/sapui5-hcp-examples/tree/master/chuck_norris_jokes
© 2016 SAP SE or an SAP affiliate company. All rights reserved.
Thank you
Denise Nepraunig
SAPUI5 Developer
denise.nepraunig@sap.com
@denisenepraunig

More Related Content

What's hot

SAP TRAINING CLASSES FOR UI5
SAP TRAINING CLASSES FOR UI5SAP TRAINING CLASSES FOR UI5
SAP TRAINING CLASSES FOR UI5tmanasaganesh
 
SAP UI5 Online Training
SAP UI5 Online TrainingSAP UI5 Online Training
SAP UI5 Online TrainingAnusha GOT
 
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJSNuxeo
 
Angular js up & running
Angular js up & runningAngular js up & running
Angular js up & runningJunaid Baloch
 
Angular JS For Your Business
Angular JS For Your BusinessAngular JS For Your Business
Angular JS For Your BusinessMobiloitte
 
angular-formly presentation
angular-formly presentationangular-formly presentation
angular-formly presentationAnnia Martinez
 
Technoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development servicesTechnoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development servicesAaron Jacobson
 
iOS design patterns: MVC, MVP and MVVM
iOS design patterns: MVC, MVP and MVVMiOS design patterns: MVC, MVP and MVVM
iOS design patterns: MVC, MVP and MVVMSuyash Gupta
 
ASP .NET MVC Introduction & Guidelines
ASP .NET MVC Introduction & Guidelines  ASP .NET MVC Introduction & Guidelines
ASP .NET MVC Introduction & Guidelines Dev Raj Gautam
 
How to Design a Futuristic Website with Drupal 8?
How to Design a Futuristic Website with Drupal 8?How to Design a Futuristic Website with Drupal 8?
How to Design a Futuristic Website with Drupal 8?Paul Cook
 

What's hot (13)

SAP TRAINING CLASSES FOR UI5
SAP TRAINING CLASSES FOR UI5SAP TRAINING CLASSES FOR UI5
SAP TRAINING CLASSES FOR UI5
 
SAP UI5 Online Training
SAP UI5 Online TrainingSAP UI5 Online Training
SAP UI5 Online Training
 
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS
[Webinar] Building a Front-end for the Nuxeo Platform with AngularJS
 
Angular js up & running
Angular js up & runningAngular js up & running
Angular js up & running
 
Angular JS For Your Business
Angular JS For Your BusinessAngular JS For Your Business
Angular JS For Your Business
 
angular-formly presentation
angular-formly presentationangular-formly presentation
angular-formly presentation
 
Get satrted angular js
Get satrted angular jsGet satrted angular js
Get satrted angular js
 
Technoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development servicesTechnoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development services
 
Angular overview
Angular overviewAngular overview
Angular overview
 
iOS design patterns: MVC, MVP and MVVM
iOS design patterns: MVC, MVP and MVVMiOS design patterns: MVC, MVP and MVVM
iOS design patterns: MVC, MVP and MVVM
 
ASP .NET MVC Introduction & Guidelines
ASP .NET MVC Introduction & Guidelines  ASP .NET MVC Introduction & Guidelines
ASP .NET MVC Introduction & Guidelines
 
How to Design a Futuristic Website with Drupal 8?
How to Design a Futuristic Website with Drupal 8?How to Design a Futuristic Website with Drupal 8?
How to Design a Futuristic Website with Drupal 8?
 
Php framework
Php frameworkPhp framework
Php framework
 

Viewers also liked (20)

Growth Hacking
Growth Hacking Growth Hacking
Growth Hacking
 
Manchester city
Manchester cityManchester city
Manchester city
 
Datomic
DatomicDatomic
Datomic
 
Datomic
DatomicDatomic
Datomic
 
Datomic
DatomicDatomic
Datomic
 
Waldorf Education
Waldorf EducationWaldorf Education
Waldorf Education
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Tesco
TescoTesco
Tesco
 
ReactJs
ReactJsReactJs
ReactJs
 
intel core i7
intel core i7intel core i7
intel core i7
 
Oprah Winfrey
Oprah WinfreyOprah Winfrey
Oprah Winfrey
 
ReactJS | 서버와 클라이어트에서 동시에 사용하는
ReactJS | 서버와 클라이어트에서 동시에 사용하는ReactJS | 서버와 클라이어트에서 동시에 사용하는
ReactJS | 서버와 클라이어트에서 동시에 사용하는
 
Elon Musk
Elon MuskElon Musk
Elon Musk
 
Bill Gates, Who is he?
Bill Gates, Who is he?Bill Gates, Who is he?
Bill Gates, Who is he?
 
In memory computing
In memory computingIn memory computing
In memory computing
 
Reverse Engineering
Reverse EngineeringReverse Engineering
Reverse Engineering
 
The big bang theory
The big bang theoryThe big bang theory
The big bang theory
 
Chess
ChessChess
Chess
 
Product management
Product managementProduct management
Product management
 
Tesco
TescoTesco
Tesco
 

Similar to SAPUI5 & OpenUI5 for SAP InnoJam

SAP Developer Center - March 2016 update
SAP Developer Center - March 2016 updateSAP Developer Center - March 2016 update
SAP Developer Center - March 2016 updateVitaliy Rudnytskiy
 
SAP HANA Cloud Portal - Deep Dive
SAP HANA Cloud Portal - Deep DiveSAP HANA Cloud Portal - Deep Dive
SAP HANA Cloud Portal - Deep DiveSAP Portal
 
4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...
4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...
4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...PROIDEA
 
Mobility at SAP TDC 2014 SP
Mobility at SAP TDC 2014 SPMobility at SAP TDC 2014 SP
Mobility at SAP TDC 2014 SPRonildo Santos
 
Hana ui services nov2013 #sapmm
Hana ui services nov2013 #sapmmHana ui services nov2013 #sapmm
Hana ui services nov2013 #sapmmSAP Portal
 
ASUG84544 - Workflow Solutions from SAP When to Use What.pdf
ASUG84544 - Workflow Solutions from SAP When to Use What.pdfASUG84544 - Workflow Solutions from SAP When to Use What.pdf
ASUG84544 - Workflow Solutions from SAP When to Use What.pdfssuser8bab641
 
2017 sitNL Cloud Foundry Masterclass
2017 sitNL Cloud Foundry Masterclass2017 sitNL Cloud Foundry Masterclass
2017 sitNL Cloud Foundry MasterclassTed Castelijns
 
44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511faNagendra Babu
 
Z sap boe-2016-techws-04_vs_fiori-app-with-eclipseluna-accessing-zsap-system
Z sap boe-2016-techws-04_vs_fiori-app-with-eclipseluna-accessing-zsap-systemZ sap boe-2016-techws-04_vs_fiori-app-with-eclipseluna-accessing-zsap-system
Z sap boe-2016-techws-04_vs_fiori-app-with-eclipseluna-accessing-zsap-systemNagendra Babu
 
Quantify your drive: IoT on a personal scale with SAP technologies
Quantify your drive: IoT on a personal scale with SAP technologiesQuantify your drive: IoT on a personal scale with SAP technologies
Quantify your drive: IoT on a personal scale with SAP technologiesVitaliy Rudnytskiy
 
What is SAP API Management_.pdf
What is SAP API Management_.pdfWhat is SAP API Management_.pdf
What is SAP API Management_.pdfBilawalAmeen
 
Fiori App for the Apparel & Footwear Solution
Fiori App for the Apparel & Footwear SolutionFiori App for the Apparel & Footwear Solution
Fiori App for the Apparel & Footwear SolutionHector Ritondale
 
Fiori App for the Apparel & Footwear Solution
Fiori App for the Apparel & Footwear Solution Fiori App for the Apparel & Footwear Solution
Fiori App for the Apparel & Footwear Solution Argentis Consulting
 
troubleshooting Fiori.pdf
troubleshooting Fiori.pdftroubleshooting Fiori.pdf
troubleshooting Fiori.pdfpraveenRapeti3
 
ASUG webcast - going mobile with Slipstream Engine March 2018
ASUG webcast - going mobile with Slipstream Engine March 2018ASUG webcast - going mobile with Slipstream Engine March 2018
ASUG webcast - going mobile with Slipstream Engine March 2018Peter Spielvogel
 
SAP TechEd 2016 UX261 sap_screen_personas_hands-on
SAP TechEd 2016 UX261 sap_screen_personas_hands-onSAP TechEd 2016 UX261 sap_screen_personas_hands-on
SAP TechEd 2016 UX261 sap_screen_personas_hands-onPeter Spielvogel
 

Similar to SAPUI5 & OpenUI5 for SAP InnoJam (20)

SAP Developer Center - March 2016 update
SAP Developer Center - March 2016 updateSAP Developer Center - March 2016 update
SAP Developer Center - March 2016 update
 
SAP HANA Cloud Portal - Deep Dive
SAP HANA Cloud Portal - Deep DiveSAP HANA Cloud Portal - Deep Dive
SAP HANA Cloud Portal - Deep Dive
 
OpenUI5
OpenUI5OpenUI5
OpenUI5
 
4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...
4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...
4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...
 
Mobility at SAP TDC 2014 SP
Mobility at SAP TDC 2014 SPMobility at SAP TDC 2014 SP
Mobility at SAP TDC 2014 SP
 
Notes
NotesNotes
Notes
 
Hana ui services nov2013 #sapmm
Hana ui services nov2013 #sapmmHana ui services nov2013 #sapmm
Hana ui services nov2013 #sapmm
 
ASUG84544 - Workflow Solutions from SAP When to Use What.pdf
ASUG84544 - Workflow Solutions from SAP When to Use What.pdfASUG84544 - Workflow Solutions from SAP When to Use What.pdf
ASUG84544 - Workflow Solutions from SAP When to Use What.pdf
 
2017 sitNL Cloud Foundry Masterclass
2017 sitNL Cloud Foundry Masterclass2017 sitNL Cloud Foundry Masterclass
2017 sitNL Cloud Foundry Masterclass
 
44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa
 
SAP Developers Update
SAP  Developers UpdateSAP  Developers Update
SAP Developers Update
 
Z sap boe-2016-techws-04_vs_fiori-app-with-eclipseluna-accessing-zsap-system
Z sap boe-2016-techws-04_vs_fiori-app-with-eclipseluna-accessing-zsap-systemZ sap boe-2016-techws-04_vs_fiori-app-with-eclipseluna-accessing-zsap-system
Z sap boe-2016-techws-04_vs_fiori-app-with-eclipseluna-accessing-zsap-system
 
Quantify your drive: IoT on a personal scale with SAP technologies
Quantify your drive: IoT on a personal scale with SAP technologiesQuantify your drive: IoT on a personal scale with SAP technologies
Quantify your drive: IoT on a personal scale with SAP technologies
 
What is SAP API Management_.pdf
What is SAP API Management_.pdfWhat is SAP API Management_.pdf
What is SAP API Management_.pdf
 
Fiori App for the Apparel & Footwear Solution
Fiori App for the Apparel & Footwear SolutionFiori App for the Apparel & Footwear Solution
Fiori App for the Apparel & Footwear Solution
 
Fiori App for the Apparel & Footwear Solution
Fiori App for the Apparel & Footwear Solution Fiori App for the Apparel & Footwear Solution
Fiori App for the Apparel & Footwear Solution
 
troubleshooting Fiori.pdf
troubleshooting Fiori.pdftroubleshooting Fiori.pdf
troubleshooting Fiori.pdf
 
ASUG webcast - going mobile with Slipstream Engine March 2018
ASUG webcast - going mobile with Slipstream Engine March 2018ASUG webcast - going mobile with Slipstream Engine March 2018
ASUG webcast - going mobile with Slipstream Engine March 2018
 
SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption SAP NetWeaver Gateway - Gateway Service Consumption
SAP NetWeaver Gateway - Gateway Service Consumption
 
SAP TechEd 2016 UX261 sap_screen_personas_hands-on
SAP TechEd 2016 UX261 sap_screen_personas_hands-onSAP TechEd 2016 UX261 sap_screen_personas_hands-on
SAP TechEd 2016 UX261 sap_screen_personas_hands-on
 

Recently uploaded

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

SAPUI5 & OpenUI5 for SAP InnoJam

  • 1. Introduction to OpenUI5 Mobile Web App Development
  • 3. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 3 UI development toolkit for HTML5 Open Source Technologies HTML5 jQuery OData OpenAJAX CSS3 LESS D3.js ARIA Built with Leading Web Technologies… …and became Open Source @ 11/12/2013 https://sap.github.io/openui5/ Difference between SAPUI5 & OpenUI5: no charts in OpenUI5, SAP Web IDE uses SAPUI5
  • 4. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 4 UI development toolkit for HTML5 Responsive Web Design
  • 5. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 5 Examples of SAPUI5 apps SAP Fiori
  • 6. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 6 Model-View-Controller Concept Model Manages data and change subscriptions View Provides output representation of application Controller Handles user interaction
  • 7. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 7 Model, View, Controller in detail XML-based View Collection of UI controls, positioned using layouts and containers Automatic re-rendering whenever a property (1:1) or aggregation (1:N) changes JavaScript-based Controller Used for handling UI events and for setting up the view Data Model Supported data sources: JSON, XML, OData, Resource Bundles (translations) Loads, holds, and updates all application data Data is attached (bound) to controls through data bindings.
  • 8. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 8 Routing 101 Routing is a mechanism for in-app navigation for supporting… … browser history handling … bookmarks/ deep links How routing works: Your web app component will define routes, such as product → #/product product/{id} → #/product/5 or #/product/3 product/{id}/detail/:detailId: → #/product/5/detail/3 or #/product/5/detail When a route matches, the shown view is switched out and an event is thrown.
  • 10. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 10 Prepare Local Development Environment Text editor / IDE of your choice <!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta charset="UTF-8"> <title>Hello World App</title> <script src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js" id="sap-ui-bootstrap" data-sap-ui-theme="sap_bluecrystal" data-sap-ui-libs="sap.m"> </script> <script type="text/javascript"> sap.ui.getCore().attachInit(function () { // your coding here }); </script> </head> <body class="sapUiBody" id="content"> </body> </html> Use a http server!!! (serving sapui5 app, pictures/JSON files) python –m SimpleHTTPServer  http://localhost:8000 (or use node.js http-server port 8080) If you work with Eclipse, use tomcat Brackets Editor has a built in http-server Accessing remote resources (Cross origin) "C:Program Files (x86)GoogleChromeApplicationchrome.exe" --disable-web-security If you work with Eclipse, than use a proxy servlet
  • 12. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 12 Development tips 1 Use the SAPUI5 Chrome Inspector Debug your apps, inspect other apps https://github.com/SAP/ui5-inspector
  • 13. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 13 Development tips 2 Bluescreen? Look into your console!
  • 14. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 14 Development tips 3 Caching problems? Chrome – open DevTools, disable cache Chrome – open DevTools, long click on refresh, select clear cache
  • 15. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 15 Development tips 4 Namespaces (SAPUI5) index.html webapp/Component.js webapp/view/App.view.xml webapp/controller/App.controller.js
  • 16. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 16 Development tips 4 Start with a local JSON Model! If there is time – or your backend peers work in parallel, you could implement a real backend (REST/OData) Don‘t waste too much time on a login screen! Focus on a functional app prototype – something you can pitch and show Charts are hard If you use charts, start with the ChartContainer example, NOT VizFrame Use XML views All of the Explored examples are XML views, easier copy-paste-adapt
  • 17. © 2016 SAP SE or an SAP affiliate company. All rights reserved. 17 Explored app tip Be aware of the XML namespaces! Don‘t forget to declare the layout when you use a layout control!
  • 18. Useful links 1/2 HANA Cloud Platform - Free Developer Version https://account.hanatrial.ondemand.com OpenUI5 Documentation https://openui5.hana.ondemand.com/ OpenUI5 Tutorials in the Documentation:
  • 19. Useful links 2/2 OpenUI5 Overview http://openui5.org/ OpenUI5 Explored – Controls overview https://openui5.hana.ondemand.com/explored.html Free MOOC by SAP: Build your Own SAP Fiori App in the Cloud https://open.sap.com/courses/fiux1 SAPUI5 Space in SAP Community Network (SCN) http://scn.sap.com/community/developer-center/front-end Fiori Guidelines http://experience.sap.com/fiori-guidelines SAP WEB IDE Guides: http://scn.sap.com/docs/DOC-55465
  • 20. Examples repositories Denise Nepraunig: fuzzy-octo-batman Small self contained examples: MVC, JSON, CRUD, OData https://github.com/denisenepraunig/fuzzy-octo-batman SAP: OpenUI5 todo app (JSON) with localStorage https://github.com/SAP/openui5-sample-app Denise Nepraunig: todo app with OData and HANA XS backend https://github.com/denisenepraunig/sapui5-hanaxs-examples/tree/master/todoapp Denise Nepraunig: chuck_norris_jokes OpenUI5 app with backend via HCP destination service https://github.com/denisenepraunig/sapui5-hcp-examples/tree/master/chuck_norris_jokes
  • 21. © 2016 SAP SE or an SAP affiliate company. All rights reserved. Thank you Denise Nepraunig SAPUI5 Developer denise.nepraunig@sap.com @denisenepraunig