Aprende a programar en Swift conmigo - Parte 1 Comenzando con Swift

Aprende a programar en Swift conmigo - Parte 1 Comenzando con Swift
Photo by Maxwell Nelson / Unsplash

Este año me embarcaré en una nueva aventura, aprender Swift es el objetivo, es una decisión que he tomado para seguir con mi sed de aprender cosas y mi gusto por compartir lo que voy aprendiendo con todos ustedes que están leyendo esto ❤️.

Como muchos saben, soy una persona que en toda mi vida laboral como desarrollador, siempre he estado del lado del Backend, y me encanta, la verdad aún no tengo pensado dejarlo, pero he decidido ampliar mis fronteras de conocimiento aprendiendo este nuevo lenguaje (y Golang que ya lo comienzo a dominar y posteriormente haré posts sobre eso) por estas razones:

1. Nunca es malo ampliar tu conocimiento y aprender cosas nuevas
2. Últimamente he estado rodeado de dispositivos Apple y he sentido una gran curiosidad por todo lo que tiene, ofrecen y se puede realizar entre ellos.
3. Traigo desde hace tiempo la idea de crear una app pero como no sabía ningún lenguaje para móviles, no la hacía.
4. Por diversión.

El lenguaje se utiliza principalmente para el desarrollo de aplicación iOS para iPhone, iPadOS para iPad, etc.
💡
Lo que voy aprendiendo en el camino es lo que voy a ir subiendo en esta serie de posts, así que prácticamente estarás viendo y leyendo lo que voy haciendo y aprendiendo.

¿Swift?

Swift es un lenguaje de programación relativamente nuevo, se dió a conocer en el evento de desarrolladores que organiza Apple (WWDC) por allá del año 2014, como reemplazo al lenguaje Objective-C que era con el cual se realizaban todos los desarrollos para aplicaciones de los dispositivos Apple.

Desde su anucio, Swift tuvo un crecimiento de lo más rápido y uno de los más grandes en la historia, posteriormente en el año 2015 el lenguaje que había creado Apple con años de experiencia y buenas prácticas, fue otorgado como Open Source, así es, ahora el lenguaje se convertiría en código abierto para que cualquier persona lo pudiera ver y apoyar a la comunidad.

¿Para qué otro lenguaje si ya hay muchos?

Bueno, Objective-C era un lenguaje que ya tiene 30+ años, desde 1990 se venían construyendo las aplicaciones de Apple con él, y es un lenguaje basado en C que ya tiene 40+ años, y para comenzar, con el rápido crecimiento de las aplicaciones, los costos de desarrollo y mantenibilidad, así como de escalabilidad, ya no fueron dando el ancho con Objective-C, que además, es muy complicado de leer y aprender. Tan solo mira este Hello World:

#import <Foundation/Foundation.h>

int main(int argc, char * argv[]) {
    NSLog(@"Hello World from Codingtaco!");
}

Contra este Hello World en Swift:

print("Hello World from Codingtaco!")

Así es, al menos en el print se parece mucho a Python 😂.

Con este lenguaje podemos escribir software para teléfonos, ordenadores de escritorio, servidores y prácticamente para cualquier cosa que pueda correr código, así de impresionante está 😮.

Es lenguaje de programación seguro, rápido e interactivo que combina los años de experiencia y el pensamiento moderno de Apple. Más allá de adoptar, en Swift se aprendió de los errores de los otros lenguajes modernos, adoptando cosas que los demás no tienen o los mejora.

  • Las variables siempre se inicializan antes de usarse
  • Los índices de matriz se verifican en busca de errores fuera de límite
  • Los enteros aseguran que los valores nulos "nil" se manejen explícitamente
  • La memoria se maneja de manera automática
  • EL manejo de errores permite recuperarse de manera controlada de fallos inesperados

Otras características aparte son que el lenguaje es compilado y está optimizado, su velocidad y combinación de seguridad, lo hace un lenguaje excelente para lo que sea que te propongas hacer, incluso si no son apps para dispositivos Apple (sería algo raro pero posible). También cuenta con una moderna sintáxis que no le pide nada a los lenguajes interpretados como Python, Javascript o Ruby.

💡
Notas a tomar en cuenta:
- Swift es compilado
- Es el sucesor de Objective-C
- Se pueden desarrollar aplicaciones para teléfonos (iPhone), ordenadores de escritorio (MacOS), servidores y lo que sea que corra código.
- Es seguro, rápido e interactivo
- Tiene manejo de memoria automático
- Sintáxis moderna

Primeros Pasos 🤖

Para empezar, lo que deberás tener si quieres tener un setup completo para comenzar a desarollar en Swift es... exacto, una computadora Apple, ya sea una Mac Mini, Macbooko iMac más o menos recientes. Lo sé, esto puede ser un poco frustrante para aquellas personas que no tienen uno o no lo pueden costear, pero hay opciones económicas de segunda mano y creeme, si eres desarrollador o quieres serlo, un ordernador es una inversión para tí a largo plazo.

Lo primero que he visto del lenguaje es que su sintáxis realmente es agradable verla, yo vengo de lenguajes como Python y un poco de Go, que también tienen una sintáxis muy bonita y Swift no es la excepción.

Variables y Constantes

La manera en la que puedes definir variables que almacenen la información de tu aplicación es utilizando la palabra reservada var.

var myVariable = 40
var otherVariable: Int = 40

Como puedes observar, puedes iniciar una variable sin el tipo de dato que será, ya que lo toma de forma implicita o bien, diciendo que tipo de dato exacto será.

Para definiar una constante se utiliza la palabra reservada let, al igual que en otros muchos lenguajes.

let myConstant = 50.0
let otherConstant: Double = 70.0

Y si hacemos un print de lo que definimos:

print(myVariable)
// 40

print(otherVariable)
// 40

print(myConstant)
// 50.0

print(otherConstant)
// 70.0

Tipo de Datos

Swift tiene diferentes tipos de datos que son muy buenos y nos permites realizar diferentes acciones con los valores que tengamos que manejar, como por ejemplo:

  • Int para enteros
  • Double & Float para números flotantes
  • Bool para booleanos
  • String para información textual o cadenas de texto

y otros tipos de datos como:

  • Array almacena una colección de datos del mismo tipo en una lista ordenada
  • Set almacena distintos valores del mismo tipo en una colección de orden no definido
  • Dictionary Almacena asociasiones entre claves del mismo tipo y valores del mismo tipo en una colección sin un orden definido k: v.

Ésta es la parte introductoria al lenguaje, en el próximo post estaremos entrando a utilzar los tipos de datos, que son de las cosas más importantes de cada lenguaje y la base.

Conclusión

Como puedes observar Swift es un lenguaje muy poderoso y muy entretenido a mi parecer, una vez que terminemos con la teoria, comenzaremos a escribir programas sencillos que nos ayuden a repasar lo aprendido.

Si te ha gustado o servido de algo, espero contar con tu apoyo en mis redes sociales o registrandote aquí mismo en el blog y compartiendo, esto me ayudaría muchísimo para seguir creciendo.