SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
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:

Más contenido relacionado

Similar a OpenUI5@JSNext Bulgaria 2014

OSCON 2014: OpenUI5 - The New Responsive Web UI Library
OSCON 2014: OpenUI5 - The New Responsive Web UI LibraryOSCON 2014: OpenUI5 - The New Responsive Web UI Library
OSCON 2014: OpenUI5 - The New Responsive Web UI LibraryAndreas Kunz
 
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialJMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialRyan Baxter
 
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocialIBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocialIBM Connections Developers
 
Get Started with Zend Framework 2
Get Started with Zend Framework 2Get Started with Zend Framework 2
Get Started with Zend Framework 2Mindfire Solutions
 
Prototyping applications with heroku and elasticsearch
 Prototyping applications with heroku and elasticsearch Prototyping applications with heroku and elasticsearch
Prototyping applications with heroku and elasticsearchprotofy
 
20141002 delapsley-socalangularjs-final
20141002 delapsley-socalangularjs-final20141002 delapsley-socalangularjs-final
20141002 delapsley-socalangularjs-finalDavid Lapsley
 
Google App Engine Developer - Day2
Google App Engine Developer - Day2Google App Engine Developer - Day2
Google App Engine Developer - Day2Simon Su
 
CodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkCodeIgniter PHP MVC Framework
CodeIgniter PHP MVC FrameworkBo-Yi Wu
 
PHP Unit Testing in Yii
PHP Unit Testing in YiiPHP Unit Testing in Yii
PHP Unit Testing in YiiIlPeach
 
Modular Test-driven SPAs with Spring and AngularJS
Modular Test-driven SPAs with Spring and AngularJSModular Test-driven SPAs with Spring and AngularJS
Modular Test-driven SPAs with Spring and AngularJSGunnar Hillert
 
PHPNW Drupal as a Framework
PHPNW Drupal as a FrameworkPHPNW Drupal as a Framework
PHPNW Drupal as a Frameworkdigital006
 
Data models pivot with splunk break out session
Data models pivot with splunk break out sessionData models pivot with splunk break out session
Data models pivot with splunk break out sessionGeorg Knon
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrumSyam Sasi
 
The Open & Social Web - Kings of Code 2009
The Open & Social Web - Kings of Code 2009The Open & Social Web - Kings of Code 2009
The Open & Social Web - Kings of Code 2009Chris Chabot
 
Open Social In The Enterprise
Open Social In The EnterpriseOpen Social In The Enterprise
Open Social In The EnterpriseTim Moore
 
Load Testing: See a Bigger Picture
Load Testing: See a Bigger PictureLoad Testing: See a Bigger Picture
Load Testing: See a Bigger PictureAlexander Podelko
 
SplunkLive! Introduction to the Splunk Developer Platform
SplunkLive! Introduction to the Splunk Developer PlatformSplunkLive! Introduction to the Splunk Developer Platform
SplunkLive! Introduction to the Splunk Developer PlatformSplunk
 
Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s ...
Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s ...Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s ...
Hey, I just met AngularJS, and this is crazy, so here’s my JavaScript, let’s ...Alessandro Nadalin
 

Similar a OpenUI5@JSNext Bulgaria 2014 (20)

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

Último

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 

Último (20)

Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 

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: