SlideShare a Scribd company logo
1 of 25
Evolution
What is “UI5 Evolution”?
It is “UI5’s innovation project” to solve today’s problems and to advance the
framework, tooling and controls! It is the successor of project “Cheetah” defining
the innovation key pillars.
Brief History of Time
2009
Project Phoenix was
started with the goal to
provide an open, flexible
and platform agnostic UI
layer.
2011
Strong momentum at
SAP, renamed to SAPUI5,
new Multi-Channel
Delivery to ABAP, Java,
Cloud.
2016
Fiori 2.0, Blackbird,
Project Cheetah initiated
to define the innovation
key pillars and roadmap.
2014
OpenUI5, Web IDE, Fiori,
SFIN support for SAPHIRE
(entry to S/4H), strong
growth (Sofia) …
Innovation Key Pillars
Perfor-mance
Modular-
ization
Standards &
Trends
Openness
Compa-tibility
The Problem
“UI5 today is monolithic! Although it has been designed for modularization,
there is a tight coupling between and within Core, Rendering & Controls and
Programming Model!”
The Solution
“Split the different parts of UI5 into distinct yet modular layers: the Core, the
Rendering & Controls and the Programming Model and allow for an individual
and fine-modular consumption!”
Modular
Core
Build and Development
Tools
Rendering&
Controls
Programming
Models
Modular Core
“Establish a future-proof foundation for code organization and dependency
management, enabling applications to run with just the minimum amount of
resources!”
Universal JavaScript
Independence of DOM
and jQuery. Lower layers
of the Core are usable in
DOM-less environments
like Node.js or Workers to
enable e.g. compile-time
pre-processing of
XMLViews. Higher layers
incl. controls could get rid
of jQuery.
Modular Core
“Collection of Bricks”
Restructure the Core
modules by splitting them
into a more fine granular
module set for individual
use. Introduce AMD-like
module syntax to enforce
dependency declaration
and to get rid of Globals.
Applies also to controls
and libraries.
Emerging technologies
Benefit from evolving
features such as ES6
modules or ES6 language
features. Be open to
supportTypeScript in
upper layers or support
transpiled code. For the
framework we are mainly
locked to ES5 due to
browser shipment matrix.
Asynchronous
Loader & APIs
Deprecate sync XHR!
Enable module loader to
be basically AMD
compatible. Establish
asynchronous APIs for
loading Libraries,
Components, Views &
Controllers, i18n files.
Enable asynchronous
XMLView processing.
Become ready for latest
web features.
Modular
Core
Build and Development
Tools
Rendering&
Controls
Programming
Models
“Collection of Bricks”
Asynchronous Loader
& APIs
Universal JavaScript
Emerging
Technologies
Build & Development Tooling
“Create an open-source Node.js based build & development environment to
support both application developers and framework developers!”
Build & Development Tooling
Agnostic Build
Modules
Build modules shall be
independent from a
specific task runner to
recycle them for arbitrary
JavaScript environments
like Node, Grunt, Gulp,
etc. and to replace the
existing in-house,
Maven-based tool chain.
Command Line
Interface
Implement a simplistic
CLI which assists
developers during build
and development
lifecycle based on a
dedicated set of standard
build modules.The CLI
will also include a set of
migration tools to assist
apps to migrate to the
new feature set.
Self-contained
packages
Generate a self-
contained package for
the application ready for
deployment. Leverage
dependency
management and
sophisticated bundling to
only include required and
optimized resources.
Option to generate dep-
cache info for http/2
environments.
Open, extensible tool
chain
Complete app lifecycle
aspects such as initial
creation of a individual,
pre-configured app
project; improve dev
experience for minimal
round-trip (e.g. watch &
reload) and provide
additional compile-time
optimizations.
Available as Open Source!!
Modular
Core
Build and Development
Tools
Rendering&
Controls
Programming
Models
“Collection of Bricks”
Asynchronous Loader
& APIs
Universal JavaScript
Emerging
Technologies
Agnostic Build
Modules
Command Line
Interface
Self-contained
packages
Open and extensible
tool chain
Rendering & Controls
“Define a modern control framework which simplifies the creation of agnostic,
declarative, universal and themable controls which can be used with a
minimalistic footprint!”
Rendering & Controls
Lightweight Controls
Implement new Control
foundation, which is
individually usable and
requires just a
minimalistic Core. Rework
the “bread and butter”
controls. Lightweight
Controls should replace
the similar old Control.
Allow a side-by-side usage
with the old Controls.
Declarative Renderers
Introduce a template-like
declaration of Control
renderers, which
improve the agnostic
usage of a renderer for
different technologies.
Add dependencies from
a renderer to the CSS of
the Control to allow for a
determination of
necessary CSS.
Rendering Technology
Introduce a modern
rendering technology,
which allows for an
optimal re-rendering of
Controls without the
need to implement
custom setters manually
(minimize Control
footprint by reduction of
code). Integrate async
rendering.
Simplified Composition
Reduce the overhead of
Control composition by
merging the indivi-dual
Control renderers and
behaviors at build time
without writing manual
glue code. Should ensure
to get rid of variations of
Controls, as of today
having 500+ Controls just
for slight diffs.
Rendering Core (minimalistic subset of UI5 Core)
Lightweight Control
Renderer
Rendering Technology
String streaming lit-html
Behavior
Declarative Renderer
Render Context
CSS
Rendering & Controls
UI5 classic
Modular
Core
Build and Development
Tools
Rendering&
Controls
Programming
Models
“Collection of Bricks”
Asynchronous Loader
& APIs
Universal JavaScript
Emerging
Technologies
Agnostic Build
Modules
Command Line
Interface
Self-contained
packages
Open and extensible
tool chain
Lightweight Controls Declarative Renderers Rendering Technology
Control Set &
Composition
Programming Models
“Continue support for existing UI5 programming model, but move closer to de-
facto standards and support trends to enable reuse of individual UI5 layers for
other programming models!”
Programming Models
UI5 classic
Continuous support, but
will also be affected by
new APIs. A compatibility
layer will ensure that
legacy applications
(being timeless) continue
to work with UI5
Evolution and can
partially benefit from
improvements made in
the Core and the
Rendering layer.
Web Components
New default API for the
UI5 Controls: easy to
integrate, requiring a
minimal footprint. Share
fundamental UI5 qualities
with others (Fiori UX,
enterprise grade, …)
Usage of latest browser
standards like ES6
classes, Custom
Elements, Shadow DOM
and other features.
Others
Support for other
frameworks like Angular,
React andVue by
providing the UI5
Controls as Web
Components or
Lightweight Controls. For
such frameworks, there is
no need for the features
of the programming
model of UI5 and thus
usage of the UI5 Controls
is sufficient.
…
Rendering Core (minimalistic subset of UI5 Core)
Lightweight Control
Renderer
Rendering Technology
String streaming lit-html
Behavior
Declarative Renderer
Render Context
CSS
Programming Models
UI5 classic UI5 Web Components
Modular
Core
Build and Development
Tools
Rendering&
Controls
Programming
Models
“Collection of Bricks”
Asynchronous Loader
& APIs
Universal JavaScript
Emerging
Technologies
Agnostic Build
Modules
Command Line
Interface
Self-contained
packages
Open and extensible
tool chain
Lightweight Controls Declarative Renderers Rendering Technology
Control Set &
Composition
UI5 classic Web Components … Others
But – there is one more thing!
“Humans are learning from Nature and implementing it’s solutions. The evolution is a
great concept of Nature and comes with an essential feature we yet miss! Curious??”
Declare your
dependencies!Master async and be
progressive!
Orchestrate your code
execution!Stop using deprecated
APIs!
We need you!
Thank You!
Contact Information:
Peter Muessig
Lead Architect UI5
peter.muessig@sap.com
@pmuessig
Andreas Ecker
Product Owner UI5 Core and Runtime
andreas.ecker@sap.com

More Related Content

What's hot

Ui5con virtual tour_around_a_company_site_with_ui5
Ui5con virtual tour_around_a_company_site_with_ui5Ui5con virtual tour_around_a_company_site_with_ui5
Ui5con virtual tour_around_a_company_site_with_ui5Helmut Tammen
 
UI5con 2019 - Keynote for Bangalore
UI5con 2019 - Keynote for BangaloreUI5con 2019 - Keynote for Bangalore
UI5con 2019 - Keynote for BangalorePeter Muessig
 
44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511faNagendra Babu
 
UI5con 2019 - Keynote for Rot
UI5con 2019 - Keynote for RotUI5con 2019 - Keynote for Rot
UI5con 2019 - Keynote for RotPeter Muessig
 
Developing Custom Controls with UI5 (OpenUI5 video lecture)
Developing Custom Controls with UI5 (OpenUI5 video lecture)Developing Custom Controls with UI5 (OpenUI5 video lecture)
Developing Custom Controls with UI5 (OpenUI5 video lecture)Michael Graf
 
Hacking the Explored App by Adding Custom Code (UI5con 2016)
Hacking the Explored App by Adding Custom Code (UI5con 2016)Hacking the Explored App by Adding Custom Code (UI5con 2016)
Hacking the Explored App by Adding Custom Code (UI5con 2016)Nabi Zamani
 
How to Create "Hello, World!" in Fiori
How to Create "Hello, World!" in FioriHow to Create "Hello, World!" in Fiori
How to Create "Hello, World!" in FioriBlackvard
 
Session on API auto scaling, monitoring and Log management
Session on API auto scaling, monitoring and Log managementSession on API auto scaling, monitoring and Log management
Session on API auto scaling, monitoring and Log managementpqrs1234
 
Mule version-crowd highlights
Mule version-crowd highlightsMule version-crowd highlights
Mule version-crowd highlightsD.Rajesh Kumar
 
Make Your Contribution Count. Adding Value to the API as a Technical Communic...
Make Your Contribution Count. Adding Value to the API as a Technical Communic...Make Your Contribution Count. Adding Value to the API as a Technical Communic...
Make Your Contribution Count. Adding Value to the API as a Technical Communic...Petko Mikhailov
 
Open API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative (OAI)
 
Building Your API for Longevity
Building Your API for LongevityBuilding Your API for Longevity
Building Your API for LongevityMuleSoft
 
SAPUI5 & OpenUI5 for SAP InnoJam
SAPUI5 & OpenUI5 for SAP InnoJamSAPUI5 & OpenUI5 for SAP InnoJam
SAPUI5 & OpenUI5 for SAP InnoJamDenise Nepraunig
 
Presentation at the 2016 Linux Foundation Collab Summit
Presentation at the 2016 Linux Foundation Collab SummitPresentation at the 2016 Linux Foundation Collab Summit
Presentation at the 2016 Linux Foundation Collab SummitOpen API Initiative (OAI)
 
Microservices
MicroservicesMicroservices
MicroservicesPT.JUG
 
Microsoft silverlight : top 10 features
Microsoft silverlight : top 10 features Microsoft silverlight : top 10 features
Microsoft silverlight : top 10 features Diya Singh
 

What's hot (19)

Ui5con virtual tour_around_a_company_site_with_ui5
Ui5con virtual tour_around_a_company_site_with_ui5Ui5con virtual tour_around_a_company_site_with_ui5
Ui5con virtual tour_around_a_company_site_with_ui5
 
UI5con 2019 - Keynote for Bangalore
UI5con 2019 - Keynote for BangaloreUI5con 2019 - Keynote for Bangalore
UI5con 2019 - Keynote for Bangalore
 
44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa
 
UI5con 2019 - Keynote for Rot
UI5con 2019 - Keynote for RotUI5con 2019 - Keynote for Rot
UI5con 2019 - Keynote for Rot
 
Developing Custom Controls with UI5 (OpenUI5 video lecture)
Developing Custom Controls with UI5 (OpenUI5 video lecture)Developing Custom Controls with UI5 (OpenUI5 video lecture)
Developing Custom Controls with UI5 (OpenUI5 video lecture)
 
Sapui5 & Fiori
Sapui5 & FioriSapui5 & Fiori
Sapui5 & Fiori
 
Sdlc with mule esb
Sdlc with mule esbSdlc with mule esb
Sdlc with mule esb
 
Hacking the Explored App by Adding Custom Code (UI5con 2016)
Hacking the Explored App by Adding Custom Code (UI5con 2016)Hacking the Explored App by Adding Custom Code (UI5con 2016)
Hacking the Explored App by Adding Custom Code (UI5con 2016)
 
How to Create "Hello, World!" in Fiori
How to Create "Hello, World!" in FioriHow to Create "Hello, World!" in Fiori
How to Create "Hello, World!" in Fiori
 
Session on API auto scaling, monitoring and Log management
Session on API auto scaling, monitoring and Log managementSession on API auto scaling, monitoring and Log management
Session on API auto scaling, monitoring and Log management
 
Mule version-crowd highlights
Mule version-crowd highlightsMule version-crowd highlights
Mule version-crowd highlights
 
Make Your Contribution Count. Adding Value to the API as a Technical Communic...
Make Your Contribution Count. Adding Value to the API as a Technical Communic...Make Your Contribution Count. Adding Value to the API as a Technical Communic...
Make Your Contribution Count. Adding Value to the API as a Technical Communic...
 
MuleSoft São Paulo Meetup #3 - 18 Jun
MuleSoft São Paulo Meetup #3 - 18 JunMuleSoft São Paulo Meetup #3 - 18 Jun
MuleSoft São Paulo Meetup #3 - 18 Jun
 
Open API Initiative: Six months and counting
Open API Initiative: Six months and countingOpen API Initiative: Six months and counting
Open API Initiative: Six months and counting
 
Building Your API for Longevity
Building Your API for LongevityBuilding Your API for Longevity
Building Your API for Longevity
 
SAPUI5 & OpenUI5 for SAP InnoJam
SAPUI5 & OpenUI5 for SAP InnoJamSAPUI5 & OpenUI5 for SAP InnoJam
SAPUI5 & OpenUI5 for SAP InnoJam
 
Presentation at the 2016 Linux Foundation Collab Summit
Presentation at the 2016 Linux Foundation Collab SummitPresentation at the 2016 Linux Foundation Collab Summit
Presentation at the 2016 Linux Foundation Collab Summit
 
Microservices
MicroservicesMicroservices
Microservices
 
Microsoft silverlight : top 10 features
Microsoft silverlight : top 10 features Microsoft silverlight : top 10 features
Microsoft silverlight : top 10 features
 

Similar to Evolution of UI5 into a modular, future-proof framework

UI5con 2018 - Keynote
UI5con 2018 - KeynoteUI5con 2018 - Keynote
UI5con 2018 - KeynotePeter Muessig
 
UI5con 2018: UI5 Evolution - The Core Changes
UI5con 2018: UI5 Evolution - The Core ChangesUI5con 2018: UI5 Evolution - The Core Changes
UI5con 2018: UI5 Evolution - The Core ChangesAndreas_Ecker
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareRitwik Das
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)湯米吳 Tommy Wu
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Nedelcho Delchev
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkNeha Singh
 
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021Samaritan InfoTech
 
Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020prafulIQBusiness
 
O futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberO futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberDanilo Bordini
 
Exploring Common Software Development Frameworks_ Key Features and Applicatio...
Exploring Common Software Development Frameworks_ Key Features and Applicatio...Exploring Common Software Development Frameworks_ Key Features and Applicatio...
Exploring Common Software Development Frameworks_ Key Features and Applicatio...BrillMindzTechnology3
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Mee Nam Lee
 
manu_resume
manu_resumemanu_resume
manu_resumeManu VS
 
Eclipse Developement @ Progress Software
Eclipse Developement @ Progress SoftwareEclipse Developement @ Progress Software
Eclipse Developement @ Progress Softwaresriikanthp
 
sailfish OS ppt
sailfish OS pptsailfish OS ppt
sailfish OS pptmirgee
 
Eclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoEclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoMohd Safian
 
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Mickael Istria
 
JavaFX: A Rich Internet Application (RIA) Development Platform
JavaFX: A Rich Internet Application (RIA) Development PlatformJavaFX: A Rich Internet Application (RIA) Development Platform
JavaFX: A Rich Internet Application (RIA) Development PlatformPraveen Srivastava
 

Similar to Evolution of UI5 into a modular, future-proof framework (20)

UI5con 2018 - Keynote
UI5con 2018 - KeynoteUI5con 2018 - Keynote
UI5con 2018 - Keynote
 
UI5con 2018: UI5 Evolution - The Core Changes
UI5con 2018: UI5 Evolution - The Core ChangesUI5con 2018: UI5 Evolution - The Core Changes
UI5con 2018: UI5 Evolution - The Core Changes
 
Think evo and use evo
Think evo and use evoThink evo and use evo
Think evo and use evo
 
Asp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech SoftwareAsp.NETZERO - A Workshop Presentation by Citytech Software
Asp.NETZERO - A Workshop Presentation by Citytech Software
 
Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)Cloud development technology sharing (BlueMix premier)
Cloud development technology sharing (BlueMix premier)
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
 
What is java fx?
What is java fx?What is java fx?
What is java fx?
 
Ora_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development FrameworkOra_Case_Study_Oracle Application Development Framework
Ora_Case_Study_Oracle Application Development Framework
 
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021
 
Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020Top 10 Best DevOps tools in 2020
Top 10 Best DevOps tools in 2020
 
O futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saberO futuro do .NET : O que eu preciso saber
O futuro do .NET : O que eu preciso saber
 
Exploring Common Software Development Frameworks_ Key Features and Applicatio...
Exploring Common Software Development Frameworks_ Key Features and Applicatio...Exploring Common Software Development Frameworks_ Key Features and Applicatio...
Exploring Common Software Development Frameworks_ Key Features and Applicatio...
 
Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)Oracle Developer Cloud - 소개 (신기능 포함)
Oracle Developer Cloud - 소개 (신기능 포함)
 
manu_resume
manu_resumemanu_resume
manu_resume
 
Eclipse Developement @ Progress Software
Eclipse Developement @ Progress SoftwareEclipse Developement @ Progress Software
Eclipse Developement @ Progress Software
 
sailfish OS ppt
sailfish OS pptsailfish OS ppt
sailfish OS ppt
 
Eclipse vs Netbean vs Railo
Eclipse vs Netbean vs RailoEclipse vs Netbean vs Railo
Eclipse vs Netbean vs Railo
 
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
 
JavaFX: A Rich Internet Application (RIA) Development Platform
JavaFX: A Rich Internet Application (RIA) Development PlatformJavaFX: A Rich Internet Application (RIA) Development Platform
JavaFX: A Rich Internet Application (RIA) Development Platform
 

Recently uploaded

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
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
 
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
 
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
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
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
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
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
 
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.
 
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
 
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
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
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
 
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
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
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 ...
 
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-...
 
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 🔝✔️✔️
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
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
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
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
 
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...
 
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
 
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 ☂️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.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
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
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...
 
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
 

Evolution of UI5 into a modular, future-proof framework

  • 2. What is “UI5 Evolution”? It is “UI5’s innovation project” to solve today’s problems and to advance the framework, tooling and controls! It is the successor of project “Cheetah” defining the innovation key pillars.
  • 3. Brief History of Time 2009 Project Phoenix was started with the goal to provide an open, flexible and platform agnostic UI layer. 2011 Strong momentum at SAP, renamed to SAPUI5, new Multi-Channel Delivery to ABAP, Java, Cloud. 2016 Fiori 2.0, Blackbird, Project Cheetah initiated to define the innovation key pillars and roadmap. 2014 OpenUI5, Web IDE, Fiori, SFIN support for SAPHIRE (entry to S/4H), strong growth (Sofia) …
  • 5. The Problem “UI5 today is monolithic! Although it has been designed for modularization, there is a tight coupling between and within Core, Rendering & Controls and Programming Model!”
  • 6. The Solution “Split the different parts of UI5 into distinct yet modular layers: the Core, the Rendering & Controls and the Programming Model and allow for an individual and fine-modular consumption!”
  • 8. Modular Core “Establish a future-proof foundation for code organization and dependency management, enabling applications to run with just the minimum amount of resources!”
  • 9. Universal JavaScript Independence of DOM and jQuery. Lower layers of the Core are usable in DOM-less environments like Node.js or Workers to enable e.g. compile-time pre-processing of XMLViews. Higher layers incl. controls could get rid of jQuery. Modular Core “Collection of Bricks” Restructure the Core modules by splitting them into a more fine granular module set for individual use. Introduce AMD-like module syntax to enforce dependency declaration and to get rid of Globals. Applies also to controls and libraries. Emerging technologies Benefit from evolving features such as ES6 modules or ES6 language features. Be open to supportTypeScript in upper layers or support transpiled code. For the framework we are mainly locked to ES5 due to browser shipment matrix. Asynchronous Loader & APIs Deprecate sync XHR! Enable module loader to be basically AMD compatible. Establish asynchronous APIs for loading Libraries, Components, Views & Controllers, i18n files. Enable asynchronous XMLView processing. Become ready for latest web features.
  • 10. Modular Core Build and Development Tools Rendering& Controls Programming Models “Collection of Bricks” Asynchronous Loader & APIs Universal JavaScript Emerging Technologies
  • 11. Build & Development Tooling “Create an open-source Node.js based build & development environment to support both application developers and framework developers!”
  • 12. Build & Development Tooling Agnostic Build Modules Build modules shall be independent from a specific task runner to recycle them for arbitrary JavaScript environments like Node, Grunt, Gulp, etc. and to replace the existing in-house, Maven-based tool chain. Command Line Interface Implement a simplistic CLI which assists developers during build and development lifecycle based on a dedicated set of standard build modules.The CLI will also include a set of migration tools to assist apps to migrate to the new feature set. Self-contained packages Generate a self- contained package for the application ready for deployment. Leverage dependency management and sophisticated bundling to only include required and optimized resources. Option to generate dep- cache info for http/2 environments. Open, extensible tool chain Complete app lifecycle aspects such as initial creation of a individual, pre-configured app project; improve dev experience for minimal round-trip (e.g. watch & reload) and provide additional compile-time optimizations.
  • 13. Available as Open Source!!
  • 14. Modular Core Build and Development Tools Rendering& Controls Programming Models “Collection of Bricks” Asynchronous Loader & APIs Universal JavaScript Emerging Technologies Agnostic Build Modules Command Line Interface Self-contained packages Open and extensible tool chain
  • 15. Rendering & Controls “Define a modern control framework which simplifies the creation of agnostic, declarative, universal and themable controls which can be used with a minimalistic footprint!”
  • 16. Rendering & Controls Lightweight Controls Implement new Control foundation, which is individually usable and requires just a minimalistic Core. Rework the “bread and butter” controls. Lightweight Controls should replace the similar old Control. Allow a side-by-side usage with the old Controls. Declarative Renderers Introduce a template-like declaration of Control renderers, which improve the agnostic usage of a renderer for different technologies. Add dependencies from a renderer to the CSS of the Control to allow for a determination of necessary CSS. Rendering Technology Introduce a modern rendering technology, which allows for an optimal re-rendering of Controls without the need to implement custom setters manually (minimize Control footprint by reduction of code). Integrate async rendering. Simplified Composition Reduce the overhead of Control composition by merging the indivi-dual Control renderers and behaviors at build time without writing manual glue code. Should ensure to get rid of variations of Controls, as of today having 500+ Controls just for slight diffs.
  • 17. Rendering Core (minimalistic subset of UI5 Core) Lightweight Control Renderer Rendering Technology String streaming lit-html Behavior Declarative Renderer Render Context CSS Rendering & Controls UI5 classic
  • 18. Modular Core Build and Development Tools Rendering& Controls Programming Models “Collection of Bricks” Asynchronous Loader & APIs Universal JavaScript Emerging Technologies Agnostic Build Modules Command Line Interface Self-contained packages Open and extensible tool chain Lightweight Controls Declarative Renderers Rendering Technology Control Set & Composition
  • 19. Programming Models “Continue support for existing UI5 programming model, but move closer to de- facto standards and support trends to enable reuse of individual UI5 layers for other programming models!”
  • 20. Programming Models UI5 classic Continuous support, but will also be affected by new APIs. A compatibility layer will ensure that legacy applications (being timeless) continue to work with UI5 Evolution and can partially benefit from improvements made in the Core and the Rendering layer. Web Components New default API for the UI5 Controls: easy to integrate, requiring a minimal footprint. Share fundamental UI5 qualities with others (Fiori UX, enterprise grade, …) Usage of latest browser standards like ES6 classes, Custom Elements, Shadow DOM and other features. Others Support for other frameworks like Angular, React andVue by providing the UI5 Controls as Web Components or Lightweight Controls. For such frameworks, there is no need for the features of the programming model of UI5 and thus usage of the UI5 Controls is sufficient. …
  • 21. Rendering Core (minimalistic subset of UI5 Core) Lightweight Control Renderer Rendering Technology String streaming lit-html Behavior Declarative Renderer Render Context CSS Programming Models UI5 classic UI5 Web Components
  • 22. Modular Core Build and Development Tools Rendering& Controls Programming Models “Collection of Bricks” Asynchronous Loader & APIs Universal JavaScript Emerging Technologies Agnostic Build Modules Command Line Interface Self-contained packages Open and extensible tool chain Lightweight Controls Declarative Renderers Rendering Technology Control Set & Composition UI5 classic Web Components … Others
  • 23. But – there is one more thing! “Humans are learning from Nature and implementing it’s solutions. The evolution is a great concept of Nature and comes with an essential feature we yet miss! Curious??”
  • 24. Declare your dependencies!Master async and be progressive! Orchestrate your code execution!Stop using deprecated APIs! We need you!
  • 25. Thank You! Contact Information: Peter Muessig Lead Architect UI5 peter.muessig@sap.com @pmuessig Andreas Ecker Product Owner UI5 Core and Runtime andreas.ecker@sap.com