# Swift

> El lenguaje de programación de Apple para hacer apps de iPhone, Mac y sus otros equipos.

- Nivel: Intermedio
- Temas: Software
- URL: https://tidbit.legios.com.ar/es/swift/
- En inglés: [Swift](https://tidbit.legios.com.ar/swift/)

**Swift** es un lenguaje de programación creado por Apple y presentado en 2014. Es el lenguaje principal para hacer apps de iPhone, iPad, Mac, Apple Watch y Apple TV. Vino a reemplazar a Objective-C, un lenguaje de los años 80 que los desarrolladores de Apple venían usando hacía años, con algo más corto de escribir y más difícil de usar mal.

Swift es compilado: antes de publicar la app, el compilador convierte el código en instrucciones de máquina, y por eso las apps andan rápido. Además es estricto a propósito. Un valor que puede faltar se tiene que marcar como **opcional**, y el compilador te obliga a contemplar el caso vacío, lo que elimina toda una familia de cuelgues. La mayoría de las apps nuevas de Apple combinan Swift con **SwiftUI**, el framework de Apple para describir pantallas en código.

Swift es de código abierto desde 2015 y también corre en Linux y Windows, así que algunos equipos lo usan en servidores. Pero en la práctica, aprender Swift casi siempre significa que querés hacer algo para los equipos de Apple, y eso se hace en Xcode, el editor de Apple.

## Una analogía

Una caja de herramientas de marca propia. Apple la diseñó para que encaje perfecto con sus muebles; la podés llevar a otros trabajos, pero donde brilla es en esos muebles.

## Para quedarse

- Swift es el lenguaje principal de Apple para apps de iPhone, iPad, Mac, Watch y TV.
- Reemplazó a Objective-C, el lenguaje anterior de Apple.
- Los opcionales te obligan a contemplar los valores que faltan y evitan muchos cuelgues.
- Es de código abierto y corre en otros sistemas, pero se usa sobre todo para apps de Apple.

## Para seguir leyendo

- [Swift en Wikipedia](https://es.wikipedia.org/wiki/Swift_(lenguaje_de_programación))
- [Swift (sitio oficial, en inglés)](https://www.swift.org/)
- [Swift en Apple Developer (en inglés)](https://developer.apple.com/swift/)

## Términos relacionados

- [Lenguaje de programación](https://tidbit.legios.com.ar/es/programming-language/): Un idioma escrito y preciso que usamos para darle instrucciones a una computadora.
- [Apple](https://tidbit.legios.com.ar/es/apple/): La empresa que vende el iPhone y la Mac, más los servicios que corren encima.
- [Compilador](https://tidbit.legios.com.ar/es/compiler/): Un programa que traduce código fuente a instrucciones que la computadora corre directo.
- [Framework](https://tidbit.legios.com.ar/es/framework/): Un esqueleto ya armado para una app: define la estructura y llama a tu código.
- [Código abierto](https://tidbit.legios.com.ar/es/open-source/): Software cuyo código cualquiera puede leer, usar, cambiar y compartir.
- [Linux](https://tidbit.legios.com.ar/es/linux/): Un sistema operativo libre y de código abierto que mueve la mayoría de los servidores.
- [Servidor](https://tidbit.legios.com.ar/es/server/): Una computadora cuyo trabajo es responder pedidos de otras computadoras, todo el día.
