wridgeu/ui5-typescript-walkthrough
A walkthrough tutorial that introduces all major development paradigms of OpenUI5 using TypeScript with OpenUI5.
OpenUI5 TypeScript Walkthrough
In this tutorial we'll introduce you to all major development paradigms of OpenUI5. We'll demonstrate the use of TypeScript with OpenUI5 and highlight the specific characteristics of this approach.
Description
We first introduce you to the basic development paradigms like Model-View-Controller and establish a best-practice structure of our application. We'll do this along the classic example of “Hello World” and start a new app from scratch. Next, we'll introduce the fundamental data binding concepts of OpenUI5 and extend our app to show a list of invoices. We'll continue to add more functionality by adding navigation, extending controls, and making our app responsive. We'll also have look at the testing features and the built-in support tools of OpenUI5.
Preview
💡 Tip:
You don't have to do all tutorial steps sequentially, you can also jump directly to any step you want. Just download the code from the previous step and make sure that the application runs as intended.You can view the samples for all steps here in this repository.
For more information, read the Getting Started section below.
Steps
The tutorial consists of the following steps. To start, just open the first link - you`ll be guided from there.
- Step 1: Hello World!
- Step 2: Bootstrap
- Step 3: Controls
- Step 4: XML Views
- Step 5: Controllers
- Step 6: Modules
- Step 7: JSON Model
- Step 8: Translatable Texts
- Step 9: Component Configuration
- Step 10: Descriptor for Applications
- Step 11: Pages and Panels
- Step 12: Shell Control as Container
- Step 13: Margins and Paddings
- Step 14: Custom CSS and Theme Colors
- Step 15: Nested Views
- Step 16: Dialogs and Fragments
- Step 17: Fragment Callbacks
- Step 18: Icons
- Step 19: Aggregation Binding
- Step 20: Data Types
- Step 21: Expression Binding
- Step 22: Custom Formatters
- Step 23: Filtering
- Step 24: Sorting and Grouping
- Step 25: Remote OData Service
- Step 26: Mock Server Configuration
- Step 27: Unit Test with QUnit
- Step 28: Integration Test with OPA
- Step 29: Debugging Tools
- Step 30: Routing and Navigation
- Step 31: Routing with Parameters
- Step 32: Routing Back and History
- Step 33: Custom Controls
- Step 34: Responsiveness
- Step 35: Device Adaptation
- Step 36: Content Density
- Step 37: Accessibility
- Step 38: Build Your Application
Requirements
The project uses npm workspaces and requires a Node.js version >= 16 to be installed.
Getting Started
The project is setup as monorepo. All steps are located inside the steps folder and labelled with their step number. The monorepo uses npm workspaces to manage all steps together. But you can also run npm inside each individual step.
To setup the monorepo you first need to install all depenedencies:
npm installTo run any step, just execute one of the scripts from package.json via npm, e.g.:
# Option 1: use workspace command to start the step
npm start -w ui5.walkthrough.step01
# Option 2: change to the folder of the step and start it
cd steps/01
npm startDownload and Installation
Known Issues
No known issues.
How to obtain support
Create an issue in this repository if you find a bug or have questions about the content.
For additional support, ask a question in OpenUI5 Community on Slack.
Contributing
If you wish to contribute code, offer fixes or improvements, please send a pull request. Due to legal reasons, contributors will be asked to accept a DCO when they create the first pull request to this project. This happens in an automated fashion during the submission process. SAP uses the standard DCO text of the Linux Foundation.
License
Copyright (c) 2023 SAP SE or an SAP affiliate company. All rights reserved. This project is licensed under the Apache Software License, version 2.0 except as noted otherwise in the LICENSE file.
