Quienes son expertos en alguna materia en algún momento de sus vidas fueron principiantes o, como diríamos coloquialmente, “novatos”. ¿Qué necesitaría saber un “novato” para dar sus primeros pasos en el desarrollo de aplicaciones Apple? Aquí, la respuesta.

Primera parada: XCODE

Si consideramos crear aplicaciones Apple, automáticamente tenemos que pensar en XCODE, un entorno de desarrollo integrado que permite, entre otras cosas, diseñar interfaz gráfica, crear y programar aplicaciones, etc.; En definitiva, todas las tareas relacionadas al ciclo de vida de una App.

¿Cómo descargar XCODE?

Podemos hacerlo desde el App Store o accediendo al portal de Apple Developer, sitio que contiene información oficial para su entorno. En ambos casos se necesita un Apple ID.

¿Cómo crear un entorno de desarrollo?

Al ejecutar nuestro IDE nos encontraremos con la siguiente pantalla:

 

No hay texto alternativo para esta imagen

 

Esta debería ser la primera pantalla que veremos al iniciar XCODE. Tendremos que hacer click en Create a new Xcode project para dar comienzo a nuestro propio proyecto. Rápidamente el software nos preguntará si queremos partir desde alguna plantilla predefinida para el desarrollo de nuestra aplicación:

 

No hay texto alternativo para esta imagen

 

En este caso elegiremos «App» y luego completaremos la información que se requiere. También tendremos que elegir algún directorio para que XCODE pueda generar y guardar un nuevo repositorio Git para nuestra aplicación.

 

No hay texto alternativo para esta imagen

 

Al seleccionar Next, nos encontraremos con la siguiente pantalla, donde observaremos los entornos de XCODE y sus herramientas de trabajo.

 

No hay texto alternativo para esta imagen

 

¿Qué función cumple cada área?

  • Toolbar: es nuestra barra de herramientas, la cual, podemos diferenciar, se encuentra dividida en tres sectores. Por la izquierda, encontraremos algunas opciones que nos permitirán cerrar, minimizar/maximizar nuestro programa, esconder nuestra área de navegación, iniciar y detener un proyecto. En medio de nuestro panel, encontraremos el nombre de nuestra aplicación,el estado de la misma, los errores, los simuladores -los cuales nos permiten ver en distintos dispositivos como afectan nuestros cambios visualmente- además del botón library, el cual nos permitirá acceder rápidamente -dependiendo del entorno donde nos encontremos- a distintas acciones. Y por último, en nuestro lateral derecho, hallaremos un botón para abrir o cerrar nuestra área de utilidad.
  • Navigator área: en este sector podremos visualizar los ficheros de nuestros proyectos, acompañado de una barra de herramientas que incluye opciones como abrir repositorios, secciones de error o advertencias, fichero de debug, historial,etc.
  • Editor área: tal como su nombre lo indica, es el área de trabajo. En ella visualizamos el código producido para la realización de nuestra aplicación.
  • Debug área: ubicada debajo del área de edición, encontramos el área de debug, la cual nos permite ver cómo se encuentra nuestra aplicación a medida que avanzamos sobre ella.
  • Utility area: nos muestra distintas herramientas de acuerdo al entorno en el que nos encontremos.

 

¿Qué son los storyboard y para qué nos sirven?

Ahora que conocemos nuestro entorno de desarrollo vamos a adentrarnos en los storyboard, no sin antes explicar cómo acceder a ellos. 

Dentro de nuestra navigation area nos situaremos en nuestro archivo main. Como verán en la siguiente imagen, en la parte central de la pantalla aparecerá el View Controller Scene.  Al clikearlo podremos visualizar las diferentes interfaces donde podremos trabajar. De hecho, un storyboard no es más que una representación visual de la interfaz de usuario de una aplicación, que nos muestra pantallas de contenidos y las conexiones que existen entre ellas. !No olvidemos que en nuestro lateral derecho hallaremos nuestra utility area!

No hay texto alternativo para esta imagen

Segunda parada: SWIFT

Además, es importante mencionar que el entorno de desarrollo integrado de XCODE es compatible con algunos de los lenguajes de programación más destacados, como Swift.

A lo largo de este post hablaremos acerca de algunos conceptos básicos en Swift:

VAR vs LET

En Swift encontramos dos tipos de valores para almacenar nuestros datos: var y let. Var se usa para crear una variable mutable que puede cambiar más tarde; por el contrario, let se mantiene constante y es inmutable.

codigo:

No hay texto alternativo para esta imagen

Tipos de datos

Es un atributo que define el tipo de valor que va a tomar el dato, variable o constante. Existen, a saber, tres tipos de datos (simples, complejos y opcionales).

Entre los datos simples encontraremos distintos tipos de datos:

String: sirven para representar cadenas de textos

codigo:

No hay texto alternativo para esta imagen

Int: representa los números enteros

codigo:

No hay texto alternativo para esta imagen

Double y Float: con ellos podemos  representar  números decimales, se utiliza uno u el otro dependiendo de la cantidad de decimales. La precisión de un Doble es de al menos 15 decimales, mientras que la precisión de float puede ser tan pequeña como 6 decimales, como regla general se utiliza double

codigo: 

No hay texto alternativo para esta imagen
No hay texto alternativo para esta imagen

Boolean: sirve para crear condicionales o evaluar expresiones que admiten como opciones true / false.

codigo:

No hay texto alternativo para esta imagen

Son parte de los datos complejos los datos tipo:

Arrays o matriz: colección ordenada de valores. Para crearlos los tenemos que realizar como cualquier estructura de datos. Lo primero será indicar si se trata de una variable o una constante, mediante el uso de corchetes, significando el tipo de datos a utilizar, y luego iniciarlo. Algunas acciones posibles son el poder añadir, acceder, modificar y eliminar datos) Diccionarios: (similares a los Array, aunque a estos se les asigna un índice por el cual pueden ser accesados).

codigo:

No hay texto alternativo para esta imagen

Los datos opcionales: por su parte, se utilizan en situaciones donde un valor puede estar ausente, es decir, donde un valor puede llegar a ser nulo. Un opcional siempre representará dos posibilidades: el posible acceso a un valor nulo o no nulo, porque siempre tendremos que comprobar que exista un valor no nulo.

Clases y estructuras

Para hablar de las diferencias, antes es preciso adentrarnos en sus similitudes. Ambas sirven para crear nuevos tipos en Swift que no vienen en series (datos simples), las dos pueden tener propiedades que pueden ser de cualquier otro tipo, al igual que métodos. Aunque las dos sirven para lo mismo, internamente no son iguales, hay que pensarlas en términos de tipos por valor (estructuras) y tipo por referencia (clases). Los tipos por valor se copian cuando se asigna a una nueva variable o se pasa como parámetro a una nueva función, mientras que los tipos por referencia se comparten. Otra diferencia son los inicializadores: las estructuras crean un init por defecto. Las clases deben ser definidas por el programador. Las estructuras son inmutables y las clases pueden modificarse. Por último, podemos decir que las clases pueden tener herencia, mientras que las estructuras no.

Si llegaron hasta aquí es porque ya se animaron a dar sus primeros pasos. Seguramente, algunos les habrán resultado más firmes y seguros que otros.  ¡No se desanimen! Como lo dijimos al principio, para ser expertos primero debemos ser novatos. Los invitamos a seguir caminando juntos en nuestras siguientes publicaciones, que nos permitirán seguir profundizando en cada unos de los conceptos compartidos hoy.

Federico Esteban Arnau

Estudiante curso iOS vortex 2022