poco de antecedentes:
Mi equipo de cinco personas, cuatro desarrolladores y control de calidad, acaba de terminar un proyecto bastante grande (50k + líneas de código) que utiliza cantidades significativas de Storyboard. Tenemos al menos 10 guiones gráficos diferentes, muchos de los cuales tienen una profundidad de 5 o 6 niveles en una estructura de navegación.
Además, dependemos en gran medida del control de versiones a través de Perforce, con docenas de check-ins al día.
Mis Experiencias:
Ni una sola vez he tenido que pensar en el manejo de una determinación con cualquiera de nuestros guiones gráficos. Se manejan extremadamente bien con el control de versiones por dos razones principales. En primer lugar, si abre uno, verá que es un XML bien estructurado que funciona muy bien con el control de versiones. En segundo lugar, con los guiones gráficos siempre desea diseñar su estructura de interfaz de usuario completa antes de agregar cualquier detalle o código (ese es el punto). Esto se presta muy bien a una solución de codificación de equipo, simplemente porque cada miembro puede tomar un ViewController individual e implementarlo, permaneciendo aislado del resto de los esfuerzos del equipo.
Sin embargo, recomendaría hacer algunos 'sharding' porque fácilmente puede obtener un nido de conexiones de ratas gigantes.
Por último:
Si se mira alrededor en línea un poco, encontrará muchas respuestas negativas a la creación de guiones gráficos, ya que puede conseguir 'sucio' para pasar los datos a lo largo de una vista a otra. Sin embargo, si te metes en esta situación, ya has violado los principios básicos de MVC. No debe usar sus vistas para almacenar y administrar datos. Es tentador y fácil al principio, pero finalmente te meterá en problemas a medida que tu proyecto vaya más allá de lo básico.
Excelente respuesta, SethHB - muchas gracias! ... (¿A alguien más le importa compartir sus experiencias con Storyboarding?) – rondoagogo
@SethHB: Buen consejo, gracias por compartir. Pequeña pregunta: ¿qué quieres decir con 'sharding'? –
@rsanchezsaez Sharding fue en referencia a la pregunta original. Básicamente, significa dividir su proyecto en subconjuntos de Storyboards. Cuantos más Storyboards tengas, más fácil será gestionarlos; pero con cada panel agregado, la complejidad del proyecto aumenta. Es una compensación, y tendrás que encontrar tu propio equilibrio. – SethHB