OpenUI5
OpenUI5 est l'édition open source du framework JavaScript UI5 de SAP, publiée sous licence Apache 2.0 et développée publiquement sur GitHub. OpenUI5 partage avec SAPUI5 le runtime de base et les bibliothèques de contrôles les plus utilisées, comme sap.m, mais exclut les bibliothèques réservées à SAP, comme SAP Fiori elements, les smart controls, les graphiques et le shell du launchpad.
L'essentiel
- Type
- Framework d'interface JavaScript open source (cœur UI5 et bibliothèques de contrôles courantes)
- Couche
- Applications d'interface
- Licence
- Apache 2.0
- Relation
- Même cœur et mêmes noms techniques que SAPUI5 ; moins de bibliothèques
- Non inclus
- SAP Fiori elements, smart controls, graphiques, shell du launchpad, export vers tableur
- Qui l'utilise
- Développeurs web, architectes UI, créateurs d'outils open source
- S'applique à
- SAP BTP et tout hébergement web ; les produits SAP livrent SAPUI5 à la place
Couche : Applications d'interfaceOù se situe-t-il ? ▾
Couche : Applications d'interface
Ouvrir la carte d'architecture →Quel est le lien entre OpenUI5 et SAPUI5 ?
SAP livre le framework UI5 sous deux formes. OpenUI5 est la version open source ; SAPUI5 est celle intégrée aux produits SAP comme SAP BTP et la plateforme ABAP. La principale différence est la licence, pas le modèle de programmation.
Trois faits découlent de cette origine commune :
- Même cœur. Le runtime, le data binding, le routage et les bibliothèques de contrôles les plus courantes, par exemple
sap.m,sap.ui.layoutetsap.ui.unified, sont identiques dans les deux livraisons. - Mêmes noms techniques. Les noms des contrôles, les noms des bibliothèques et les API correspondent : du code écrit pour OpenUI5 continue de fonctionner lorsque le runtime passe à SAPUI5.
- Versions alignées. Les deux livraisons suivent la même ligne de versions, même si SAP précise que les numéros de version peuvent différer au niveau du patch. La boîte de dialogue des informations techniques (Ctrl+Alt+Shift+P) affiche la version réellement chargée par une application.
SAPUI5 est donc un sur-ensemble : tout le contenu d'OpenUI5, plus des bibliothèques propres à SAP. OpenUI5 est le sous-ensemble open source de SAPUI5, pas un framework distinct.
Quelles bibliothèques manquent dans OpenUI5 ?
La comparaison des listes de bibliothèques publiées pour la version 1.154 montre que chaque bibliothèque OpenUI5 fait aussi partie de SAPUI5, tandis que SAPUI5 en ajoute plusieurs dizaines. Les écarts les plus importants dans les projets SAP :
| Domaine | Uniquement dans SAPUI5 | Conséquence pour les applications OpenUI5 |
|---|---|---|
| SAP Fiori elements | sap.fe.* (OData V4), sap.suite.ui.generic.template (OData V2), sap.ovp | Pas de floorplans pilotés par annotations |
| Smart controls | sap.ui.comp | Pas de smart filter bar, smart table ni smart field |
| Graphiques | sap.viz, sap.chart, sap.suite.ui.microchart | Les graphiques nécessitent une autre bibliothèque |
| Shell du launchpad | sap.ushell | Pas de runtime SAP Fiori Launchpad |
| Utilitaires | sap.ui.export, sap.ui.richtexteditor, sap.gantt | Pas d'export intégré vers tableur, d'éditeur de texte enrichi ni de diagramme de Gantt |
OpenUI5 reste très complet : sap.m, sap.f, la mise en page object page de sap.uxap, sap.ui.table, les contrôles pilotés par métadonnées de sap.ui.mdc, les bibliothèques de flexibilité sap.ui.fl et sap.ui.rta, les integration cards et la bibliothèque du thème SAP Horizon. La liste évolue d'une version à l'autre ; vérifiez-la pour la version que vous ciblez. OpenUI5 couvre les briques d'une application web complète, mais pas les couches SAP qui génèrent ou hébergent les applications SAP Fiori.
Quand utiliser OpenUI5 ?
Appliquez ce critère de décision : si l'application dépend du runtime d'un produit SAP ou d'une bibliothèque réservée à SAP, utilisez SAPUI5 ; sinon, OpenUI5 est un choix valable.
OpenUI5 convient lorsque :
- l'application s'exécute en dehors des produits SAP, par exemple un portail web public ou un outil interne sur un back-end non SAP ;
- le projet est lui-même open source, comme un outil UI5, un exemple ou une bibliothèque de contrôles personnalisés, et ne doit pas dépendre de code sous licence SAP ;
- une équipe apprend UI5 et souhaite un runtime et une documentation librement accessibles.
SAPUI5 convient lorsque :
- l'application s'exécute dans le SAP Fiori Launchpad ou SAP Build Work Zone, qui chargent de toute façon le runtime SAPUI5 ;
- l'application utilise SAP Fiori elements, les smart controls ou les graphiques SAP ;
- l'application est livrée sur la plateforme ABAP ou SAP BTP, où SAPUI5 fait partie du produit.
Pour Alder Manufacturing, une page d'auto-inscription fournisseur pour Cedar Office Supply sur un serveur web non SAP est candidate à OpenUI5 ; un list report des commandes d'achat dans le launchpad ne l'est pas. OpenUI5 est le bon choix lorsque l'indépendance vis-à-vis des licences des produits SAP compte davantage que les bibliothèques propres à SAP.
Où s'arrête OpenUI5 ?
- Pas de floorplans générés. Sans SAP Fiori elements, les list reports et les object pages doivent être construits à la main avec des contrôles standard ; l'effort correspond donc à celui du SAPUI5 freestyle, pas à celui du développement piloté par annotations.
- Pas de runtime de launchpad propre. Les applications destinées au SAP Fiori Launchpad s'exécutent sur le runtime SAPUI5 du launchpad, pas sur OpenUI5. En pratique, une application OpenUI5 qui rejoint un paysage SAP devient une application SAPUI5.
- La persistance de la flexibilité est externe. Les bibliothèques de flexibilité sont incluses, mais stocker en production les modifications des key users et des utilisateurs finaux exige un back-end : le layered repository d'un système ABAP ou des services SAP BTP. Les connecteurs de stockage navigateur sont destinés aux tests.
- Modèle de support. Les bugs et demandes d'évolution d'OpenUI5 sont remontés publiquement sous forme d'issues GitHub ; la couverture d'un usage donné d'OpenUI5 par un contrat de support SAP dépend des conditions de ce contrat.
Ces limites découlent de la séparation elle-même : OpenUI5 est le framework, et SAPUI5 y ajoute ce dont les produits SAP ont besoin.
Quelles sont les erreurs courantes avec OpenUI5 ?
- Démarrer sur OpenUI5 et découvrir une dépendance tardivement. Un projet qui a ensuite besoin des smart controls, de SAP Fiori elements ou de l'export vers tableur doit passer à SAPUI5. Correctif : listez les bibliothèques requises avant de choisir la livraison.
- Assimiler OpenUI5 à la conformité SAP Fiori. Les contrôles OpenUI5 suivent le design SAP Fiori, mais ce sont la mise en page, la navigation et la formulation qui déterminent si une application respecte les SAP Fiori Design Guidelines. Correctif : évaluez l'application au regard des guidelines, pas seulement des contrôles.
- Mélanger les livraisons dans un même paysage. Lancer certaines applications depuis le réseau de diffusion de contenu OpenUI5 et d'autres depuis celui de SAPUI5 complique les comparaisons de versions et le diagnostic. Correctif : utilisez une seule livraison par application et documentez-la.
- Ignorer les différences au niveau du patch. Les numéros de version d'OpenUI5 et de SAPUI5 peuvent diverger au niveau du patch. Correctif : consultez la boîte de dialogue des informations techniques lorsqu'un bug apparaît dans une livraison et pas dans l'autre.
La plupart des problèmes OpenUI5 sont des décisions de périmètre prises trop tôt, pas des défauts du framework.
OpenUI5 ou SAPUI5 : quelle différence ?
| OpenUI5 | SAPUI5 | |
|---|---|---|
| Licence | Apache 2.0, open source | Incluse dans les licences des produits SAP |
| Bibliothèques | Cœur, sap.m, sap.f, sap.uxap, sap.ui.table, sap.ui.mdc, flexibilité, thèmes | Tout le contenu d'OpenUI5, plus SAP Fiori elements, smart controls, graphiques, shell du launchpad et plus encore |
| Livré avec | Téléchargement public et réseau de diffusion de contenu | SAP BTP, plateforme ABAP (composant SAP_UI), SAP S/4HANA |
| Usage type | Applications web hors produits SAP, outils open source, apprentissage | Applications SAP Fiori dans SAP S/4HANA, le SAP Fiori Launchpad et SAP BTP |
OpenUI5 et SAPUI5 partagent un même modèle de programmation ; SAPUI5 ajoute les bibliothèques propres à SAP sur lesquelles reposent les applications SAP Fiori des produits SAP.
Questions fréquentes
OpenUI5 est-il gratuit pour un usage commercial ?
Oui. OpenUI5 est publié sous licence Apache 2.0, qui autorise l'usage commercial, la modification et la distribution dans les conditions de la licence, comme la conservation des fichiers de licence et de notice. Les équipes doivent néanmoins mener leur revue de conformité open source habituelle avant toute livraison.
Peut-on utiliser SAP Fiori elements avec OpenUI5 ?
Non. Les bibliothèques SAP Fiori elements, pour OData V4 et V2, sont livrées uniquement avec SAPUI5. Une application qui a besoin de list reports, d'object pages ou d'autres floorplans pilotés par annotations doit s'exécuter sur SAPUI5, disponible via SAP BTP et la plateforme ABAP.
Une application OpenUI5 fonctionne-t-elle sur SAPUI5 ?
En général, oui. OpenUI5 et SAPUI5 utilisent les mêmes noms techniques et les mêmes API ; une application OpenUI5 continue donc de fonctionner lorsque le runtime passe à SAPUI5. L'application peut alors aussi utiliser les bibliothèques réservées à SAPUI5, à condition qu'une version SAPUI5 correspondante soit disponible.
OpenUI5 inclut-il le thème SAP Horizon ?
Oui. La bibliothèque du thème SAP Horizon fait partie de la livraison OpenUI5, avec la famille de thèmes Quartz. Les applications OpenUI5 peuvent donc ressembler aux applications SAP Fiori actuelles, même si les bibliothèques réservées à SAP, comme SAP Fiori elements, leur manquent.
OpenUI5 et UI5 Web Components, est-ce la même chose ?
Non. OpenUI5 est un framework applicatif complet avec modèles, routage et contrôles. Les UI5 Web Components sont un ensemble distinct de web components standard, indépendants de tout framework et au style SAP Fiori, destinés aux applications construites avec d'autres frameworks ou en HTML pur.
Sources
- SAPUI5 SDK: SAPUI5 vs. OpenUI5
- SAPUI5 version information (library list of the current SAPUI5 release)
- SAPUI5 SDK: Deprecated themes and libraries
- SAPUI5 SDK: Bootstrapping SAPUI5 Flexibility (connectors)
- S'applique à
- SAP BTP
- Dernière relecture