Cocoa (API): ¿Cuáles son los pros y los contras de usar nibs para la UI en una aplicación iOS/OS X?

Pros:

  1. Cuando haces un nib, no estás generando ningún código Objective-C (como suelen hacer otros IDEs cuando usas sus constructores de interfaces); genera un archivo XML que es fácil de usar y mantener con sólo usar IB.
  2. Es bastante preciso. A veces, se lía un poco como cuando se utiliza un programa WYSIWYG al hacer sitios web, pero eso ocurre muy raramente. Si construyes algo en IB, puedes esperar que se vea así cuando lo ejecutes en un dispositivo real.
  3. Se encarga de muchos de los molestos detalles que tienes que hacer cuando escribes código real para tu aplicación: Hace rects, it's puntos, y todo lo relacionado con esa área.
  4. Es intuitivo, en su mayor parte. Aparte de aprender a conectar puntos y enlazar acciones, IB es realmente intuitivo, por lo que puedes maquetar una aplicación en cuestión de minutos, y luego construir tu aplicación oficial sobre esa maqueta.

Contra:

  1. He dicho que el IB muy raramente estropea tus interfaces en un dispositivo real. Bueno, no es frecuente, pero cuando lo hace, es un trabajo bastante desagradable arreglar la interfaz; o acabas escribiendo la mayor parte en código o estropeas el propio plumín a cambio de mostrar tu interfaz correctamente. Me ha pasado un par de veces.
  2. Los objetos de la interfaz de usuario están bastante bien organizados y tiene una buena función de búsqueda para ellos, pero lleva un tiempo acostumbrarse a esa organización para encontrar tus objetos rápidamente sin tener que usar la función de búsqueda.

Editaré si recuerdo algo más.