Application SAPUI5 freestyle
Une application SAPUI5 freestyle est une application SAP Fiori spécifique dont les développeurs écrivent directement les vues, les contrôleurs et la logique d'interface avec les contrôles SAPUI5, au lieu de générer les écrans à partir d'annotations OData comme le fait SAP Fiori elements. Elle offre un contrôle total sur la mise en page et le comportement, et la maintenance de ce code reste à la charge du client ou du partenaire.
L'essentiel
- Type
- Application SAPUI5 spécifique avec une interface écrite à la main
- Couche
- Applications d'interface
- Construit avec
- Contrôles SAPUI5 en JavaScript ou TypeScript ; SAP Fiori tools (modèles freestyle dépréciés)
- Déployé dans
- Référentiel ABAP SAPUI5 (on-premise, Private Edition) ou HTML5 Application Repository (SAP BTP)
- Responsabilité du code
- Client ou partenaire
- Qui l'utilise
- Développeurs SAPUI5, designers UX, architectes de solution
- S'applique à
- SAP S/4HANA on-premise et Private Edition, SAP BTP
Couche : Applications d'interfaceOù se situe-t-il ? ▾
Couche : Applications d'interface
Ouvrir la carte d'architecture →Comment fonctionne une application SAPUI5 freestyle ?
Une application SAPUI5 freestyle utilise la structure d'application SAPUI5 standard, chaque écran étant écrit par l'équipe de développement :
- Composant et app descriptor — le composant démarre l'application ; le manifest.json déclare les sources de données, les modèles, les routes et les inbounds de navigation.
- Vues — généralement des vues XML qui placent des contrôles SAPUI5 tels que tableaux, formulaires et graphiques.
- Contrôleurs — du code JavaScript ou TypeScript pour les événements, les retours de validation, les boîtes de dialogue et la navigation.
- Modèles — des modèles OData pour les données back-end, des modèles JSON pour l'état local, des modèles de ressources pour les textes.
- Intégration au launchpad — un target mapping ou un inbound rend l'application accessible depuis une tile ou un lien.
SAP Fiori tools génère toujours le squelette du projet, mais SAP marque désormais ses modèles SAPUI5 freestyle comme dépréciés et recommande de partir de la custom page de SAP Fiori elements pour OData V4, qui laisse toujours le contenu de la page à l'équipe. Rien dans l'interface n'est dérivé des annotations, sauf si l'équipe ajoute délibérément des building blocks. Une application SAPUI5 freestyle se définit donc par l'auteur de l'interface — l'équipe — et non par le framework qui l'exécute.
Quand construire une application SAPUI5 freestyle ?
Les recommandations de SAP aux développeurs préconisent d'utiliser SAP Fiori elements autant que possible et le code freestyle autant que nécessaire. Le développement freestyle est le bon point de départ lorsqu'au moins une de ces conditions est remplie :
- l'interaction ne correspond à aucun floorplan, par exemple un écran de scan guidé ou un tableau de planification ;
- l'application doit travailler avec des sources de données qui ne sont pas des services OData annotés, ou avec des systèmes externes ;
- l'équipe a besoin d'un contrôle fin du rendu et des performances ;
- le design s'écarte délibérément des modèles standard pour un groupe d'utilisateurs spécifique.
Exemple : Alder Manufacturing souhaite que les magasiniers confirment les livraisons de Bright Freight en scannant les palettes sur une tablette, avec de grands boutons et un déroulement en une seule étape. Aucun floorplan ne convient à cette interaction ; une page freestyle se justifie donc. À l'inverse, une liste des livraisons ouvertes destinée aux superviseurs correspond à un list report. La décision de construire une application SAPUI5 freestyle doit se prendre écran par écran, et non projet par projet.
Quels sont les points forts d'une application SAPUI5 freestyle ?
- Contrôle total du design : toute mise en page, interaction ou visualisation que les contrôles SAPUI5 peuvent exprimer est possible.
- Toute source de données : l'application peut combiner services OData, API REST et données locales sans avoir besoin d'annotations.
- Même langage visuel : comme elle utilise les contrôles et thèmes SAPUI5, une application freestyle bien conçue ressemble au reste de SAP Fiori.
- Combinable : des pages freestyle et des pages SAP Fiori elements peuvent coexister dans la même application, et les building blocks de SAP Fiori elements pour OData V4 peuvent être assemblés dans des mises en page spécifiques.
- Adaptable par d'autres : SAPUI5 flexibility prend en charge l'adaptation des applications freestyle comme des applications SAP Fiori elements, à condition que l'application active l'indicateur flexEnabled et utilise des ID de contrôle stables.
L'application SAPUI5 freestyle est l'option qui lève le plafond de ce que l'interface utilisateur peut faire.
Où s'arrête une application SAPUI5 freestyle ?
- La responsabilité reste au client. Les recommandations de SAP placent la maintenance et la responsabilité du code des applications freestyle principalement du côté du client ou du partenaire, par rapport à SAP Fiori elements, où le framework en assume une plus grande part.
- La cohérence est une tâche de design. La conformité SAP Fiori est automatique pour les floorplans, mais doit être construite et revue pour les écrans freestyle.
- L'évolution du framework est manuelle. Les nouvelles fonctionnalités des floorplans arrivent dans les applications SAP Fiori elements via le framework ; les applications freestyle ne changent que si quelqu'un les modifie, y compris lorsque SAPUI5 déprécie des API.
- Les compétences sont spécifiques. L'équipe a besoin de compétences en développement web et sur le framework SAPUI5, et pas seulement en OData et en annotations.
- La logique peut glisser vers le navigateur. Les règles codées dans un contrôleur ne protègent pas les données écrites par d'autres canaux.
Ces limites sont le prix de la flexibilité : une application SAPUI5 freestyle coûte plus cher à maintenir en bon état sur toute sa durée de vie.
Freestyle, SAP Fiori elements ou custom page : comment choisir ?
SAP décrit trois points de départ, et une même application peut combiner les trois :
| Point de départ | Ce que vous obtenez | À choisir lorsque |
|---|---|---|
| Floorplan SAP Fiori elements pleine page | Mise en page et logique standard issues des annotations | Un floorplan correspond à la tâche |
| Custom page avec building blocks (OData V4) | Mise en page propre, barres de filtres et tableaux standard | La mise en page est particulière mais certaines parties sont standard |
| Page SAPUI5 freestyle | Contrôle total | Rien de standard ne convient |
L'option intermédiaire relève du flexible programming model, qui permet aux développeurs de mélanger des building blocks pilotés par les métadonnées avec leur propre code. Pour les équipes qui choisissent le freestyle par habitude, c'est souvent le meilleur compromis. Le choix entre freestyle et SAP Fiori elements est rarement tout ou rien ; le flexible programming model en fait une décision page par page.
Quelles sont les erreurs fréquentes avec les applications SAPUI5 freestyle ?
- Choisir le freestyle par habitude. Examinez d'abord les floorplans ; ne construisez en freestyle que là où ils ne conviennent pas.
- Aucun responsable désigné après le go-live. Une plainte fréquente dans les communautés de praticiens concerne les applications spécifiques que personne ne maintient une fois l'équipe projet partie. Désignez un responsable avant le déploiement.
- Développer sur une version SAPUI5 plus récente que celle de la production. Testez avec la version du serveur front-end cible.
- Des règles métier uniquement dans le contrôleur. Conservez aussi les validations dans le service back-end.
- Des ID de contrôle instables. SAPUI5 flexibility identifie les contrôles par des ID stables ; des ID générés compromettent donc l'adaptation par les key users et fragilisent les tests automatisés.
La plupart des problèmes des applications SAPUI5 freestyle apparaissent des mois après le go-live, c'est pourquoi la responsabilité compte autant que la qualité du code.
Application SAPUI5 freestyle ou SAP Fiori elements : quelle différence ?
| Application SAPUI5 freestyle | Application SAP Fiori elements | |
|---|---|---|
| Définition de l'interface | Vues et contrôleurs écrits à la main | Générée à l'exécution à partir des annotations OData et des floorplans |
| Maintenance et responsabilité du code | Principalement le client ou le partenaire | Partagées, avec une plus grande part assumée par le framework de SAP |
| Conformité SAP Fiori | Implémentation et revue spécifiques | Largement automatique |
| Personnalisation | Illimitée | Points d'extension, building blocks et code spécifique |
| Compétences requises | Développement web et SAPUI5 | Annotations, OData et floorplans |
Les deux produisent des applications SAPUI5 ; la différence est de savoir si c'est l'équipe ou le framework qui maîtrise l'interface utilisateur.
Questions fréquentes
Une application SAPUI5 freestyle reste-t-elle une application SAP Fiori ?
Elle peut l'être. Une application SAPUI5 freestyle utilise les mêmes contrôles et thèmes que les autres applications SAP Fiori et peut s'exécuter dans le SAP Fiori Launchpad. Qu'elle soit une bonne application SAP Fiori dépend du respect des SAP Fiori Design Guidelines par l'équipe.
Peut-on mélanger SAP Fiori elements et code freestyle dans une même application ?
Oui. SAP prend explicitement en charge la combinaison, dans une même application, de floorplans SAP Fiori elements complets, de custom pages avec building blocks et de pages SAPUI5 freestyle. Les building blocks du flexible programming model peuvent aussi être réutilisés dans des custom pages, dans le respect des prérequis de ce modèle.
Les key users peuvent-ils adapter une application SAPUI5 freestyle ?
SAPUI5 flexibility prend en charge les applications freestyle comme les applications SAP Fiori elements ; les key users peuvent donc adapter l'interface sans modifier le code d'origine. Les développeurs doivent préparer l'application : activer l'indicateur flexEnabled dans l'app descriptor et attribuer un ID stable à chaque contrôle et à chaque vue.
Les applications SAPUI5 freestyle peuvent-elles s'exécuter dans SAP S/4HANA Cloud Public Edition ?
La Public Edition permet de déployer dans le référentiel ABAP SAPUI5 du tenant de développement des applications SAP Fiori spécifiques, construites sur des services OData exposés comme services d'interface (UI services). SAP documente les applications SAP Fiori spécifiques en général plutôt que par type d'application ; consultez donc le SAP Help Portal pour votre release avant d'y prévoir une application freestyle.
Faut-il TypeScript pour une application SAPUI5 freestyle ?
Non. Les applications SAPUI5 freestyle peuvent être écrites en JavaScript ou en TypeScript. TypeScript ajoute la vérification des types et l'assistance dans l'éditeur, ce qui aide les grandes équipes, mais l'application obtenue s'exécute de toute façon sur le même runtime SAPUI5.
Sources
- SAPUI5 SDK: Developing apps with modern concepts — guidance for developers
- SAP Help Portal: Flexible programming model (SAPUI5)
- SAP Help Portal: SAPUI5 flexibility
- SAP Help Portal: UI development in SAP S/4HANA Cloud Public Edition
- SAP Help Portal: What Is HTML5 Application Repository? (SAP BTP)
- S'applique à
- SAP S/4HANA on-premise · SAP S/4HANA Cloud Private Edition · SAP BTP
- Dernière relecture