Neptune UX Platform 4.0 – Neue Features
Version 4.0 der Neptune UX Platform (UXP) bringt neben einem neuen Launchpad auch eine Vielzahl neuer Features mit.
Dazu gehören unter anderem ein neues View Konzept samt überarbeiteter Navigation, SplitViews, Desktop Notifications und ein neuer Verschlüsselungsalgorithmus für Models. In diesem Beitrag möchte ich Ihnen kurz die wichtigsten Neuerungen von UXP 4.0 vorstellen.
Allgemeine Änderungen
Mit Version 4.0 läuft jede App in einer eigenen JavaScript View. Dies hat zur Folge, dass deklarierte Objekte nur im Scope der korrespondierenden Applikation sichtbar und erreichbar sind. Um weiterhin Daten zwischen Applikationen auszutauschen, kann der sap.n Namenraum verwendet werden. Diese Kapselung birgt gewisse Vorzüge. Starten Sie eine neue App, wird ein neuer View samt der dazugehörigen Objekte erstellt und angezeigt. Wenn diese App nun in den Hintergrund tritt, verliert sie ihren aktuellen Status nicht und kann so wieder hergestellt werden, wie sie verlassen wurde. Zusätzlich erhöht sich durch die Verwendung separater Views die Performance, wodurch schnellere, reaktionsfreudigere Apps möglich sind.
Verschlüsselung ist ein essentielles Thema. Mit dem neuen Encryption-Verfahren hat Neptune einen effizienteren Algorithmus implementiert. Dieser ermöglicht die Verschlüsselung des Models und kann über die Eigenschaft setEnableEncryption
gesetzt werden. Damit entsteht für den Entwickler kein nennenswerter Mehraufwand.
Von nun an sollte auf internen HTML Code verzichtet werden. Um der App Styles und Scripting hinzuzufügen, sollten die Abschnitte NAD Stylesheet und Global Script verwendet werden. Grundsätzlich können HTML5 Komponenten zwar verwendet werden, diese werden jedoch nicht auf die HANA Cloud Plattform (HCP) exportiert.
Split View
Für Desktop-Apps bringt Neptune UXP 4.0 ein besonderes Feature mit. Es ist fortan möglich zwei Applikationen zeitgleich nebeneinander auszuführen. Split View ermöglicht es somit mehr Informationen auf einen Blick zu erhalten. So ist es beispielsweise möglich den Teamkalender auf der linken Seite und die Genehmigung von Abwesenheitsanträgen auf der rechten Seite zu starten, um immer einen genauen Überblick zu behalten.
Die Aufteilung des Bildschirms kann sowohl über die Nutzeroberfläche, als auch programmatisch erfolgen. Dazu ist lediglich eine Zeile Code von Nöten.
sap.n.Shell.splitOpen("LEFT_SIDE_APP_NAME","RIGHT_SIDE_APP_NAME");
Aufgrund der beschriebenen architektonischen Änderungen ist es von nun an notwendig, die Anzeige des Busy Indicators manuell zu behandeln. Dazu stellt Neptune die Funktion App.setBusy(true|false)
zur Verfügung. Auch das Event Handling ist von dieser Änderung betroffen. Die Events sap.n.Shell.attachBeforeDisplay
, welches immer aufgerufen wird, bevor die App angezeigt wird und sap.n.Shell.attachInit
, das ausschließlich beim Starten der App getriggert wird. Auch wenn sap.n.Shell.attachInit
ein Äquivalent zu sap.ui.getCore().attachInit
ist, ist es zwingend notwendig weiterhin sap.ui.getCore().attachInit
zu verwenden, um die Kompatibilität zu älteren Neptune Versionen zu gewährleisten.
Notifications
Das Launchpad unterstützt mit UXP 4.0 browserbasierte Desktop Notifications. Dieses Feature funktioniert jedoch nicht in Browsern von Microsoft. Die Entscheidung, ob Desktop Benachrichtigungen angezeigt werden sollen oder nicht liegt beim Benutzer. Dieser kann zudem selbst entscheiden, in welchem Intervall auf Neuigkeiten geprüft werden soll. Um Notifications zu erhalten ist es notwendig, dass die Notification Client App (NEPTUNE/NOTIF_CLIENT
) installiert ist.
Dialogapps
Neben Split View und Notifications können Apps jetzt auch als Pop-Up gestartet werden. Dies kann beispielsweise für die Anzeige von PDFs von Vorteil sein, die mit der neuen PDF Viewer Core App (ZUI_NAD_CORE_PDF_VIEWER
) dargestellt werden. Diese ist im App Store erhältlich und soll kontinuierlich verbessert werden.
Haben Sie die neue Version bereits in Verwendung oder überlegen darauf zu updaten? Welche der Neuerungen bietet Ihner Meinung nach den größten Mehrwert? In den Kommentaren freue ich mich auf Ihre Meinung zu den neuen Features.