Conociendo el Lenguaje de Programación Swift

Conociendo el Lenguaje de Programación Swift

El lenguaje de programación Swift fue desarrollado por Apple y anunciado en 2014 durante su conferencia mundial para desarrolladores, la WWDC. Este lenguaje se utiliza para crear aplicaciones para iOS, Mac, Apple TV y Apple Watch. Antes de su lanzamiento, el lenguaje de programación más utilizado por los desarrolladores para estas plataformas era Objective-C.

Swift es un lenguaje que puede integrarse fácilmente en un código Objective-C existente, ya que ambos utilizan el mismo compilador. En su primera versión, Swift era un lenguaje de código propietario, pero en 2015, con su versión 2.2, se convirtió en un lenguaje de código abierto. Además, Swift es multiparadigma, lo que significa que permite utilizar diferentes paradigmas, como la orientación a objetos, la orientación a protocolos y la programación funcional.

Según el sitio web de Apple, Swift es 2.6 veces más rápido que Objective-C y 8.4 veces más rápido que Python. Otra ventaja de este lenguaje es que se puede utilizar en aplicaciones web y servidores. Swift cuenta con características modernas como la inferencia de tipos, opcionales y closures. La memoria se gestiona automáticamente y tiene manejo de errores nativo. Es un lenguaje de programación amigable para nuevos desarrolladores, con una sintaxis ligera, más fácil de escribir, leer y mantener.

Cuando estamos comenzando a aprender un nuevo lenguaje, es muy común que el primer código que escribimos sea el famoso “hello, world!”. En Swift, este código se puede escribir con solo una línea:

No es necesario importar bibliotecas para funciones de entrada y salida, ni escribir una función main(),  ya que el código escrito en el ámbito global se utiliza como punto de entrada para el programa. Tampoco es necesario utilizar punto y coma al final de cada instrucción.

Variables y constantes

En Swift, puedes declarar variables y constantes. Una variable se declara usando la palabra reservada var. Este tipo de propiedad puede cambiar su valor. Por otro lado, una constante no puede cambiar su valor y debe ser declarada usando la palabra reservada let.

Swift es fuertemente tipado, lo que significa que al declarar una constante o variable, debe tener el mismo tipo de valor que se le desea asignar, y este tipo, una vez asignado, no puede ser cambiado. Debido a la inferencia de tipos, no es necesario escribir el tipo explícitamente.

Al inicializar una variable o constante con números enteros, si no se declara el tipo, Swift inferirá que es Int. Si el valor asignado es un número decimal, Swift inferirá que el tipo debe ser Double.

Swift siempre elige Double en lugar de Float al inferir números de punto flotante. Si deseas que tu variable sea del tipo Float, necesitas declararlo explícitamente.

Tuplas

Una tupla se utiliza para agrupar varios valores en un único atributo compuesto. Es muy útil para grupos de valores relacionados. Los valores dentro de una tupla pueden ser todos del mismo tipo o pueden tener tipos diferentes. Para crear una tupla, declaramos una variable o constante y añadimos los valores entre paréntesis, separados por comas. Veamos un ejemplo:

También podemos nombrar elementos individuales dentro de una tupla:

Y para recuperar el valor de los atributos, podemos crear variables para recibir esos valores:

O acceder a ellos directamente por su posición o por el nombre asignado previamente:

Opcionales

Otro concepto interesante en Swift son los opcionales. Los opcionales representan la ausencia total de valor, y cualquier tipo en Swift puede ser opcional. Al declarar una variable o constante como opcional, estamos indicando que puede o no contener un valor. Para declarar un atributo como opcional, solo es necesario añadir un signo de interrogación junto al tipo.

Veamos un ejemplo:

En este caso, serviceCode contiene el valor 404, pero al ser un opcional, puede cambiarse para no contener ningún valor. En Swift nil se utiliza para representar la ausencia de un valor.

Veamos un ejemplo más claro de uso:

Nno toda string pueden convertirse en números enteros, por lo que la constante convertedNumber será inferida con el tipo opcional Int?. Esto significa que convertedNumber o contiene el valor entero resultado de la conversión de la cadena, o no contiene nada. Si declaras una variable opcional y no le proporcionas un valor por defecto, será automáticamente nil.

Existen algunas formas de verificar si un opcional contiene o no un valor. Una de esas formas es usar una estrategia conocida como optional binding.

Básicamente, la diferencia entre if let y guard let está en el ámbito donde se puede acceder a la nueva variable que contiene el valor del opcional.

En if let, si es el opcional phone contiene un valor, se ejecutará la instrucción dentro de las llaves y el nuevo valor de "phone" dentro de ese contexto ya no es un opcional. Este nuevo valor solo puede ser accedido dentro de esas llaves.

En guard let, si el valor existe, es posible acceder a él después de finalizar la instrucción. En esta estructura, siempre es necesario indicar qué hacer si el valor no existe. La cláusula else de guard let se encargará de tratar el escenario en el que el valor no exista. Esta cláusula debe contener una instrucción de transferencia de control, como un return, que garantizará que, si el opcional no tiene un valor, el código se interrumpirá.

Otra forma de acceder al valor de un opcional es mediante el desempaquetado forzado (forced unwrapping). Si estás seguro de que un opcional contiene un valor, puedes forzar ese acceso. Este método no es seguro y debe evitarse. Si fuerzas el desempaquetado de un opcional que no contiene un valor, recibirás un error en tiempo de ejecución. Para usar esta estrategia, solo necesitas utilizar un signo de exclamación después del valor opcional.

Conclusión

Swift es un lenguaje dinámico, muy poderoso y que contiene bastantes recursos para facilitar la vida del desarrollador. Esta fue una pequeña introducción mostrando algunos conceptos del lenguaje que son interesantes para quienes están comenzando sus estudios en él. Apple pone a disposición en su sitio web la documentación completa de Swift, y es extremadamente importante consultarla si deseas profundizar tus estudios en este lenguaje.

💡
Las opiniones y comentarios emitidos en este artículo son propiedad única de su autor y no necesariamente representan el punto de vista de Listopro.

Listopro Community da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.