Vor-und Nachteile der Verwendung von storyboards
Ich bin Planung zu lernen, zum entwickeln von Anwendungen mithilfe von Story-Boards. Kann jemand bitte post einige vor-und Nachteile, während Sie mit StoryBoards?
- Im Gegensatz zu was?
- Was ich gemeint habe zu Fragen war, ob seine wirklich notwendig ist, verwenden Sie Story-Boards oder gibt es irgendwelche Nachteile bei der Verwendung dieses..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wann Storyboard und Wann XIBs
Was sind die Vorteile der Verwendung von Storyboards statt xib-Dateien in die iOS Programmierung?
iphone-sdk-Entwicklung
Ich denke, diese links sind hilfreich und in Bezug auf Ihre Frage. Ich persönlich glaube storyboards sind besser als Federn, da Sie die Notwendigkeit beseitigen, den Quelltext übergänge zwischen den Ansichten (es sei denn, Sie verwenden benutzerdefinierte übergang mit CA), und Sie haben alle die Fähigkeiten der nib Dateien zu.
Hoffe, dass dies geholfen.
-----------BEARBEITEN-----------
Hier sind einige weitere links, die ich gefunden habe:
Diesem spricht man über einige der Nachteile der Verwendung von storyboards.
UIStoryboard auf iOS 5: die Guten, Die Schlechten und die "Schlichten Saugt'
Dieser ist meist über die Vorteile.
Was sind die Vorteile von iOS 5.0 storyboarding über die traditionellen UI-layout?
Ist es meist Nachteile. Nicht verwenden Storyboards. Hier ist eine Liste der Probleme, kopiert aus iraycd:
Storyboards, tritt zur Laufzeit, nicht zur compile-Zeit: Sie haben einen Tippfehler in einem segue Namen oder angeschlossen falsch in Ihrem storyboard? Es wird explodieren, zur Laufzeit. Sie verwenden eine benutzerdefinierte UIViewController-Unterklasse, die nicht mehr existieren in Ihrem storyboard? Es wird explodieren, zur Laufzeit. Wenn Sie solche Dinge im code, Sie werden zu fangen Sie früh auf, während der Kompilierung. Update: Mein neues tool StoryboardLint meist löst dieses problem.
Storyboards verwirrend schnell: Wie Ihr Projekt wächst, das storyboard wird immer schwieriger zu navigieren. Auch wenn mehrere view-Controller haben mehrere leitet über zu mehreren anderen view-Controller, das storyboard schnell beginnt zu schauen, wie eine Schüssel spaghetti, und Sie finden sich ein-und Auszoomen und scrollen Sie ganz über dem Platz zu finden, der view-controller, die Sie suchen, und um herauszufinden, was segue Punkte wo. Update: Dieses problem kann meistens gelöst werden, indem Sie das Storyboard in mehreren Storyboards, wie beschrieben in dieser Artikel von Pilky und dieser Artikel von Robert Brown.
Storyboards machen, im team arbeiten härter: Weil Sie in der Regel nur eine große storyboard-Datei für Ihr Projekt, dass mehrere Entwickler regelmäßig änderungen an einer Datei können Kopfschmerzen: Änderungen müssen zusammengeführt werden und Konflikte gelöst werden. Wenn ein Konflikt Auftritt, ist es schwer zu sagen, wie es zu lösen: Xcode erzeugt das storyboard XML-Datei, und es war nicht wirklich entwickelt, mit dem Ziel im Hinterkopf, dass ein Mensch Lesen, geschweige denn Bearbeiten.
Storyboards machen Sie code-reviews schwer oder fast unmöglich: Peer-code-reviews sind eine tolle Sache zu tun, die auf Ihrem team. Allerdings, wenn Sie änderungen an einem storyboard, es ist fast unmöglich zu überprüfen, diese änderungen mit einem anderen Entwickler. Alles, was Sie können pull-up ist ein diff von einer riesigen XML-Datei. Zu entziffern, was wirklich verändert und ob diese änderungen korrekt sind, oder wenn Sie pleite ist wirklich etwas hart.
Storyboards behindern die Wiederverwendung von code: In meinem iOS-Projekte, die ich in der Regel erstellen Sie eine Klasse, die enthält alle Farben und Schriftarten und Ränder und Abstände, die ich verwenden in der gesamten app, um ihm einen einheitlichen look und das Gefühl: Es ist eine Zeile ändern, wenn ich passen Sie diese Werte für die gesamte app. Wenn Sie diese Werte in das storyboard, das Sie duplizieren Sie Sie und finden müssen, um jedes einzelne vorkommen, wenn Sie Sie ändern wollen. Die Chancen sind hoch, dass Sie eine vermissen, denn es gibt kein suchen und ersetzen in storyboards.
Storyboards machen, Sie tun alles zweimal: bauen Sie eine universal-app läuft sowohl auf dem iPad und auf dem iPhone? Wenn Sie die Verwendung von storyboards, Sie haben in der Regel ein storyboard für die iPad-version und eine für die iPhone-version. Halten beide im sync setzt Voraus, dass jedes UI-oder app-workflow ändern an zwei stellen. Yay. Update: In iOS 8 und Xcode 6, können Sie ein einzelnes Storyboard für iPhone und iPad.
Storyboards erfordern ständige Kontextwechsel: ich finde mich arbeiten, und navigieren Sie viel schneller im code als in storyboards. Wenn Ihre app mithilfe von storyboards, Sie schalten ständig Ihre Kontext: "Oh, ich will Tippen Sie auf die Tabellenansicht Zelle zu laden, einen anderen view-controller. Ich habe jetzt öffnen Sie das storyboard, finden Sie den richtigen view-controller, erstellen Sie eine neue überleitung zu den anderen view-controller (dass ich auch zu finden), geben die segue einen Namen, denken Sie daran, dass Namen (ich kann nicht mit Konstanten oder Variablen in storyboards), wechseln Sie zurück zum code und hoffe, dass ich nicht falsch den Namen, dass segue für meine prepareForSegue-Methode. Wie ich wünschte, ich könnte einfach diese 3 Zeilen code direkt hier, wo ich bin!" Nein, es ist nicht Spaß. Umschalten zwischen code-und storyboard (und zwischen Tastatur und Maus) wird schnell alt und Sie verlangsamt.
Storyboards sind schwer zu umgestalten: Wenn Sie umgestalten von code, die Sie haben, um sicherzustellen, dass es immer noch dem entspricht, was Ihr storyboard erwartet. Wenn Sie Dinge bewegen, in Ihr storyboard wird, finden Sie nur zur Laufzeit, ob es noch funktioniert mit deinem code. Es fühlt sich für mich an als wenn ich ständig zwei Welten zu synchronisieren. Es fühlt sich spröde und rät von einer änderung in meiner bescheidenen Meinung nach.
Storyboards sind nicht suchbar: Ein Projekt-weites suchen in Xcode ist nicht wirklich ein Projekt-weites suchen, wenn Sie die Verwendung von storyboards. Sie sind nicht in die Suche einbezogen. Also, wenn Sie entfernen einer benutzerdefinierten Klasse aus Ihrem code oder umbenennen, müssen Sie manuell gehen durch das storyboard oder betrachten Sie die XML-Rohdaten, um sicherzustellen, es ist auf Augenhöhe mit Ihren code-änderungen. Nein, sir, ich mag es nicht. Update: Storyboards sind suchbar in Xcode 6.
Storyboards sind weniger flexibel: In code, können Sie im Grunde tun, was Sie wollen! Mit storyboards, Sie sind beschränkt auf eine Teilmenge von dem, was Sie tun können, in code. Vor allem, wenn Sie wollen, um einige fortgeschrittene Dinge mit Animationen und übergänge, die Sie sich selbst zu finden "fighting the storyboard", um es zu arbeiten.
Storyboards können Sie nicht ändern Sie den Typ der speziellen view-Controller: Sie ändern möchten
UITableViewController
in eineUICollectionViewController
? Oder in einem einfachenUIViewController
? Nicht möglich in einem Storyboard. Löschen Sie die alte view-controller und eine neue erstellen und wieder herstellen all das leitet über. Es ist viel einfacher zu tun, wie eine änderung im code.Storyboards fügen Sie zwei zusätzliche Verbindlichkeiten zu Ihrem Projekt: (1) Das Storyboard-Editor-tool, das generiert die XML storyboard und (2) die runtime-Komponente, die analysiert den XML-Code und erstellt UI und controller-Objekte aus. Beide Teile können Fehler haben, die Sie nicht lösen können.
Storyboards erlauben nicht, dass Sie hinzufügen eine Untersicht auf eine
UIImageView
: Wer weiß, warum.Storyboards erlauben nicht, dass Sie zum aktivieren der Auto-Layout für die einzelnen Anzeigen(-Controller)s: Durch aktivieren/deaktivieren der Auto-Layout-option in einem Storyboard, die änderung angewendet wird, um ALLE Controller im Storyboard. (Dank an Sava Mazăre für diesen Punkt!)
Storyboards haben ein höheres Risiko zu brechen Abwärtskompatibilität: Xcode ändert sich manchmal die Storyboard-Datei-format und garantiert nicht in irgendeiner Weise, dass Sie in der Lage sein, Storyboard-Dateien, die Sie erstellen heute ein paar Jahre oder sogar Monate ab jetzt. (Dank an thoughtadvances für diesen Punkt. Sehen Sie den ursprünglichen Kommentar)
Es McDonald 's: Zu sagen, dass es in Steve Jobs' Worte über Microsoft: Es ist McDonald ' s (video)!