Cuál es la principal diferencia entre el .xib y el storyboard en ios?

Ambos tienen sus propias ventajas y desventajas.

Usando XIBs

Ventajas:

-Puedes armar rápidamente una UI

-Implementación directa para aplicaciones pequeñas con un número mínimo de pantallas

-Puedes tener XIBs separados para diferentes localizaciones (es decir, idiomas o países)

-Grandioso en la disposición de elementos y en la detección visual de desalineaciones. Es fácil hacer un ligero ajuste en la disposición

Desventajas:

Es difícil fusionar conflictos cuando se trabaja en un entorno de equipo (difícil de dif, fusionar y leer)

-Las vistas muy dinámicas son imposibles de describir como un XIB

En cuanto al rendimiento, es más lento que crear vistas a través de código porque el XIB necesita ser leído desde el disco y analizado/parseado

Los XIBs carecen de las personalizaciones que puedes hacer en código como las cosas de Quartz (drop shadows, round corners)

-Difícil de depurar (ie. si te olvidas de hacer una conexión en Interface Builder o haces una conexión incorrecta)

Tarjetas de historia

Ventajas:

- Las tablas de historia son agradables para las aplicaciones con una pequeña o mediana cantidad de pantallas y los requisitos para la navegación son relativamente sencillos entre las vistas

- Puedes maquetar el flujo de una aplicación sin escribir mucho, o nada, de código

- Crea segues entre los controladores de vista y navega por ellos.

- Puedes crear el flujo de navegación completo sin escribir ni una sola línea de código

Desventajas:

- Los Storyboards no son compatibles con los sistemas anteriores a iOS 5 por lo que el soporte de iOS 4.3 imposible

- Es difícil trabajar en paralelo en un entorno de equipo porque todo el mundo está modificando el mismo archivo

- En la misma línea, la fusión de storyboards en conflicto en GIT será un dolor

- La gente ha experimentado errores en XCode con el uso de storyboards (por ejemplo, tener que vaciar con frecuencia la carpeta DerivedData debido a las inconsistencias)