Swift (liberado por Apple) es un lenguaje de programación de propósito general que se usa principalmente para programar bajo los sistemas (iOS y macOS) orientados a dipositivos de Apple tales como iPhone, iPad, Watch, TV. Actualmente, una versión estándar del lenguaje ha sido liberada para Windows y Linux (además de los sistemas de Apple). El lenguaje de programación Swift
tiene similitudes con Koltin
que se usa para dispositivos Android.
Terminando la segunda década del siglo 21, aparece un marco de trabajo que solo opera en los sistemas de Apple (iOS y macOS) cuyo nombre incluye el nombre de este lenguaje, me refiero a SwiftUI
, que no es lo mismo que Swift
aunque usa el lenguaje. Dicha tecnología plantea una programación declarativa (como React Native
o Flutter
) que ha tenido acogida en la comunidad de desarrolladores para interfaces de usuario en los sistemas de Apple.
Esta es una referencia ágil para quién tenga nociones de programación o codifique con algún otro lenguaje, también a modo de repaso y uso frecuente. Siendo así, tener esta información como memoria te resultará simple de acceder a los fundamentos, incluso como prueba de concepto sobre el lenguaje.
Para quien tenga habilidades, experticia en programación y/o requiera agilidad en conceptos técnicos, pueden resumirse los siguientes tips esenciales del lenguaje:
Int
, Double
, Bool
, String
, Tuples
. Las variables se definen con var
o let
(si no cambia o no muta) y se puede asignar el valor directamente sin necesidad de especificar el tipo de datos. Si requiere especificarse el tipo de datos se usa :
y luego el tipo.func
, luego los parámetros van entre paréntesis (...)
, continuando con el nombre del parámetro, el caracter :
que separa el tipo de datos posteriormente (y separando los parámetros con coma ,
). El tipo de datos a retornar se indica después de ->
. Además, se usa return
para retornar un valor. La función principal de un programa se denomina main
.{}
. Las sentencias pueden terminar sin punto y coma, siendo solamente necesario para separar y admitir varias sentencias en la misma línea (por lo demás, no se usa).C
, Java
, Javascript
, Kotlin
, es decir que se cuenta con una anatomía cercana para el uso de if
, for
, while
, incluso para el manejo de excepciones (try
).init
y la clase se define con la palabra reservada class
y el nombre que debe iniciar en mayúscula.?.
.import Swift
print("Hi there!")
Se puede declarar variables con las palabras reservadas var y let, esta última para indicar que el valor no cambia o no es mutable.
Ejemplo:
var variable: String = "Ana"
let immutable: String = "Ana"
var n: Int = 0
func plus2(a: Int, b: Int) -> Int {
return a + b
}
// Esto es un comentario de fin de línea
/*
Este es un comentario de bloque
*/
if i == 1 {
print("one")
}
else if i == 2 {
print("two")
}
else {
print("aha")
}
Nótese que en las condiciones no se ha usado paréntesis (
()
) siendo opcionales.
for item in list {
print(item)
}
Puede interrumpirse un ciclo con la sentencia
break
o dar el paso a la siguiente iteración con la setenciacontinue
.
while let i < 10 {
i++
}
var i = 0
switch i {
case 1: print("one")
case 2: print("two")
default: print("aha")
}
do {
...
}
catch Exception {
...
}
La programación orientada a objetos (OOP) tiene su propia base de conceptos que abre un capítulo aparte para su comprensión, se puede decir que se pasa de pensar en funciones a clases que agrupan métodos (funciones) y propiedades (variables), siendo de gran útilidad para la reutilización de código. Como referencia simplemente se presenta la anatomía de una clase.
class Shape(val name: String) {
var sides: Int? = null
init(name: String, sides: Int) {
self.sides = sides
}
}
struct Person {
var name: String
var age: Int
}
Para instalar este lenguaje en Windows te dirijes al enlace de descarga del sitio oficial. Sin embargo, se usa Windows Universal Runtime y es necesario que tengas instalado previamente Visual Studio 2019
, por lo que si no lo tienes instalado debes hacer el proceso respectivo asegurándote que se incluye esta característica. Esto habilitará la consola de comandos de Native Tools x64 for Visual Studio 2019. Puedes revisar material sobre esto en Internet.
Los comandos a ejecutar con privilegios de administrador usando Native Tools x64 for Visual Studio 2019 son los siguiente:
copy %SDKROOT%\usr\share\ucrt.modulemap "%UniversalCRTSdkDir%\Include\%UCRTVersion%\ucrt\module.modulemap"
copy %SDKROOT%\usr\share\visualc.modulemap "%VCToolsInstallDir%\include\module.modulemap"
copy %SDKROOT%\usr\share\visualc.apinotes "%VCToolsInstallDir%\include\visualc.apinotes"
copy %SDKROOT%\usr\share\winsdk.modulemap "%UniversalCRTSdkDir%\Include\%UCRTVersion%\um\module.modulemap"
Para el siguiente el comando, cerramos la consola de administración y abrimos de nuevo Native Tools x64 for Visual Studio 2019 sin los privilegios de administración. Entonces ejecutamos:
set SWIFTFLAGS=-sdk %SDKROOT% -resource-dir %SDKROOT%\usr\lib\swift -I %SDKROOT%\usr\lib\swift -L %SDKROOT%\usr\lib\swift\windows
Este comando generalmente se ejcuta cada vez que vayas a usar Native Tools x64 for Visual Studio 2019 para compilar. Y cada vez que requieras compilar un programa de
Swift
bajo Windows, se debe usar la línea de comandos de Native Tools x64 for Visual Studio 2019.
Para compilar un programa escrito en Swift
bajo Windows, si por ejemplo lo llamas hello.swift
, ejecutas un comando como el siguiente:
swiftc %SWIFTFLAGS% -emit-executable -o hello.exe hello.swift
© 2021 by César Arcila