Si bien no lo recomiendo directamente, el último proyecto de trabajo en el que trabajé con un equipo de ~ 8 otros desarrolladores de iOS tenía una IU 100% construida mediante programación. Una gran parte de la interfaz de usuario se construyó mediante programación antes de llegar allí, y después de unirme, continué construyendo la interfaz de usuario de la misma manera para desafiarme y aprender cosas nuevas. La aplicación tenía al menos una docena de pantallas, con algunas vistas y comportamientos bastante complejos. Sin duda, tomó más tiempo construir que una interfaz de usuario con Storyboards y Nibs. La ventaja de este enfoque fue que todos nos familiarizamos bastante con los caprichos y las trampas de NSLayoutConstraint y el uso del diseño automático mediante programación. Mirando hacia atrás, no estoy seguro de cómo podríamos haber construido algunas de las vistas usando NIBS. Sin mencionar que compartir Storyboards y NIBS en un equipo con múltiples desarrolladores puede generar conflictos de versiones y otros problemas.
El último proyecto de trabajo en el que estoy trabajando es un juego y utiliza bastantes vistas basadas en IB. IB tiene su propio conjunto de trucos, pero en mi opinión, en muchos casos puede ser drásticamente más rápido usar IB que el enfoque programático. Por supuesto, la declaración anterior tiene advertencias que he mencionado anteriormente: conflictos de versiones, complejidad de las vistas, etc.
El IB frente a la IU programática es un tema polémico, y hay talleres de desarrollo que tienen una reacción visceral si mencionas las IU programáticas. Esas personas harían bien en recordar que no están curando el cáncer aquí, en la mayoría de los casos, y no deberían tomarse tan en serio.
- ¿Es una buena idea actualizar a iOS 11?
- ¿Por qué el iPhone no tiene widgets como los teléfonos Android?
- ¿Cómo aprueba Apple las aplicaciones sociales de iOS que requieren usuarios antes de que el producto funcione?
- Dado un período de tiempo de 10-20 años, ¿qué podemos ver o esperar en el avance de Android e iOS?
- ¿Android o iOS durarán más en cuanto al desarrollo?
El resultado final: use cualquier enfoque con el que sea más eficiente . Aprenda todos ellos, porque conocerlos todos lo beneficiará, independientemente del enfoque que utilice en su proyecto actual, porque escuchar una variedad de formas de describir algo beneficiará su comprensión del tema.