Wann die Verwendung von Shell, App, Container, Page, View und SplitApp in SAPUI5

7

Vor kurzem habe ich zwei SAPUI5-Anwendungen mit Shell- & gt; Ansichten und appContainer- & gt; Ansichten erstellt. Beide Ergebnisse in der gleichen Ausgabe. Ich bin verwirrt, wenn ich Shell und App, Container, Page, View und SplitApp in SAPUI5 verwende. Ich möchte die Unterschiede zwischen Shell, App, Container, Page, View und SplitApp in SAPUI5 kennen. Bitte beschreiben Sie auch die Best Practices der Verwendung der oben genannten Behälter aus Ihren Erfahrungen. Diagramatic Erklärung würde viel im Verständnis helfen.

    
Nataraj 17.07.2015, 07:26
quelle

1 Antwort

29

Sie haben recht, es gibt viele Container-Steuerelemente, und das kann verwirrend sein. Lassen Sie mich einen kurzen Überblick geben:

sap.m.Shell

Die Shell, hier keine Überraschung, ist ein übergeordneter Container, den Sie für Ansichten verwenden können. Im Gegensatz zu anderen Containern können Sie damit die App-Breite für große Geräte begrenzen. Wenn Sie dies für Ihre Anwendung erreichen möchten, ist dies Ihre Kontrolle. Dies ist ein Beispiel:

sap.ui.unified.Shell

Die vereinheitlichte Shell fungiert als übergeordnetes übergeordnetes Steuerelement mit einem optionalen sekundären Inhalt auf der linken Seite, eingebauten Suchfunktionen oben und vielen anderen Dingen. Die vereinheitlichte Shell sieht folgendermaßen aus:

sap.m.App | sap.m.SplitApp

Sowohl die Datei sap.m.App als auch die Datei sap.m.SplitApp sind wahrscheinlich die am häufigsten verwendeten übergeordneten Steuerelemente. In der Tat sollte einer von ihnen immer Teil Ihrer mobilen Anwendung sein, da sie einige HTML-Änderungen vornehmen, um das Erlebnis auf mobilen Geräten zu verbessern (siehe jQuery.sap.initMobile für Details). Natürlich können sie ein Kind jeder Shell sein. Außerdem sind sie wichtig, da sie einen sap.m.NavContainer erweitern und daher Navigationsmöglichkeiten bieten. Zum Beispiel hat die sap.m.App eine pages -Aggregation. Wenn Sie to aufrufen, können Sie einfach von einer Seite zur anderen navigieren (sobald Sie das Routing verwenden, wird dies vom Router erledigt). Die sap.m.SplitApp enthält zwei NavContainer. Eine für den Masterbereich und eine für den Detailbereich. Darüber hinaus können Sie einen Hintergrund für Ihre Anwendung verwalten.

sap.m.SplitContainer

Wenn wir von Containern sprechen, sollte man den sap.m.SplitContainer erwähnen. Im Grunde bietet es die gleichen Fähigkeiten wie die sap.m.SplitApp, aber da Sie nur eine App (sap.m.App oder sap.m.SplitApp) in Ihrer Anwendung haben sollten, können Sie dieses Steuerelement verwenden, wenn Sie einen Master starten möchten / Detailansicht, wenn Sie in Ihrer Anwendung tiefer navigieren.

sap.ui.core.mvc.View

Die Ansicht (und alle ihre Untertypen wie JSView, XMLView, HTMLView) spiegeln eine einfache Seite oder einen Bereich einer Seite wider. Im Gegensatz zu allen anderen Containern kann eine Ansicht einem Controller zugeordnet sein und Sie können den View / Controller-Teil von MVC implementieren.

sap.ui.core.Fragment

Fragmente sind leichte Varianten einer Ansicht. Sie werden wie Ansichten verwendet und verhalten sich ähnlich, haben jedoch standardmäßig keinen Controller. Sie können jedoch bei Bedarf einfache Objekte mit Funktionen als Controller-Ersatz verwenden. Fragmente können verwendet werden, wenn ein bestimmter Teil der Benutzeroberfläche in eine andere Datei ausgelagert werden soll (und möglicherweise mehrmals wiederverwendet werden kann).

Beispiele

In Bezug auf eine Architektur Ihrer Anwendung hängt es davon ab, was Sie anzeigen möchten (begrenzte App-Breite, Master / Detail, ...). Fast jede Kombination ist möglich, aber ich denke, es ist immer noch die beste Vorgehensweise, nur ein App-Objekt pro Anwendung zu haben. Wenn Sie keine Funktion für eine der Shells benötigen, können Sie sie einfach weglassen und Ihr App-Objekt zum Container der obersten Ebene machen. Einige Beispiele für eine Architektur könnten so aussehen:

SplitApp oder SplitContainer in einer sap.m.Shell

%Vor%

SplitApp oder SplitContainer ohne Shell

%Vor%

sap.m.App in einer sap.m.Shell

%Vor%

sap.m.App ohne Shell

%Vor%

    
Tim Gerlach 17.07.2015 10:33
quelle

Tags und Links