Empezando un proyecto.

Para empezar un proyecto Xcode nos provee de diferentes plantillas y formas de inicio, a continuación exploraremos las mas populares.

Al dar clic al icono de Xcode nos aparecerá la siguiente ventana:

Welcome Screen

Tenemos tres opciones principales, Crear un nuevo proyecto, Clonar algún proyecto desde un repositorio Git, o abrir un proyecto existente en nuestro equipo.

Si seleccionamos la primer opción, aparecerá una pantalla similar a la siguiente:

Plantillas

Lo que vemos en la imagen son todas las posibles opciones que Xcode nos da para crear una aplicación, primero vemos la plataforma: iOS, macOS, watchOS y tvOS.

Enseguida vemos la plantilla a crear:

  1. App: La que seleccionaremos la mayoría de las veces, crea una app con una sola vista.
  2. Document App: Para aquellas apps que están basadas en la lectura de documentos, como la app de archivos.
  3. Game: Crea una app básica para juegos.
  4. Augmented Reality App: Aplicación de realidad aumentada usando ARKit.
  5. Sticker Pack App: Son las apps que tienen una colección de stickers para la app de Mensajes.

Para este tutorial seleccionaremos la primera opción, aparecerá la pantalla siguiente:

Opciones

Aquí debes de colocar algunos parámetros de configuración inicial de la aplicación, como son el nombre, el team (en caso de que ya tengas tu cuenta de desarrollador la puedes añadir en preferencias y en seguida cuentas) que es la cuenta de desarrollo, luego el identificador único de tu aplicación, este debe de ser en formato de dominio invertido, y las opciones a destacar aquí son las siguientes:

  1. Interface: Tenemos dos, la primera SwiftUI que viene por default y es el nuevo estándar de desarrollo de Apple, la otra opción es Storyboard usando UIKit.
  2. Life Cycle: Igual tenemos la opción de SwiftUI App o la opción de UIKit App Delegate que es la de siempre.
  3. Language: Aquí dependerá de la selección de Interface, si es SwiftUI, en Language siempre será Swift, pero si es Storyboard, podremos usar Objective-C.
  4. Use Core Data: Xcode crea las clases base para usar persistencia local con Core Data y el check siguiente añadirá el soporte para iCloud.
  5. Include Test: Creara los proyectos necesarios de pruebas, tanto unitarias como pruebas de interfaz gráfica automatizada.

Principales diferencias.

Ahora veamos como se ve el código base que se crea para cada opción, los cambios fuertes están en el ciclo de vida de la aplicación y podrás observarlos en la clase AppDelegate, esta es la base que se crea si seleccionamos todos los checkmark.

AppDelegate

Como podemos ver a simple vista las diferencias son enormes, prácticamente por que en la imagen de abajo, se puede ver mucho menor código, aunque esto no significa que el ciclo de vida se omita, solo que no crea el código base como en la opción de AppDelegate.

SwiftUI App

En definitiva SwiftUI nos ayuda a crear nuestras apps de manera mas rápida y entendible, aunque siempre es aconsejable tener una base solida de UIKit, entenderás muchos conceptos clave en la creación de aplicaciones, conceptos que con SwiftUI se omiten y a veces parecen inexistentes.

Algo a destacar y de agradecer es la creación del código base de persistencia, mientras que en el esquema de AppDelegate todo el código es creado en esa clase, en SwiftUI se crea una clase aparte, lo que permite mucho mas el entendimiento del código para los que recién van iniciando, esta base es creada por medio de una clase Singleton, uno de los patrones de diseño preferido por Apple y que se usan a lo largo de todas las librerías del sistema.

Persistencia

Cualquier tipo de forma que decidas usar es correcta y totalmente funcional para iniciar un proyecto, lo importante aquí a tener en cuenta es que SwiftUI solo puede usarse o es compatible desde iOS 13 y que aún le falta mucho por crecer y por que muchos devs alrededor del mundo que nos ayudan con librerías de todo tipo comiencen a migrarse hacia SwiftUI, entonces en algunos momentos podrías sentirte limitado con la información, aunque ya hay bastante para el tiempo que lleva en el mercado, por otro lado UIKit ha estado con nosotros desde hace ya un tiempo y habra mas soporte e información disponible por usar, sea cual sea la decisión de emprendimiento o de aprendizaje este blog ayudará a entender los conceptos básicos y avanzados del desarrollo de iOS.

Deja un comentario