Quelle est la différence entre un file .xib et un .storyboard?

Quelqu'un peut-il expliquer en termes simples la différence entre .xib et .storyboard?

Apple a introduit le concept de "storyboarding" dans iOS5 SDK pour simplifier et mieux gérer les écrans de votre application. Vous pouvez toujours utiliser le mode de développement .xib .

Pré-storyboard, chaque UIViewController avait un .xib associé avec lui. Storyboard réalise deux choses:

  1. .storyboard est essentiellement un seul file pour tous vos écrans dans l'application et il montre le stream des écrans. Vous pouvez append des segues / transitions entre les écrans, de cette façon. Ainsi, cela minimise le code standard requirejs pour gérer plusieurs écrans.

  2. Réduit le nombre total de files dans une application.

Vous pouvez éviter d'utiliser Storyboard lors de la création d'un nouveau projet en désactivant l'option "Utiliser Storyboard".

Vous pouvez vous référer à ce tutoriel pour commencer.

Oui, vous pouvez toujours créer une application Windows pour iOS 5. Si vous utilisez le model "projet vide", vous verrez qu'une window est créée pour vous dans le délégué de l'application. De là, vous pouvez append des files XIB normalement ou un nouveau storyboard.

Je suppose que vous voulez dire "storyboards" plutôt que "timeline". Les storyboards vous permettent de mapper, visuellement, toutes les vues de vos applications et leur interdépendance. Si vous débutez avec des storyboards, vous findez une introduction aux storyboards dans les videos de la WWDC 2011 ici . Le cours Stanford iOS 2011 sur iTunes-U est également spécifique à iOS 5 et couvre les storyboards et plus encore.

Un storyboard est comme une canvas où vous mettez tous vos files .xib. Vous n'avez plus de .xibs, vous n'avez que des View Controllers directement sur votre canevas.

storyboard est une nouvelle fonctionnalité disponible depuis la sortie de Xcode 4.2. Il offre une nouvelle façon complète pour le développeur iOS de créer et de concevoir une interface user. Avant l'introduction de Storyboard, il est particulièrement difficile pour les débutants de créer une interface de navigation (et de tabulation). Chaque interface est stockée dans un file xib distinct. En plus, vous devez écrire du code pour lier toutes les interfaces et décrire le fonctionnement de la navigation.

Avec Storyboards, tous les écrans sont stockés dans un seul file. Cela vous donne un aperçu conceptuel de la représentation visuelle de l'application et vous montre comment les écrans sont connectés. Xcode fournit un éditeur embedded pour la layout des Storyboards. Vous pouvez définir la transition (appelée segues) entre différents écrans en utilisant simplement le point et le clic. Cela ne signifie pas que vous n'avez pas besoin d'écrire du code pour l'interface user. Mais les Storyboards réduisent considérablement la quantité de code à écrire.

Source: http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/

XIB:

1) Les files Xib sont utilisés avec un seul UIView.

2) Il est très difficile d'implémenter des mises en page automatiques complexes dans xib.

3) Il utilise plus de memory par rapport au storyboard et calme lent.

4) Il est compatible depuis iOS5 et au-delà

5) Vous pouvez effectuer des localizations pour différentes langues et pays utilisant différents XIB.

6) Il est difficile d'utiliser Xib même pour prendre en charge plusieurs périphériques.

Storyboard

1) Vous pouvez mettre en page toutes vos scènes comme les controllers de vue, les controllers de navigation, les controllers TabBar, etc. dans un seul storyboard.

2) Vous pouvez facilement utiliser Auto Layout qui définit les relations mathématiques entre les éléments définissant leur position et leur taille.

3) Habituellement rapide et alloue less de memory.

4) Ce n'est pas compatible avant iOS 5.

5) Les cellules "dynamics" et "prototypes" peuvent être utilisées facilement.

6) Storyboards meilleurs à utiliser pour les applications avec un nombre moyen d'écrans.

La meilleure réponse que j'ai vu: Xib Vs Storyboard dans iOS