SlideShare a Scribd company logo
What is 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
askQuestion(); 
?
Sofia 
Nov 23, 2014 
var title = “OpenUI5 – all you need for 
enterprise ready apps”; 
var info = { 
name: “Stanislava Baltova, 
Petya Begovska, 
Peter Skelin”, 
otherOptional: “SAP Labs Bulgaria” 
};
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
agenda(); 
• What is OpenUI5 
• App Architecture Overview and Concepts 
• Responsiveness out of the box 
• Digging Deeper 
• Custom Controls 
• Enterprise Ready 
• Summary 
• Q&A
What is OpenUI5 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
JavaScript UI library 
Huge number of 
UI controls 
MVC, data binding, 
templating, … 
Enterprise-grade Responsive design 
Modern browsers and 
(touch) devices 
Is Open Source, uses Open Source
We are now Open Source 
data.js 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
• Free to use 
• Fueled by jQuery, data.js and more 
• Open to community feedback and bug reports 
• Open for contributions 
• Updated frequently 
• http://openui5.org 
iScroll
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
MVC 
Views 
XML, JS, HTML,… 
Controllers 
Models 
JSON, XML or oData 
data binding 
user action 
update 
update 
notify
UI5 Control / Output 
UI5 Control / Output 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
Data Binding 
• DATA BINDING • TWO-WAY-BINDING 
App data 
application)dat+a 
has)been)updated+ 
John Doe 
Age: 36 
John Doe, 35 
Resulting UI5 
Control / Output 
App data 
updated 
John Doe, 36 
John Doe 
Age: 35 
App data 
application)dat+a 
has)been)updated+ 
John Doe 
Age: 36 
John Doe, 35 
UI5 Control / Output 
updated 
John Doe, 36 
John Doe 
Age: 35 
Resulting app 
data
App Architecture overview and concepts 
index.html (Single Page Application) 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
index.html 
<!DOCTYPE 
HTML> 
<html> 
<head> 
<script 
src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> 
<script> 
sap.ui.getCore().attachInit(function() 
{ 
}); 
</script> 
</head> 
<body> 
<div 
id="content"></div> 
</body> 
</html>
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
index.html 
<!DOCTYPE 
HTML> 
<html> 
<head> 
<script 
src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> 
<script> 
sap.ui.getCore().attachInit(function() 
{ 
}); 
</script> 
</head> 
<body> 
<div 
id="content"></div> 
</body> 
</html>
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
index.html 
<!DOCTYPE 
HTML> 
<html> 
<head> 
<script 
src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> 
<script> 
sap.ui.getCore().attachInit(function() 
{ 
}); 
</script> 
</head> 
<body> 
<div 
id="content"></div> 
</body> 
</html>
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
index.html 
<!DOCTYPE 
HTML> 
<html> 
<head> 
<script 
src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> 
<script> 
sap.ui.getCore().attachInit(function() 
{ 
}); 
</script> 
</head> 
<body> 
<div 
id="content"></div> 
</body> 
</html>
App Architecture overview and concepts 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
index.html 
<!DOCTYPE 
HTML> 
<html> 
<head> 
<script 
src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> 
<script> 
sap.ui.getCore().attachInit(function() 
{ 
new 
sap.ui.core.ComponentContainer("ProductsComponent").placeAt("content"); 
}); 
</script> 
</head> 
<body> 
<div 
id="content"></div> 
</body> 
</html>
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
index.html 
<!DOCTYPE 
HTML> 
<html> 
<head> 
<script 
src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> 
<script> 
sap.ui.getCore().attachInit(function() 
{ 
new 
sap.ui.core.ComponentContainer("ProductsComponent").placeAt("content"); 
}); 
</script> 
</head> 
<body> 
<div 
id="content"></div> 
</body> 
</html>
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
index.html 
<!DOCTYPE 
HTML> 
<html> 
<head> 
<script 
src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> 
<script> 
sap.ui.getCore().attachInit(function() 
{ 
new 
sap.ui.core.ComponentContainer("ProductsComponent").placeAt("content"); 
}); 
</script> 
</head> 
<body> 
<div 
id="content"></div> 
</body> 
</html>
Component.js 
sap.ui.core.UIComponent.extend("ProductsComponent", 
{ 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
metadata 
: 
{ 
name 
: 
"Product 
Browser", 
version 
: 
"1.0", 
rootView 
: 
"App",
Component.js 
sap.ui.core.UIComponent.extend("ProductsComponent", 
{ 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
metadata 
: 
{ 
name 
: 
"Product 
Browser", 
version 
: 
"1.0", 
rootView 
: 
"App",
Component.js 
sap.ui.core.UIComponent.extend("ProductsComponent", 
{ 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
metadata 
: 
{ 
name 
: 
"Product 
Browser", 
version 
: 
"1.0", 
rootView 
: 
"App",
Component.js 
sap.ui.core.UIComponent.extend("ProductsComponent", 
{ 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
metadata 
: 
{ 
name 
: 
"Product 
Browser", 
version 
: 
"1.0", 
rootView 
: 
"App",
App Architecture overview and concepts 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
Component.js 
init 
: 
function() 
{ 
// 
Create 
and 
set 
domain 
model 
to 
the 
component 
var 
oModel 
= 
new 
sap.ui.model.odata.ODataModel(sServiceUrl); 
this.setModel(oModel); 
}
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
Component.js 
init 
: 
function() 
{ 
// 
Create 
and 
set 
domain 
model 
to 
the 
component 
var 
oModel 
= 
new 
sap.ui.model.odata.ODataModel(sServiceUrl); 
this.setModel(oModel); 
}
App Architecture overview and concepts 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
Component.js 
routing 
: 
{ 
routes 
: 
[ 
{ 
pattern 
: 
"", 
view 
: 
"Master", 
subroutes 
: 
[ 
{ 
pattern 
: 
"product/{productId}/:tab:", 
view 
: 
"Detail" 
} 
] 
} 
] 
}
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
Component.js 
routing 
: 
{ 
routes 
: 
[ 
{ 
pattern 
: 
"", 
view 
: 
"Master", 
subroutes 
: 
[ 
{ 
pattern 
: 
"product/{productId}/:tab:", 
view 
: 
"Detail" 
} 
] 
} 
] 
}
App Architecture overview and concepts 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
App Architecture overview and concepts 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Master.view.xml 
<List 
items="{/Products}" 
<items> 
<ObjectListItem 
press="onSelect" 
title="{Name}" 
numberUnit="USD"> 
</ObjectListItem> 
</items> 
</List> 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Master.view.xml 
<List 
items="{/Products}" 
<items> 
<ObjectListItem 
press="onSelect" 
title="{Name}" 
numberUnit="USD"> 
</ObjectListItem> 
</items> 
</List> 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Master.view.xml 
<List 
items="{/Products}" 
<items> 
<ObjectListItem 
press="onSelect" 
title="{Name}" 
numberUnit="USD"> 
</ObjectListItem> 
</items> 
</List> 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Master.view.xml 
<List 
items="{/Products}" 
<items> 
<ObjectListItem 
press="onSelect" 
title="{Name}" 
numberUnit="USD"> 
</ObjectListItem> 
</items> 
</List> 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Master.view.xml 
<List 
items="{/Products}" 
<items> 
<ObjectListItem 
press="onSelect" 
title="{Name}" 
numberUnit="USD"> 
</ObjectListItem> 
</items> 
</List> 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Master.view.xml 
<List 
items="{/Products}" 
<items> 
<ObjectListItem 
press="onSelect" 
title="{Name}" 
numberUnit="USD"> 
</ObjectListItem> 
</items> 
</List> 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Master.view.xml 
<List 
items="{/Products}" 
<items> 
<ObjectListItem 
press="onSelect" 
title="{Name}" 
numberUnit="USD"> 
</ObjectListItem> 
</items> 
</List> 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Master.controller.js 
sap.ui.Controller.extend("Master", 
{ 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
onSelect 
: 
function(oEvent) 
{ 
// 
Get 
the 
list 
item 
from 
the 
listItem 
parameter 
this.showDetail(oEvent.getParameter("listItem")); 
} 
});
Master.controller.js 
sap.ui.Controller.extend("Master", 
{ 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
onSelect 
: 
function(oEvent) 
{ 
// 
Get 
the 
list 
item 
from 
the 
listItem 
parameter 
this.showDetail(oEvent.getParameter("listItem")); 
} 
});
Master.controller.js 
sap.ui.Controller.extend("Master", 
{ 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
onSelect 
: 
function(oEvent) 
{ 
// 
Get 
the 
list 
item 
from 
the 
listItem 
parameter 
this.showDetail(oEvent.getParameter("listItem")); 
} 
});
App Architecture overview and concepts 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Dependency Management 
Make it modular and reusable 
// Require/Declare for JavaScript files 
Have it in any language you like 
// Resource Bundles 
Single file for production 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
// Grunt
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Responsiveness out of the box 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Digging Deeper 
Ė ĺ Ĥ Ń 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
Controls 
Playground 
The Demo 
Apps 
The Developer 
Guide 
The API
Custom Controls 
• Controls can be defined on-the-fly in JS 
• Data binding etc. out of the box 
A simple control: 
http://jsbin.com/openui5-control/2/edit 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Enterprise Ready 
• Supportability (e.g. Ctrl-Alt-Shift-S popup) 
• Internationalization and right-to-left support 
• Highest quality 
• Extensibility 
• Theming 
• Accessibility 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
Theming
Accessibility 
High Contrast Black 
theme 
Keyboard 
Handling 
Screen Reader 
support 
Accessibility refers to the possibility for everyone, including and especially people 
with disabilities, to access and use technology and information products. 
More than 1 billion people in the world have some form of disability.
180+ controls 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
Summary 
Open Source 
// Free for any use and contribution 
ONE Responsive Lib 
// Across browsers and devices 
Enterprise Ready 
Powerful Development Concepts 
// MVC, data binding, templating…
Thank you! 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
Web: 
GitHub: 
Docs & Demos: 
Twitter: 
http://openui5.org 
https://github.com/SAP/openui5/ 
https://openui5.hana.ondemand.com 
@OpenUI5
Upcoming events 
ISTA Conference 26-27 November 
http://istabg.org/ 
STAY TUNED FOR 2015: 
Azure Bootcamp http://azure-camp.eu/ 
UXify Bulgaria http://uxify.org/ 
SQLSaturday https://www.sqlsaturday.com/ 
and more js.next(); 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
Thanks to our Sponsors: 
OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 
Diamond Sponsor: 
Hosting partner: 
Gold Sponsors: 
Silver Sponsors: 
Technological 
Partners: 
Bronze Sponsors: 
Swag Sponsors: 
Media Partners:

More Related Content

PDF
UI5con - The OpenUI5 Spirit
PDF
PDF
Getting Started with OpenUI5 (San Francisco State University)
PDF
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
PDF
Android best practices 2015
PDF
Being Epic: Best Practices for Android Development
PDF
rockwell software studio 5000-lva1-app6892
PDF
Vietnam qa meetup
UI5con - The OpenUI5 Spirit
Getting Started with OpenUI5 (San Francisco State University)
I Love APIs 2015 API Lab Design-first API Development Using Node and Swagger
Android best practices 2015
Being Epic: Best Practices for Android Development
rockwell software studio 5000-lva1-app6892
Vietnam qa meetup

Similar to OpenUI5@JSNext Bulgaria 2014 (20)

PDF
OSCON 2014: OpenUI5 - The New Responsive Web UI Library
ODP
JMP103 : Extending Your App Arsenal With OpenSocial
ODP
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
PPTX
Get Started with Zend Framework 2
PDF
Prototyping applications with heroku and elasticsearch
PPTX
20141002 delapsley-socalangularjs-final
PDF
Google App Engine Developer - Day2
ODP
CodeIgniter PHP MVC Framework
PPTX
React django
PDF
PHP Unit Testing in Yii
PDF
Modular Test-driven SPAs with Spring and AngularJS
PPTX
Tips for Angular Applications
ODP
PHPNW Drupal as a Framework
PPTX
Data models pivot with splunk break out session
PDF
Appium workshop technopark trivandrum
KEY
The Open & Social Web - Kings of Code 2009
KEY
Open Social In The Enterprise
PPTX
Load Testing: See a Bigger Picture
PPTX
SplunkLive! Introduction to the Splunk Developer Platform
PDF
Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s ...
OSCON 2014: OpenUI5 - The New Responsive Web UI Library
JMP103 : Extending Your App Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
Get Started with Zend Framework 2
Prototyping applications with heroku and elasticsearch
20141002 delapsley-socalangularjs-final
Google App Engine Developer - Day2
CodeIgniter PHP MVC Framework
React django
PHP Unit Testing in Yii
Modular Test-driven SPAs with Spring and AngularJS
Tips for Angular Applications
PHPNW Drupal as a Framework
Data models pivot with splunk break out session
Appium workshop technopark trivandrum
The Open & Social Web - Kings of Code 2009
Open Social In The Enterprise
Load Testing: See a Bigger Picture
SplunkLive! Introduction to the Splunk Developer Platform
Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s ...
Ad

Recently uploaded (20)

PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
history of c programming in notes for students .pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Cost to Outsource Software Development in 2025
PPTX
Transform Your Business with a Software ERP System
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
top salesforce developer skills in 2025.pdf
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
System and Network Administraation Chapter 3
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
assetexplorer- product-overview - presentation
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Odoo Companies in India – Driving Business Transformation.pdf
history of c programming in notes for students .pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Cost to Outsource Software Development in 2025
Transform Your Business with a Software ERP System
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
wealthsignaloriginal-com-DS-text-... (1).pdf
top salesforce developer skills in 2025.pdf
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Computer Software and OS of computer science of grade 11.pptx
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Operating system designcfffgfgggggggvggggggggg
Internet Downloader Manager (IDM) Crack 6.42 Build 41
System and Network Administraation Chapter 3
Wondershare Filmora 15 Crack With Activation Key [2025
Understanding Forklifts - TECH EHS Solution
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
assetexplorer- product-overview - presentation
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Ad

OpenUI5@JSNext Bulgaria 2014

  • 1. What is OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 askQuestion(); ?
  • 2. Sofia Nov 23, 2014 var title = “OpenUI5 – all you need for enterprise ready apps”; var info = { name: “Stanislava Baltova, Petya Begovska, Peter Skelin”, otherOptional: “SAP Labs Bulgaria” };
  • 3. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 agenda(); • What is OpenUI5 • App Architecture Overview and Concepts • Responsiveness out of the box • Digging Deeper • Custom Controls • Enterprise Ready • Summary • Q&A
  • 4. What is OpenUI5 OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 JavaScript UI library Huge number of UI controls MVC, data binding, templating, … Enterprise-grade Responsive design Modern browsers and (touch) devices Is Open Source, uses Open Source
  • 5. We are now Open Source data.js OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 • Free to use • Fueled by jQuery, data.js and more • Open to community feedback and bug reports • Open for contributions • Updated frequently • http://openui5.org iScroll
  • 6. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 7. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 MVC Views XML, JS, HTML,… Controllers Models JSON, XML or oData data binding user action update update notify
  • 8. UI5 Control / Output UI5 Control / Output OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 Data Binding • DATA BINDING • TWO-WAY-BINDING App data application)dat+a has)been)updated+ John Doe Age: 36 John Doe, 35 Resulting UI5 Control / Output App data updated John Doe, 36 John Doe Age: 35 App data application)dat+a has)been)updated+ John Doe Age: 36 John Doe, 35 UI5 Control / Output updated John Doe, 36 John Doe Age: 35 Resulting app data
  • 9. App Architecture overview and concepts index.html (Single Page Application) OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 10. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 index.html <!DOCTYPE HTML> <html> <head> <script src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> <script> sap.ui.getCore().attachInit(function() { }); </script> </head> <body> <div id="content"></div> </body> </html>
  • 11. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 index.html <!DOCTYPE HTML> <html> <head> <script src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> <script> sap.ui.getCore().attachInit(function() { }); </script> </head> <body> <div id="content"></div> </body> </html>
  • 12. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 index.html <!DOCTYPE HTML> <html> <head> <script src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> <script> sap.ui.getCore().attachInit(function() { }); </script> </head> <body> <div id="content"></div> </body> </html>
  • 13. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 index.html <!DOCTYPE HTML> <html> <head> <script src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> <script> sap.ui.getCore().attachInit(function() { }); </script> </head> <body> <div id="content"></div> </body> </html>
  • 14. App Architecture overview and concepts OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 15. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 index.html <!DOCTYPE HTML> <html> <head> <script src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> <script> sap.ui.getCore().attachInit(function() { new sap.ui.core.ComponentContainer("ProductsComponent").placeAt("content"); }); </script> </head> <body> <div id="content"></div> </body> </html>
  • 16. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 index.html <!DOCTYPE HTML> <html> <head> <script src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> <script> sap.ui.getCore().attachInit(function() { new sap.ui.core.ComponentContainer("ProductsComponent").placeAt("content"); }); </script> </head> <body> <div id="content"></div> </body> </html>
  • 17. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 index.html <!DOCTYPE HTML> <html> <head> <script src="https://openui5.hana.ondemand.com/resources/sap-­‐ui-­‐core.js"></script> <script> sap.ui.getCore().attachInit(function() { new sap.ui.core.ComponentContainer("ProductsComponent").placeAt("content"); }); </script> </head> <body> <div id="content"></div> </body> </html>
  • 18. Component.js sap.ui.core.UIComponent.extend("ProductsComponent", { OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 metadata : { name : "Product Browser", version : "1.0", rootView : "App",
  • 19. Component.js sap.ui.core.UIComponent.extend("ProductsComponent", { OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 metadata : { name : "Product Browser", version : "1.0", rootView : "App",
  • 20. Component.js sap.ui.core.UIComponent.extend("ProductsComponent", { OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 metadata : { name : "Product Browser", version : "1.0", rootView : "App",
  • 21. Component.js sap.ui.core.UIComponent.extend("ProductsComponent", { OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 metadata : { name : "Product Browser", version : "1.0", rootView : "App",
  • 22. App Architecture overview and concepts OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 23. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 Component.js init : function() { // Create and set domain model to the component var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl); this.setModel(oModel); }
  • 24. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 Component.js init : function() { // Create and set domain model to the component var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl); this.setModel(oModel); }
  • 25. App Architecture overview and concepts OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 26. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 Component.js routing : { routes : [ { pattern : "", view : "Master", subroutes : [ { pattern : "product/{productId}/:tab:", view : "Detail" } ] } ] }
  • 27. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 Component.js routing : { routes : [ { pattern : "", view : "Master", subroutes : [ { pattern : "product/{productId}/:tab:", view : "Detail" } ] } ] }
  • 28. App Architecture overview and concepts OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 29. App Architecture overview and concepts OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 30. Master.view.xml <List items="{/Products}" <items> <ObjectListItem press="onSelect" title="{Name}" numberUnit="USD"> </ObjectListItem> </items> </List> OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 31. Master.view.xml <List items="{/Products}" <items> <ObjectListItem press="onSelect" title="{Name}" numberUnit="USD"> </ObjectListItem> </items> </List> OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 32. Master.view.xml <List items="{/Products}" <items> <ObjectListItem press="onSelect" title="{Name}" numberUnit="USD"> </ObjectListItem> </items> </List> OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 33. Master.view.xml <List items="{/Products}" <items> <ObjectListItem press="onSelect" title="{Name}" numberUnit="USD"> </ObjectListItem> </items> </List> OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 34. Master.view.xml <List items="{/Products}" <items> <ObjectListItem press="onSelect" title="{Name}" numberUnit="USD"> </ObjectListItem> </items> </List> OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 35. Master.view.xml <List items="{/Products}" <items> <ObjectListItem press="onSelect" title="{Name}" numberUnit="USD"> </ObjectListItem> </items> </List> OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 36. Master.view.xml <List items="{/Products}" <items> <ObjectListItem press="onSelect" title="{Name}" numberUnit="USD"> </ObjectListItem> </items> </List> OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 37. Master.controller.js sap.ui.Controller.extend("Master", { OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 onSelect : function(oEvent) { // Get the list item from the listItem parameter this.showDetail(oEvent.getParameter("listItem")); } });
  • 38. Master.controller.js sap.ui.Controller.extend("Master", { OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 onSelect : function(oEvent) { // Get the list item from the listItem parameter this.showDetail(oEvent.getParameter("listItem")); } });
  • 39. Master.controller.js sap.ui.Controller.extend("Master", { OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 onSelect : function(oEvent) { // Get the list item from the listItem parameter this.showDetail(oEvent.getParameter("listItem")); } });
  • 40. App Architecture overview and concepts OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 41. Dependency Management Make it modular and reusable // Require/Declare for JavaScript files Have it in any language you like // Resource Bundles Single file for production OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 // Grunt
  • 42. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 43. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 44. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 45. Responsiveness out of the box OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 46. Digging Deeper Ė ĺ Ĥ Ń OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 Controls Playground The Demo Apps The Developer Guide The API
  • 47. Custom Controls • Controls can be defined on-the-fly in JS • Data binding etc. out of the box A simple control: http://jsbin.com/openui5-control/2/edit OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 48. Enterprise Ready • Supportability (e.g. Ctrl-Alt-Shift-S popup) • Internationalization and right-to-left support • Highest quality • Extensibility • Theming • Accessibility OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 49. OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 Theming
  • 50. Accessibility High Contrast Black theme Keyboard Handling Screen Reader support Accessibility refers to the possibility for everyone, including and especially people with disabilities, to access and use technology and information products. More than 1 billion people in the world have some form of disability.
  • 51. 180+ controls OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 Summary Open Source // Free for any use and contribution ONE Responsive Lib // Across browsers and devices Enterprise Ready Powerful Development Concepts // MVC, data binding, templating…
  • 52. Thank you! OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 Web: GitHub: Docs & Demos: Twitter: http://openui5.org https://github.com/SAP/openui5/ https://openui5.hana.ondemand.com @OpenUI5
  • 53. Upcoming events ISTA Conference 26-27 November http://istabg.org/ STAY TUNED FOR 2015: Azure Bootcamp http://azure-camp.eu/ UXify Bulgaria http://uxify.org/ SQLSaturday https://www.sqlsaturday.com/ and more js.next(); OpenUI5 – all you need for enterprise ready apps Nov 23, 2014
  • 54. Thanks to our Sponsors: OpenUI5 – all you need for enterprise ready apps Nov 23, 2014 Diamond Sponsor: Hosting partner: Gold Sponsors: Silver Sponsors: Technological Partners: Bronze Sponsors: Swag Sponsors: Media Partners: