Storyboard VS .xib VS programación

Storyboard VS .xib VS programación

Sí, a estas alturas de la vida todavía hay gente que se pregunta cuál es el mejor camino para crear la interfaz de usuario en sus aplicaciones: Storyboard VS .xib VS programación

Pues en este articulo te voy a poner las cosas claras.

Muy claritas, luego será decisión tuya elegir una cosa u otra.

Hay 3 formas de crear nuestras interfaces:

  1. Programáticamente ( sí, ya sé que esta palabra no existe, es mi traducción libre de programmatically )
  2. Archivos .xib
  3. Storyboards

En el primer caso, pues es programando una Window, después una View, todo esto dentro de un ViewController, y a partir de ahí tirar como «un autentico macho cabrio» creando todo por código. Sin duda esta opción es solamente valida si tienes un «jefe cabrón» que quiere hacerte la vida imposible, y cómo es el que te paga, pues no te quedará más remedio que crear toda tu interfaz con código.

Particularmente no comulgo con esta opción salvo casos muy puntuales, por lo demás me parece una forma descarada de tocar las narices, o peor aún, de demostrar un falso conocimiento de lo que es desarrollar Apps.

La segunda opción es cómo se trabajaba hace unos 4 años, es la opción que más se usa en entornos profesionales/empresariales, pues los archivos .xib tienen mejor rendimiento y dan menos problemas con repositorios remotos tipo Github o BitBucket, es decir: es una buena opción para entornos colaborativos y/o aplicaciones «mega-monstruos» que ya tienen implementada esta tecnología; su uso es muy parecido a trabajar con Storyboard, con al menos una diferencia importante: la forma en cómo vas a llamar a tus vistas por código.

La tercera opción es la que Apple quiere que usemos, Apple quiere que dejemos a un lado los archivos .xib, de hecho hace ya algunas versiones de Xcode, que ya ni te permite empezar con una plantilla vacía para a partir de ahí crear tu App con archivos .xib.

Mi opinión es que sepas trabajar con archivos .xib y con Storyboards, y para un uso personal optaría por Storyboards, ahora, también tengo clientes que quieren que su App se haga con archivos .xib, pues nada, sin problema, pero ya te digo, para mis proyectos personales a día de hoy uso Storyboard.

En realidad un archivo .xib y el Storyboard es una representación gráfica de un xml, por lo que son el mismo perro con distinto collar.

Por lo tanto, ahora estás dentro, eres un iOS Developer, o estás intentado serlo, ya no vale lo que dice la gente, ahora cuenta lo que dices tú, y eres tú el que tiene que elegir una forma de trabajar u otra (usa la manera con la que te sientas más cómodo) no hay penalización en rendimiento por usar Storyboard, tampoco vas a tener más o menos problemas por trabajar de una forma u otra.

Un último apunte, si trabajas con archivos .xib tendrás un archivo de este tipo por cada clase, es decir, una vista por cada clase, si trabajas con Storyboard tendrás un lienzo dónde estarán todas las vistas de tus clases reunidas en un sólo lugar.

Espero haberte aclarado un poco el panorama 😉

Si tienes alguna duda, o quieres decirme algo, déjame un comentario.

About The Author
iOS Developer & Instructor at CFE Apps. Enseño a crear aplicaciones iOS a todo el que quiera aprender.

6 Comments

  • Luis Raúl 02/02/2016 @ 17:24

    Vengo del mundo de Windows y me gustaría insertarme en la programación en iOS.

    • Sergio Becerril 05/02/2016 @ 10:54

      Hola Luis Raúl,
      Encantado de saludarte, ¡es genial que quieras empezar a desarrollar en iOS!

      Te ánimo a que visites mi Web y puedas empezar por alguna de mis cursos gratuitos:

      http://www.online.cfeapps.com

      Un abrazo.
      Sergio Becerril

  • Jesús 07/04/2016 @ 15:02

    Hola Sergio,

    Primero felicitarte por tu articulo y todo lo que haces.

    Si tengo un comentario/duda al respecto y es que trabajar con Storyboard al 100% veo el problema de reutilización, ejemplo una UITableViewCell; si ya tienes diseñada una Cell y quieres usarla dentro de otra tabla dentro de otros Controller la única forma que veo es copiar todos los componentes y pegarlos dentro de la nueva cell, por lo que en un futuro si necesitas cambiar algo, lo vas a tener que hacer en los dos sitios.

    Navegando por internet he estado mirando posibles soluciones para esto, pero no veo otra forma que implementar la cell con un XIB o 100% con programación. ¿Conoces otras posibilidades de reutilización de componentes con Storyboard?

    Gracias y un saludo.

    • Sergio Becerril 16/04/2016 @ 13:01

      Hola Jesús,

      Gracias por tus palabras, por visitar mi Blog y por comentar 😉

      El Storyboard es un archivo XML, y como tal, puedes abrirlo de esta forma, si haces clic con el botón derecho sobre el Storyboard y haces clic en Open As –> Source Code, ahí vas a poder ver el código XML, y lo puedes copiar y pegar en un nuevo Storyboard.

      Espero haberte ayudado.

      Un abrazo.
      Sergio Becerril

  • nena 15/05/2016 @ 13:32

    Hola darle gracias porque aqui muchas perdonas podemos tener posibilidades de emprender un mejor futuro. Aprender sobre los archivos xib. Y saber sobre storyboard

    • Sergio Becerril 15/05/2016 @ 18:13

      Hola!

      Pues muchísimas gracias, para mí es un placer iniciar y ayudar a personas a que puedan crear aplicaciones y quién sabe, quizá obtener ingresos con su venta 😉

      Gracias por visitar el blog y por comentar 🙂

      Un abrazo.
      Sergio Becerril

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.