¿Cuál es la forma más eficiente? StoryBoard o XIB?

Mi pregunta es ligeramente diferente, entonces mi título sugiere. He trabajado con xib. Ahora estoy tratando de trabajar con storyboard. Mi pregunta es si estamos navegando por una class de otra class, es StoryBoard dando beneficio para una mejor gestión de la memory. Supongamos que tenemos 2 ViewControllers: ViewControllerA y ViewControllerB. Estamos intentando pasar por ViewControllerA -> ViewControllerB. Ahora, en Xib nuestro enfoque está a continuación;

ViewControllerB *VCB = [ [ViewControllerB alloc] init]; [self.navigationController pushViewController: VCB Animated: YES]; 

Dónde en Story Board,

 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"Second"]) { SecondViewController *objSecond = (SecondViewController*)[segue destinationViewController]; } } 

Y hacer,

 [self performSegueWithIdentifier:@"Second" sender:self]; 

Entonces, mi pregunta es que asignemos nuestra class en Xib, donde en storyBoard no estamos. Entonces, ¿hay alguna ventaja de asignación de memory en el guión gráfico?

No es decir cuál es el mejor. porque cuál es bueno decir según el requisito del equipo.

Si es un desarrollador individual, es bueno usar storyboard porque consume less time. Si el equipo consta de muchos desarrolladores, use xib, de lo contrario, no es fácil fusionar los modules / tareas.

xcode-using-storyboards-and-xibs-versus-creating-views-programmatically

Usando XIBs

Ventajas:

  • Puede crear rápidamente una interfaz de usuario

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

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

  • Excelente para diseñar elementos y detectar visualmente desajustes. Es fácil hacer un pequeño ajuste del layout.

Desventajas:

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

  • Las vistas altamente dinámicas son imposibles de describir como un XIB

  • En cuanto al performance, es más lento que crear vistas a través del código porque el xib debe leerse del disco y analizarse / analizarse

  • Los XIB carecen de personalizaciones que puede hacer en el código como material de cuarzo (sombras sueltas, esquinas networkingondeadas)

  • Más difícil de depurar (es decir, si se le olvida hacer una connection en Interface Builder o hacer una connection incorrecta)

Guiones charts

Ventajas:

  • Los storyboards son buenos para las aplicaciones con una pequeña o mediana cantidad de pantallas y los requisitos para la navigation son relativamente sencillos entre las vistas

  • Puede simular el flujo de una aplicación sin escribir mucho, si es que hay alguno, código

Desventajas:

  • Los storyboards no son compatibles con pre-iOS 5, por lo que hace que admitir iOS 4.3 sea imposible.

  • Es difícil trabajar en paralelo en un entorno de equipo porque todos están modificando el mismo file

  • En la misma línea, fusionar storyboards en conflicto en GIT será un dolor

  • Las personas han experimentado errores en Xcode con el uso de storyboards (por ejemplo, tener que eliminar frecuentemente la carpeta DerivedData debido a inconsistencias)

Mi punto de vista es que un desarrollador profesional MUST use xibs , pero un aficionado, nuevo en la progtwigción, el desarrollador podría MUST use xibs si usa storyboard.

Guión gráfico

Después de un proyecto de 3 años con un solo storyboard, puedo contar lot of disadvantages :

1) Realmente REALMENTE se vuelve MUY lento para build, incluso para un pensamiento muy muy pequeño (cada vista debe ser reconstruida). También es muy difícil editar incluso con un iMac con memory RAM de 8 o 16 GB si el Storyboard se hace más grande. Incluso es difícil abrirlo.

2) Sin reutilización. No hay forma de que pueda importar inmediatamente un View / ViewController con su vista a otro proyecto. Se conectará con otros ViewControllers, Views o Segues y eso hará que sea como un gran "no toques".

3) hay tanto retardo cuando el proyecto se hace más grande incluso para que se agregue o edite la restricción de layout más pequeña, que nunca quiere tocarlo.

4) Si usa las celdas mediante la adición automática de la celda del guión gráfico, no puede usar la misma celda en dos puntos.

Ventaja:

1) Celdas automáticas (pero esto también es una desventaja porque una celda no puede volverse a usar como en otra vista)

2) Segues, etc, facilitaría que alguien entendiera con un solo punto de vista lo que está sucediendo.

Xibs:

1) totalmente portátil.

2) Abrir / Editar / Construir TANTO MUCHO MUCHO más rápido que un storyboard que se hace más grande

conclusión:

Si usted es un desarrollador aficionado que hará una aplicación para su negocio por diversión, debe usar storyboard porque será más fácil de entender las cosas. PERO, si usted es un desarrollador profesional, DEBE usar xibs para VCs, Celdas, etc., ya que esta es la única manera de hacerlos realmente reutilizables y portátiles, para ganar tanto time para el próximo proyecto, o incluso cuando tenga que haz un pequeño cambio o construye el guión gráfico de nuevo.

Explicación de por qué las xibs son más "reutilizables y portátiles" para mí: las cosas en la progtwigción deben mantenerse en diferentes models, files, entidades, modules. Uno debe ser lo less dependiente de otra cosa que pueda get

Comparando XIB y storyBoard, StoryBoard es rápido.

Pero en realidad es rápido, todo el proyecto se realiza de manera programática.

En el guión gráfico cuando comstackmos todos los storyboards, se archiva en un file. y unArchive luego ejecute la aplicación. Pero, en progtwigción, las classs se asignan solo en el time de ejecución.

El tablero de historia es altamente recomendado por los ingenieros de Apple ahora y es muy recomendable que cada cosa sea central y que el comstackdor administre la memory. Sin embargo, en algunos casos, el diseñador solicita un controller y no tiene problemas. pero el storyboard se recomienda y es fácil de entender, ver parte de MVC

Usar Storyboard sería una mejor opción en lo que respecta a la utilización de la memory, aunque los storyboards tienen otras ventajas también sobre los files xib, Apple también recomienda utilizar storyboard sobre files xib.