Skip to content

Commit 9dff16f

Browse files
committed
docs(RFC): Document component type use cases
1 parent 7e5e2d7 commit 9dff16f

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

rfcs/0018-component-type.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ The new "component" type will borrow characteristics from both, the existing "ap
3232

3333
The above diagram illustrates a common scenario where multiple UI5 components are developed and tested concurrently. Each component is represented as a separate project with its own namespace, allowing them to coexist without conflicts. The "component" type will enable these projects to be served and built independently while still being able to reference each other, for example for the purpose of navigating between them.
3434

35+
Projects of the `component` type cover a range of use cases beyond typical standalone UI5 applications:
36+
37+
- **Application components:** These are typical UI5 applications, designed to run in container-like application such as the SAP Fiori launchpad (FLP). These generally inherit from `sap.ui.core.UIComponent` (or a subclass) and define the `manifest.json` property `sap.app/type: application`.
38+
- **Reusable UI components:** Provide UI elements or features that can be embedded in different contexts. These typically inherit from `sap.ui.core.UIComponent` and define the `manifest.json` property `sap.app/type: component`.
39+
- **Faceless components:** Provide functionality without a user interface. These are defined with `manifest.json` property `sap.app/type: component` and inherit from `sap.ui.core.Component` (not `UIComponent`).
40+
41+
See the [components documentation](https://ui5.sap.com/#/topic/958ead51e2e94ab8bcdc90fb7e9d53d0) for more details.
42+
3543
### Key design aspects include:
3644

3745
* **Serving Path:** Unlike ["application" projects](https://sap.github.io/ui5-tooling/stable/pages/Project/#application) served at the root path "/", "component" projects will be served under their namespace, for example, "/resources/my/bookstore/admin". This enables multiple component projects to coexist alongside a single root application (like in the FLP).

0 commit comments

Comments
 (0)