2012-02-20 75 views
23

He estado escribiendo aplicaciones de iOS desde hace un tiempo y poco a poco fui pasando de la interfaz de usuario totalmente por programación a utilizar el Constructor de Interfaz de forma intensiva. Ahora estoy pensando en usar la nueva función Storyboard para algunos de mis nuevos proyectos, pero no tengo suficiente experiencia o conocimiento para calcular las ventajas y desventajas de hacerlo. ¿Alguien puede dar algunos ejemplos o información sobre cuándo se paga el Storyboarding y cuándo fue una pérdida de tiempo?Ventajas y desventajas de usar Storyboarding?

Respuesta

22

Ventajas de Storyboard

  • Es fresco - manera suave para diseñar interfaces de
  • El uso de StoryBoardSegues para identificar las relaciones de navegación/modales
  • Si su aplicación es compatible con múltiples dispositivos, buena manera de organizar diferentes vistas (por el archivo del guión gráfico en lugar de nombrar, etc.)
  • Agradable para el prototipado
  • Prototipo UITableViewCell puede ahorrar tiempo

desventajas de Storyboard

  • Es una característica de tiempo de ejecución, por lo que creo que sólo está disponible en IOS 5
  • StoryBoardSegues son un poco rígido en mi experiencia y es posible que hacer uso de prepareForSegue mucho
  • Me gusta IB, no muy amigable con otros motores de pantalla y juegos de herramientas
  • Lo hace Es difícil compartir diseños para una sola vista o conjunto de vistas. Debe enviar todo o nada

Estos parecen algo superficiales, supongo que no lo he pensado mucho ... Al principio me encantaron -hoy sobre story boards, pero ahora he vuelto a IB o incluso a la configuración de vista programática ... Cuanto más los uso, menos me gustan, y más se sienten como un truco/pérdida de tiempo.

Editar

escribí esta respuesta hace unos años. Lo dejé igual que antes para la posteridad, aunque algunos puntos ya no son relevantes (es decir, el hecho de que requiere iOS 5+).

Después de un tiempo, mi opinión no ha cambiado en los guiones gráficos. Como han mencionado otros, están bien si trabajas solo en una aplicación con pocas vistas para administrar, pero se convierten en un verdadero dolor con el control de código fuente & colaboración. Además, prefiero one-file-one-object, y los storyboards obviamente combinan cosas (como lo hace IB, pero en menor medida).

Si estuviera escribiendo una aplicación destinada a mantenerse durante un período de tiempo prolongado, iría con la configuración de vista programática sobre IB, pero definitivamente IB sobre guiones gráficos.

+0

++ Genial !! Gracias por compartir esto con nosotros – swiftBoy

2

Tengo un trasfondo similar a ti. Empecé construyendo principalmente mi IU de iOS mediante programación porque IB no era muy fácil de usar, pero últimamente decidí usar IB más y más, ya que es mejor para diseñar la IU y funciona bien para elementos estándar.

Con el nuevo Xcode he cambiado a Storyboard, ya que proporcionan una vista completa de la aplicación. Es posible generar la interfaz de usuario completa (con todas las vistas) en un único archivo, que se puede usar para crear prototipos y que puedo ver a mis colegas antes de escribir la primera línea de código. Es mucho mejor y más fácil que diseñar con photoshop o herramientas similares.

Sin embargo, si usa muchos de sus propios elementos/controles UI o algo utilizando un "motor" diferente (cocos2d, OpenGL, etc.), generalmente es mejor generar la UI programáticamente, ya que estos "motores" no realmente integrado con IB/Storyboards.

4

Otra desventaja con Storyboarding no mencionado es que las fusiones pueden ser muy difíciles si no imposibles si hay conflictos.

Actualización: También se me ocurrió que pone la lógica en dos lugares. Si su segue no está haciendo lo correcto, podría ser debido a un error en prepareForSegue o podría deberse a que usted nombró a su segue incorrectamente. Hacer las cosas programáticamente es, al final, no tan difícil.

4

En la última WWDC (2013) Apple Devs recomienda encarecidamente usar storyboard y material IB para hacer la mayor parte de tu código en lugar de escribirlo a mano porque es mucho más probable que evites la desaprobación y aproveches la función actualizaciones a través de conversiones automatizadas.

La única desventaja es la dificultad para permitir la colaboración de git en guiones gráficos, ya que habrá conflictos en prácticamente cada compromiso.

Si es un programador en solitario, siempre debe utilizar guiones gráficos.

2

He aprendido el storyboard siguiendo los tutoriales del sitio web de raywenderlich y hay muchas cosas sobre el guión gráfico.

Aquí está el enlace a un sitio: http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

Ventajas de guión gráfico:

1) Antes de empezar a desarrollar aplicaciones se puede ver todas las pantallas de la aplicación.

2) Puede ver visualmente la relación entre cada pantalla.

3) Puede ayudar a reducir la cantidad del código especialmente en el caso de UITableView puede usar celdas prototipo y células estáticas para diseñar su TableView en el guión gráfico.

4) En caso de que tenga que trabajar en otro código, puede obtener una mejor comprensión del flujo de la aplicación visualizando el guión gráfico en poco tiempo.

5) Puede configurar la interfaz de usuario para iPhone 4 y iPhone 5 aplicando el factor de forma retina del guión gráfico, sin ejecutar la aplicación una y otra vez.

6) Si está haciendo un trabajo basado en el cliente entonces algunos clientes quieren ver el prototipo de la aplicación antes de comenzar a desarrollarla, aquí el guión gráfico lo ayuda mucho.

desventajas de guión gráfico:

1) Para guión gráfico que va a necesitar una pantalla grande, especialmente en el caso de IPAD.

2) También experimento una dificultad al copiar vistas de otras aplicaciones en el guión gráfico.

3) También experimento problemas en el guión gráfico cuando varios desarrolladores trabajan en el mismo proyecto usando el repositorio de git.

Al leer y comprender las ventajas y desventajas, puede juzgarse a sí mismo cuando utilice el guión gráfico.

0

una palabra (NO) Uno de los mayores inconvenientes de guión gráfico aparte de los conflictos git que hacen que sea imposible que dos o más personas para trabajar en él. pero también si el proyecto fue tan grande y tienes más de 40 pantallas, si tienes suficiente locura como para mover cualquier cosa de un píxel en cualquier controlador de vista que tengas en el guión gráfico, tendrás una gran cantidad de tiempo de compilación, que puedes construir aplicación y que se ejecute en más de 5 minutos, y por supuesto no me dejes comenzar con el archivo para dar un ad hoc de la aplicación.

después de esta dolorosa experiencia Me volví totalmente a los archivos xib oldy goldy y borré el archivo del guión gráfico en una gran celeberación de fuego.

Cuestiones relacionadas