SlideShare une entreprise Scribd logo
1  sur  27
PETER MUESSIG, MARGOT WOLLNY
APR 01, 2020
UI5 TOOLING &
ECOSYSTEM
The modern CLI-based development experience to
develop, run and test UI5 applications and libraries
2PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
3PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
UI5
4PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
“Development Efficiency is Key!”
5PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
UI5 Tooling
The UI5 Tooling is developed as an open source project based on
Node.js. It offers a modular, configurable, and extensible
command line interface tailored for efficient development of
applications, libraries, and reuse components with the UI5
framework.
>_
Not the official logo, yet! ;-)
6PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Increase the developer experience and thus the developer efficiency.
Motivation
Support for any IDE of choice
Flexible and extensible
Enable modern language features
Reuse of open source tooling
Easy to integrate
7PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Architectural Overview
M Server Middleware
T Builder Task
Command Line
Web Browser
node.js script
…
SAP Business Application Studio
SAP Web IDE
LocalUI5 Tooling
Project
File
System
Server
Logger
Builder
CLI
MMM
TTT
M
T
9PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Types define how a project can be configured and how it is built. The UI5 Tooling distinguishes
between the following types:
Project Types
Application
Defines the main or root project.
In a project’s dependency tree, there
should only be one project of type
application.
Theme-library
Defines a project with theming
resources for the controls of one or
multiple libraries.
Library
Defines a project with the aim to share
code across multiple projects in UI5
(e.g. for controls, reuse components).
Module
Defines a non-UI5 project like a
third party library. During build, it is
copied without modification.
10PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Prerequisites & Installation
# Global installation of the UI5 CLI
npm install --global @ui5/cli
# Verify installation
ui5 --help
10 or higher
Or other Node.js package manager that
relies on package.json files
11PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
UI5 CLI usage
Commands
See: UI5 CLI.
12PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
The UI5 Tooling configuration of a project is located in a YAML
file named ui5.yaml.
 Must contain a project name, a project type, and a
specification version.
 Allows the definition of a path mapping (in case project
structure differs from expected structure), the file encoding
of properties files, a copyright string, and more…
 Defines build, server, and extension configuration
information.
 The build configuration can be extended with definition for
custom bundling.
Configuration
ui5.yaml
# Generate the ui5.yaml file
ui5 init
See: UI5 Tooling: Configuration
specVersion: '1.0'
metadata:
name: myapp
type: application
~
~
~
ui5.yaml
13PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Demo Time
# Download the OpenUI5 Sample App
git clone https://github.com/SAP/openui5-
sample-app.git
# Start the development server
ui5 serve
# Build the OpenUI5 Sample App
ui5 build
14PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Extensibility
The capabilities of the UI5 Tooling can be extended in three ways:
Extensions can be part of the configuration of a project or defined as modules to be shared across multiple
projects.
Custom Task
Enables the extension of the
build process by a custom build
task.
Custom Server Middleware
Enables the plugging of custom
middleware implementations
into the internal express server
of the UI5 server module.
Project Shim
Enables the definition or
extension of a project
configuration of a module.
(expert feature)
15PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
UI5 Tooling Ecosystem – an idea born at UI5con 2019
Peter, a proxy is
missing!Volker, the
UI5Tooling is
extensible, just
add it!
Ok, let‘s
proof this
together!
Hopefully…
”We can shape the UI5 development experience together!”
Volker Buzek; @vobu
16PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
UI5 Ecosystem
Showcase
17PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
UI5 Tooling – a modern CLI-based development experience!
Just a few steps ahead:
• Create a UI5 project in SAP Web IDE
• Download and enable the project to run locally
• Include custom tasks and middlewares
• Feel the difference of the development experience
>_
Not the official logo, yet! ;-)
# Start the development server
ui5 serve
Server started
URL: http://localhost:8080
18PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Demo Time
19PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
UI5 Tooling Family &
Friends
Karma
>_
Yeoman
Migration TypeScript
…
…
…
20PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
OpenUI5 SAPUI5
>_
2.0
21PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
The UI5 Tooling 2.0 brings several enhancements:
 Advanced frontend package manager to avoid version
inconsistencies with a shared local dependency cache (not
per project, like npm)
 UI5 framework dependencies are managed in the
ui5.yaml and can be OpenUI5 or SAPUI5:
– Specify one version for all UI5 libraries of the framework
– Declare the required UI5 libraries
 New CLI commands:
– ui5 use: select a framework and the framework version
– ui5 add: add one or more library dependencies
 Introduces validation of the ui5.yaml file to improve the
error detection
 Properties files encoding now defaults to UTF-8
UI5 Tooling 2.0
Release: April, 01 2020
specVersion: '2.0'
metadata:
name: myapp
type: application
# UI5 dependencies
framework:
name: SAPUI5
version: 1.76.0
libraries:
- name: sap.ui.core
- name: sap.m
- name: themelib_sap_fiori_3
- name: sap.suite.ui.microchart
~
See: UI5 Tooling 2.0
# Use the 1.76.0 SAPUI5 framework version
ui5 use SAPUI5@1.76.0
# Add the dependency to microchart library
ui5 add sap.suite.ui.microchart
ui5.yaml
* New UI5 Tooling 2.0 features require specVersion: '2.0’ in ui5.yaml!
22PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
What else
 Project creation via a primitive SAPUI5 Yeoman generator
 Provides 3 templates: Worklist, Master Detail, Worklist OData V4
# Install the SAPUI5 Yeoman generator
npm install --global @sapui5/generator-sapui5-templates
# Run the generator (select the template from list in question step)
yo @sapui5/sapui5-templates
 Continuously deliver the TypeScript definitions for OpenUI5/SAPUI5
 Enables basic code-completion for UI5 development
# Install the DTS files for OpenUI5 (available for 1.60)
npm install @openui5/ts-types
# Install the DTS files for SAPUI5 (will be available for 1.71, >1.75)
npm install @sapui5/ts-types EXPERIMENTAL
23PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
What’s next
 Enable a modern development experience for UI5 by using a Babel toolchain (focusing on app development)
 Open-source solutions already exist, it is all about using them properly (*)
 Using TypeScript to benefit from code-completion and extended checks in any editor
 Utilize Babel to transpile ES6+ features back to UI5 APIs (such as import/export to sap.ui.define/require)
DISCLAIMER: no warranties / no timelines yet!(*) Independent from UI5 Tooling (integrated via extensibility)
24PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
Further resources
 UI5 Tooling Project on GitHub
 UI5 Tooling Documentation
 UI5 Tooling Feedback/Issues
 Introducing the UI5 Tooling for SAPUI5 projects Blog
 The UI5 Tooling and SAPUI5 – The Next Step Blog
 Utilize UI5 tooling's extension capabilities for an improved development experience Blog
 End to end setup of local development environment with ui5 tooling Blog
 UI5 Ecosystem Showcase on GitHub
25PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
More links:
 Karma UI5 Project on GitHub
 Migration Tools Project on GitHub
 Migration Tools Blog
 Yeoman SAPUI5 Templates Project on NPM.js
 TypeScript UI5 Project on GitHub
THANK
YOU
Peter Muessig
Chief Architect, SAPUI5
peter.muessig@sap.com
Twitter: @pmuessig
SAP Community: @peter.muessig
Margot Wollny
Product Expert, SAPUI5
margot.wollny@sap.com
SAP Community: @margot.wollny
© 2020 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of
SAP SE or an SAP affiliate company.
The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its
distributors contain proprietary software components of other software vendors. National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or
warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials.
The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty
statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional
warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or
any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation,
and SAP SE’s or its affiliated companies’ strategy and possible future developments, products, and/or platforms, directions, and
functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason
without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or
functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ
materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, and they
should not be relied upon in making purchasing decisions.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered
trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names
mentioned are the trademarks of their respective companies.
See www.sap.com/copyright for additional trademark information and notices.
www.sap.com/contactsap
Follow us
www.sap.com/germany/contactsap
© 2020 SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten.
Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer,
ohne die ausdrückliche schriftliche Genehmigung durch SAP SE oder ein SAP-Konzernunternehmen nicht gestattet.
In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Die von SAP SE oder deren
Vertriebsfirmen angebotenen Softwareprodukte können Softwarekomponenten auch anderer Softwarehersteller enthalten. Produkte
können länderspezifische Unterschiede aufweisen.
Die vorliegenden Unterlagen werden von der SAP SE oder einem SAP-Konzernunternehmen bereitgestellt und dienen ausschließlich
zu Informationszwecken. Die SAP SE oder ihre Konzernunternehmen übernehmen keinerlei Haftung oder Gewährleistung für Fehler
oder Unvollständigkeiten in dieser Publikation. Die SAP SE oder ein SAP-Konzernunternehmen steht lediglich für Produkte und
Dienstleistungen nach der Maßgabe ein, die in der Vereinbarung über die jeweiligen Produkte und Dienstleistungen ausdrücklich
geregelt ist. Keine der hierin enthaltenen Informationen ist als zusätzliche Garantie zu interpretieren.
Insbesondere sind die SAP SE oder ihre Konzernunternehmen in keiner Weise verpflichtet, in dieser Publikation oder einer
zugehörigen Präsentation dargestellte Geschäftsabläufe zu verfolgen oder hierin wiedergegebene Funktionen zu entwickeln oder zu
veröffentlichen. Diese Publikation oder eine zugehörige Präsentation, die Strategie und etwaige künftige Entwicklungen, Produkte
und/oder Plattformen der SAP SE oder ihrer Konzernunternehmen können von der SAP SE oder ihren Konzernunternehmen jederzeit
und ohne Angabe von Gründen unangekündigt geändert werden. Die in dieser Publikation enthaltenen Informationen stellen keine
Zusage, kein Versprechen und keine rechtliche Verpflichtung zur Lieferung von Material, Code oder Funktionen dar. Sämtliche
vorausschauenden Aussagen unterliegen unterschiedlichen Risiken und Unsicherheiten, durch die die tatsächlichen Ergebnisse von
den Erwartungen abweichen können. Dem Leser wird empfohlen, diesen vorausschauenden Aussagen kein übertriebenes Vertrauen
zu schenken und sich bei Kaufentscheidungen nicht auf sie zu stützen.
SAP und andere in diesem Dokument erwähnte Produkte und Dienstleistungen von SAP sowie die dazugehörigen Logos sind Marken
oder eingetragene Marken der SAP SE (oder von einem SAP-Konzernunternehmen) in Deutschland und verschiedenen anderen
Ländern weltweit. Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen.
Zusätzliche Informationen zur Marke und Vermerke finden Sie auf der Seite www.sap.com/corporate/de/legal/copyright.html.
SAP folgen auf

Contenu connexe

Tendances

Creating attachments to work items or to user decisions in workflows
Creating attachments to work items or to user decisions in workflowsCreating attachments to work items or to user decisions in workflows
Creating attachments to work items or to user decisions in workflows
Hicham Khallouki
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps Development
Prof. Erwin Globio
 
Chapter 01 user exits
Chapter 01 user exitsChapter 01 user exits
Chapter 01 user exits
Kranthi Kumar
 
Introducing enhancement framework.doc
Introducing enhancement framework.docIntroducing enhancement framework.doc
Introducing enhancement framework.doc
Kranthi Kumar
 

Tendances (20)

ALV with Integrated Data Access
ALV with Integrated Data AccessALV with Integrated Data Access
ALV with Integrated Data Access
 
Visual studio
Visual studioVisual studio
Visual studio
 
Google Firebase
Google FirebaseGoogle Firebase
Google Firebase
 
SAP ABAP - Needed Notes
SAP   ABAP - Needed NotesSAP   ABAP - Needed Notes
SAP ABAP - Needed Notes
 
Gentle Introduction into Geospatial (using SQL in SAP HANA)
Gentle Introduction into Geospatial (using SQL in SAP HANA)Gentle Introduction into Geospatial (using SQL in SAP HANA)
Gentle Introduction into Geospatial (using SQL in SAP HANA)
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
 
Android Platform Architecture
Android Platform ArchitectureAndroid Platform Architecture
Android Platform Architecture
 
Creating attachments to work items or to user decisions in workflows
Creating attachments to work items or to user decisions in workflowsCreating attachments to work items or to user decisions in workflows
Creating attachments to work items or to user decisions in workflows
 
How to become a visualization guru in Web Intelligence
How to become a visualization guru in Web IntelligenceHow to become a visualization guru in Web Intelligence
How to become a visualization guru in Web Intelligence
 
Accessing Hardware on Android
Accessing Hardware on AndroidAccessing Hardware on Android
Accessing Hardware on Android
 
.NET for hackers
.NET for hackers.NET for hackers
.NET for hackers
 
Introduction to iOS Apps Development
Introduction to iOS Apps DevelopmentIntroduction to iOS Apps Development
Introduction to iOS Apps Development
 
Technical Overview of CDS View – SAP HANA Part I
Technical Overview of CDS View – SAP HANA Part ITechnical Overview of CDS View – SAP HANA Part I
Technical Overview of CDS View – SAP HANA Part I
 
HANA WITH ABAP OVERVIEW
HANA WITH ABAP OVERVIEWHANA WITH ABAP OVERVIEW
HANA WITH ABAP OVERVIEW
 
Introduction to Firebase
Introduction to FirebaseIntroduction to Firebase
Introduction to Firebase
 
Sap Adobe Form
Sap Adobe FormSap Adobe Form
Sap Adobe Form
 
Chapter 01 user exits
Chapter 01 user exitsChapter 01 user exits
Chapter 01 user exits
 
UI5con 2017 - Create your own UI5 controls – what’s coming up
UI5con 2017 - Create your own UI5 controls – what’s coming upUI5con 2017 - Create your own UI5 controls – what’s coming up
UI5con 2017 - Create your own UI5 controls – what’s coming up
 
Analysis for office training
Analysis for office   trainingAnalysis for office   training
Analysis for office training
 
Introducing enhancement framework.doc
Introducing enhancement framework.docIntroducing enhancement framework.doc
Introducing enhancement framework.doc
 

Similaire à UI5 Tooling & Ecosystem

Similaire à UI5 Tooling & Ecosystem (20)

Cd168 (3)
Cd168 (3)Cd168 (3)
Cd168 (3)
 
UI5con 2019 - Keynote for Bangalore
UI5con 2019 - Keynote for BangaloreUI5con 2019 - Keynote for Bangalore
UI5con 2019 - Keynote for Bangalore
 
Sap Ui5 Overview | Sap Ui5 Architecture – Features
Sap Ui5 Overview | Sap Ui5 Architecture – FeaturesSap Ui5 Overview | Sap Ui5 Architecture – Features
Sap Ui5 Overview | Sap Ui5 Architecture – Features
 
UI5con 2018 - Keynote
UI5con 2018 - KeynoteUI5con 2018 - Keynote
UI5con 2018 - Keynote
 
SAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous IntegrationSAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous Integration
 
News about UI5 that you absolutely have to know (UI5con 2017)
News about UI5 that you absolutely have to know (UI5con 2017)News about UI5 that you absolutely have to know (UI5con 2017)
News about UI5 that you absolutely have to know (UI5con 2017)
 
UI5 Overview for ROOT
UI5 Overview for ROOTUI5 Overview for ROOT
UI5 Overview for ROOT
 
OpenUI5
OpenUI5OpenUI5
OpenUI5
 
UI5con 2019 - Keynote for Rot
UI5con 2019 - Keynote for RotUI5con 2019 - Keynote for Rot
UI5con 2019 - Keynote for Rot
 
Anypoint platform architecture and components
Anypoint platform architecture and componentsAnypoint platform architecture and components
Anypoint platform architecture and components
 
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
 
Managing APIs with MuleSoft
Managing APIs with MuleSoftManaging APIs with MuleSoft
Managing APIs with MuleSoft
 
2017 sitNL Cloud Foundry Masterclass
2017 sitNL Cloud Foundry Masterclass2017 sitNL Cloud Foundry Masterclass
2017 sitNL Cloud Foundry Masterclass
 
4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...
4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...
4Developers 2015: Responsywne aplikacje web'owe z użyciem OpenUI5 - Witalij R...
 
Unit Tests and Test Seams for abap Hamburg June 2017 presented
Unit Tests and Test Seams for abap Hamburg June 2017   presentedUnit Tests and Test Seams for abap Hamburg June 2017   presented
Unit Tests and Test Seams for abap Hamburg June 2017 presented
 
Pivotal spring boot-cloud workshop
Pivotal   spring boot-cloud workshopPivotal   spring boot-cloud workshop
Pivotal spring boot-cloud workshop
 
44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa44779e8c 5b7c-0010-82c7-eda71af511fa
44779e8c 5b7c-0010-82c7-eda71af511fa
 
Runtime Fabric on OpenShift _--_ MuleSoft Meetup Deck.pptx
Runtime Fabric on OpenShift _--_ MuleSoft Meetup Deck.pptxRuntime Fabric on OpenShift _--_ MuleSoft Meetup Deck.pptx
Runtime Fabric on OpenShift _--_ MuleSoft Meetup Deck.pptx
 
Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...
Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...
Brisbane MuleSoft Meetup 2023-03-22 - Anypoint Code Builder and Splunk Loggin...
 
UI5conBE 2020 - Keynote
UI5conBE 2020 - KeynoteUI5conBE 2020 - Keynote
UI5conBE 2020 - Keynote
 

Plus de Peter Muessig

Plus de Peter Muessig (7)

UI5con 2023 - Keynote
UI5con 2023 - KeynoteUI5con 2023 - Keynote
UI5con 2023 - Keynote
 
UI5con 2021 - Keynote
UI5con 2021 - KeynoteUI5con 2021 - Keynote
UI5con 2021 - Keynote
 
UI5con 2022 - Keynote
UI5con 2022 - KeynoteUI5con 2022 - Keynote
UI5con 2022 - Keynote
 
UI5 Tooling - Open and Extensible
UI5 Tooling - Open and ExtensibleUI5 Tooling - Open and Extensible
UI5 Tooling - Open and Extensible
 
UI5 Evolution Overview 2018
UI5 Evolution Overview 2018UI5 Evolution Overview 2018
UI5 Evolution Overview 2018
 
UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...UI5con 2017 - UI5 Components - More Performance...
UI5con 2017 - UI5 Components - More Performance...
 
UI5con 2017 - UI5 Evolution
UI5con 2017 - UI5 EvolutionUI5con 2017 - UI5 Evolution
UI5con 2017 - UI5 Evolution
 

Dernier

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Dernier (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
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
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
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
 
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
 
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
 
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
 
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...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
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
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
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 🔝✔️✔️
 
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
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 

UI5 Tooling & Ecosystem

  • 1. PETER MUESSIG, MARGOT WOLLNY APR 01, 2020 UI5 TOOLING & ECOSYSTEM The modern CLI-based development experience to develop, run and test UI5 applications and libraries
  • 2. 2PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ
  • 3. 3PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ UI5
  • 4. 4PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ “Development Efficiency is Key!”
  • 5. 5PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ UI5 Tooling The UI5 Tooling is developed as an open source project based on Node.js. It offers a modular, configurable, and extensible command line interface tailored for efficient development of applications, libraries, and reuse components with the UI5 framework. >_ Not the official logo, yet! ;-)
  • 6. 6PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ Increase the developer experience and thus the developer efficiency. Motivation Support for any IDE of choice Flexible and extensible Enable modern language features Reuse of open source tooling Easy to integrate
  • 7. 7PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ Architectural Overview M Server Middleware T Builder Task Command Line Web Browser node.js script … SAP Business Application Studio SAP Web IDE LocalUI5 Tooling Project File System Server Logger Builder CLI MMM TTT M T
  • 8. 9PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ Types define how a project can be configured and how it is built. The UI5 Tooling distinguishes between the following types: Project Types Application Defines the main or root project. In a project’s dependency tree, there should only be one project of type application. Theme-library Defines a project with theming resources for the controls of one or multiple libraries. Library Defines a project with the aim to share code across multiple projects in UI5 (e.g. for controls, reuse components). Module Defines a non-UI5 project like a third party library. During build, it is copied without modification.
  • 9. 10PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ Prerequisites & Installation # Global installation of the UI5 CLI npm install --global @ui5/cli # Verify installation ui5 --help 10 or higher Or other Node.js package manager that relies on package.json files
  • 10. 11PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ UI5 CLI usage Commands See: UI5 CLI.
  • 11. 12PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ The UI5 Tooling configuration of a project is located in a YAML file named ui5.yaml.  Must contain a project name, a project type, and a specification version.  Allows the definition of a path mapping (in case project structure differs from expected structure), the file encoding of properties files, a copyright string, and more…  Defines build, server, and extension configuration information.  The build configuration can be extended with definition for custom bundling. Configuration ui5.yaml # Generate the ui5.yaml file ui5 init See: UI5 Tooling: Configuration specVersion: '1.0' metadata: name: myapp type: application ~ ~ ~ ui5.yaml
  • 12. 13PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ Demo Time # Download the OpenUI5 Sample App git clone https://github.com/SAP/openui5- sample-app.git # Start the development server ui5 serve # Build the OpenUI5 Sample App ui5 build
  • 13. 14PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ Extensibility The capabilities of the UI5 Tooling can be extended in three ways: Extensions can be part of the configuration of a project or defined as modules to be shared across multiple projects. Custom Task Enables the extension of the build process by a custom build task. Custom Server Middleware Enables the plugging of custom middleware implementations into the internal express server of the UI5 server module. Project Shim Enables the definition or extension of a project configuration of a module. (expert feature)
  • 14. 15PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ UI5 Tooling Ecosystem – an idea born at UI5con 2019 Peter, a proxy is missing!Volker, the UI5Tooling is extensible, just add it! Ok, let‘s proof this together! Hopefully… ”We can shape the UI5 development experience together!” Volker Buzek; @vobu
  • 15. 16PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ UI5 Ecosystem Showcase
  • 16. 17PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ UI5 Tooling – a modern CLI-based development experience! Just a few steps ahead: • Create a UI5 project in SAP Web IDE • Download and enable the project to run locally • Include custom tasks and middlewares • Feel the difference of the development experience >_ Not the official logo, yet! ;-) # Start the development server ui5 serve Server started URL: http://localhost:8080
  • 17. 18PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ Demo Time
  • 18. 19PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ UI5 Tooling Family & Friends Karma >_ Yeoman Migration TypeScript … … …
  • 19. 20PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ OpenUI5 SAPUI5 >_ 2.0
  • 20. 21PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ The UI5 Tooling 2.0 brings several enhancements:  Advanced frontend package manager to avoid version inconsistencies with a shared local dependency cache (not per project, like npm)  UI5 framework dependencies are managed in the ui5.yaml and can be OpenUI5 or SAPUI5: – Specify one version for all UI5 libraries of the framework – Declare the required UI5 libraries  New CLI commands: – ui5 use: select a framework and the framework version – ui5 add: add one or more library dependencies  Introduces validation of the ui5.yaml file to improve the error detection  Properties files encoding now defaults to UTF-8 UI5 Tooling 2.0 Release: April, 01 2020 specVersion: '2.0' metadata: name: myapp type: application # UI5 dependencies framework: name: SAPUI5 version: 1.76.0 libraries: - name: sap.ui.core - name: sap.m - name: themelib_sap_fiori_3 - name: sap.suite.ui.microchart ~ See: UI5 Tooling 2.0 # Use the 1.76.0 SAPUI5 framework version ui5 use SAPUI5@1.76.0 # Add the dependency to microchart library ui5 add sap.suite.ui.microchart ui5.yaml * New UI5 Tooling 2.0 features require specVersion: '2.0’ in ui5.yaml!
  • 21. 22PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ What else  Project creation via a primitive SAPUI5 Yeoman generator  Provides 3 templates: Worklist, Master Detail, Worklist OData V4 # Install the SAPUI5 Yeoman generator npm install --global @sapui5/generator-sapui5-templates # Run the generator (select the template from list in question step) yo @sapui5/sapui5-templates  Continuously deliver the TypeScript definitions for OpenUI5/SAPUI5  Enables basic code-completion for UI5 development # Install the DTS files for OpenUI5 (available for 1.60) npm install @openui5/ts-types # Install the DTS files for SAPUI5 (will be available for 1.71, >1.75) npm install @sapui5/ts-types EXPERIMENTAL
  • 22. 23PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ What’s next  Enable a modern development experience for UI5 by using a Babel toolchain (focusing on app development)  Open-source solutions already exist, it is all about using them properly (*)  Using TypeScript to benefit from code-completion and extended checks in any editor  Utilize Babel to transpile ES6+ features back to UI5 APIs (such as import/export to sap.ui.define/require) DISCLAIMER: no warranties / no timelines yet!(*) Independent from UI5 Tooling (integrated via extensibility)
  • 23. 24PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ Further resources  UI5 Tooling Project on GitHub  UI5 Tooling Documentation  UI5 Tooling Feedback/Issues  Introducing the UI5 Tooling for SAPUI5 projects Blog  The UI5 Tooling and SAPUI5 – The Next Step Blog  Utilize UI5 tooling's extension capabilities for an improved development experience Blog  End to end setup of local development environment with ui5 tooling Blog  UI5 Ecosystem Showcase on GitHub
  • 24. 25PUBLIC© 2020 SAP SE or an SAP affiliate company. All rights reserved. ǀ More links:  Karma UI5 Project on GitHub  Migration Tools Project on GitHub  Migration Tools Blog  Yeoman SAPUI5 Templates Project on NPM.js  TypeScript UI5 Project on GitHub
  • 25. THANK YOU Peter Muessig Chief Architect, SAPUI5 peter.muessig@sap.com Twitter: @pmuessig SAP Community: @peter.muessig Margot Wollny Product Expert, SAPUI5 margot.wollny@sap.com SAP Community: @margot.wollny
  • 26. © 2020 SAP SE or an SAP affiliate company. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company. The information contained herein may be changed without prior notice. Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP or its affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP or SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty. In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or release any functionality mentioned therein. This document, or any related presentation, and SAP SE’s or its affiliated companies’ strategy and possible future developments, products, and/or platforms, directions, and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place undue reliance on these forward-looking statements, and they should not be relied upon in making purchasing decisions. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies. See www.sap.com/copyright for additional trademark information and notices. www.sap.com/contactsap Follow us
  • 27. www.sap.com/germany/contactsap © 2020 SAP SE oder ein SAP-Konzernunternehmen. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP SE oder ein SAP-Konzernunternehmen nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Die von SAP SE oder deren Vertriebsfirmen angebotenen Softwareprodukte können Softwarekomponenten auch anderer Softwarehersteller enthalten. Produkte können länderspezifische Unterschiede aufweisen. Die vorliegenden Unterlagen werden von der SAP SE oder einem SAP-Konzernunternehmen bereitgestellt und dienen ausschließlich zu Informationszwecken. Die SAP SE oder ihre Konzernunternehmen übernehmen keinerlei Haftung oder Gewährleistung für Fehler oder Unvollständigkeiten in dieser Publikation. Die SAP SE oder ein SAP-Konzernunternehmen steht lediglich für Produkte und Dienstleistungen nach der Maßgabe ein, die in der Vereinbarung über die jeweiligen Produkte und Dienstleistungen ausdrücklich geregelt ist. Keine der hierin enthaltenen Informationen ist als zusätzliche Garantie zu interpretieren. Insbesondere sind die SAP SE oder ihre Konzernunternehmen in keiner Weise verpflichtet, in dieser Publikation oder einer zugehörigen Präsentation dargestellte Geschäftsabläufe zu verfolgen oder hierin wiedergegebene Funktionen zu entwickeln oder zu veröffentlichen. Diese Publikation oder eine zugehörige Präsentation, die Strategie und etwaige künftige Entwicklungen, Produkte und/oder Plattformen der SAP SE oder ihrer Konzernunternehmen können von der SAP SE oder ihren Konzernunternehmen jederzeit und ohne Angabe von Gründen unangekündigt geändert werden. Die in dieser Publikation enthaltenen Informationen stellen keine Zusage, kein Versprechen und keine rechtliche Verpflichtung zur Lieferung von Material, Code oder Funktionen dar. Sämtliche vorausschauenden Aussagen unterliegen unterschiedlichen Risiken und Unsicherheiten, durch die die tatsächlichen Ergebnisse von den Erwartungen abweichen können. Dem Leser wird empfohlen, diesen vorausschauenden Aussagen kein übertriebenes Vertrauen zu schenken und sich bei Kaufentscheidungen nicht auf sie zu stützen. SAP und andere in diesem Dokument erwähnte Produkte und Dienstleistungen von SAP sowie die dazugehörigen Logos sind Marken oder eingetragene Marken der SAP SE (oder von einem SAP-Konzernunternehmen) in Deutschland und verschiedenen anderen Ländern weltweit. Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen. Zusätzliche Informationen zur Marke und Vermerke finden Sie auf der Seite www.sap.com/corporate/de/legal/copyright.html. SAP folgen auf