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:
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:
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.
Al seleccionar Next, nos encontraremos con la siguiente pantalla, donde observaremos los entornos de XCODE y sus herramientas de trabajo.
¿Qué función cumple cada área?
¿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!
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:
1 var variable : Int = 4;
2 let constante : String = “hola”
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:
1 var nombre = “Vortex”; // option 1
2 var nombre2 : String = “Vortex // option 2
Int: representa los números enteros
codigo:
1 var numero = 1; // option 1
2 var numero2 : Int = 1; // option 2
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:
1 var float1 = 3.14 // option 1
2 var float2 : Float = 3.14 // option 2
1 var double1 = 3.1415926536 // option 1
2 var double2 : Double = 3.1415926536 // option 2
Boolean: sirve para crear condicionales o evaluar expresiones que admiten como opciones true / false.
codigo:
1 var boolean1 = true // option 1
2 var boolean2 = : Bool = false // option 2
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:
1 var arrayMatriz = [“uno”, “dos”, “tres”]
2 var diccionario = [“uno”:1, “dos”:2, “tres”:3]
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.