Swift es el lenguaje de programación por excelencia de Apple. Con este lenguaje se desarrollan todas las aplicaciones propias de su ecosistema. Es posible que Swift se pueda considerar como la lingua franca del desarrollo móvil por su creciente popularidad estos últimos años.
A pesar de la popularidad de Swift, e incluso si eres una persona con experiencia en programación, es probable que haya algunas cosas sobre este lenguaje que no sabías hasta hoy.
Es por esto que veamos a continuación 8 datos sobre Swift que posiblemente no conocías… hasta ahora.
Empezaré con algo sencillo. Aunque pueda parecer obvio, si no fuera por Apple, no existiría Swift. El equipo de Apple creó este lenguaje porque estaban frustrados con Objective-C (el lenguaje utilizado anteriormente para crear aplicaciones para iOS) y querían solucionarlo.
Actualmente, Objective-C sigue existiendo, aunque con un apoyo mucho menor por parte de Apple, pero Swift cubre una necesidad muy real para millones de programadores.
También es importante comentar que Swift es muy fácil de aprender. Dado que fue creado como sustituto de Objective-C y otros lenguajes como Java y Python, uno de sus objetivos era hacerlo más sencillo que esos lenguajes.
Swift hace uso de la sintaxis de C y Objective-C, lo que significa que si tienes experiencia con alguno de estos lenguajes, te será realmente fácil aprender a utilizar Swift. Si no es así, no temas: lo que puede faltar en originalidad lo compensa con la simplicidad que tiene el lenguaje.
Swift fue anunciado por primera vez en la WWDC 2014 y está construido sobre LLVM, un framework muy popular utilizado por muchos otros lenguajes de programación como Rust, Ruby, Python e incluso Perl.
También es un lenguaje multiparadigma: esto significa que puedes escribir código utilizando varios estilos diferentes de programación.
En el 2015, Apple anunció la apertura de su lenguaje. Al hacerlo, declaró lo siguiente:
Al hacer que Swift sea de código abierto, los desarrolladores de Mac, iOS y Linux podrán contribuir al lenguaje y ayudar a convertirlo en una potente herramienta para todos los desarrolladores.
Apple también dio a conocer una descripción general de cómo manejaría las contribuciones.
Desde entonces, Apple ha publicado las versiones 3.1, 4 y 5.
Si una aplicación multi-hilo es algo que tu aplicación iOS necesita, vale la pena señalar que Objective-C no es bueno para ello y siempre ha causado problemas a los desarrolladores que intentaban utilizarlo.
Esto no ocurre en Swift, ya que su compatibilidad con Grand Central Dispatch (GCD) hace que escribir aplicaciones multi-hilo sea sencillo. De hecho, incluso si tu aplicación para iOS no necesita ser multi-hilo, te aconsejo echar un vistazo a GCD de todos modos. Apple lo utiliza ampliamente tanto en OS X como en iOS.
Swift soporta estructuras, clases y programación orientada a objetos. Y cuando se trata de genéricos, no hay ningún otro lenguaje en el que se pueda escribir tanto código con tan poco. Es un gran lenguaje de programación para que lo aprendan quienes apenas van iniciando y también para que aquellas personas con conocimientos más avanzados puedan utilizarlo en creación de aplicaciones robustas.
Una de las mejores características de Swift es la inferencia de tipos. Como resultado, no hay necesidad de excesivas tipificaciones. Swift también es más fácil de adaptar que Objective-C, ya que la mayoría de los codificadores no tienen experiencia con los productos de Apple. Y si esto fuera poco, los mensajes de error son más amigables que los de Objective-C.
Sí, Swift tiene toneladas de funciones de ayuda como métodos de manipulación de cadenas, soporte de la biblioteca estándar y capacidad de cierre automático en todos los tipos de datos.
En cualquier entorno de desarrollo, la gestión de la memoria es uno de los mayores retos que tendrás como desarrolladora. Mientras creas objetos en tu código, necesitas gestionar manualmente la vida de esos objetos. Desde una perspectiva de alto nivel, las clases puede agruparse en dos categorías:
La mayor diferencia entre estas dos categorías es cómo son asignadas y designadas por el gestor de memoria de un ordenador durante el tiempo de ejecución.
Para superar los problemas asociados a la gestión del tiempo de vida de los objetos, Apple creó en 2008 un sistema de recuento automático de referencia llamado ARC (Automatic Reference Counting). Antes de la introducción de ARC, quienes desarrollaban debían gestionar la memoria por su cuenta o utilizar un sistema tipo recolector de basura que les ayudara a realizar la gestión.
A diferencia de Objective-C, Swift utiliza la generación de código nativo al compilar bibliotecas dinámicas. Esto significa tiempos de compilación mucho más rápidos y permite a quienes desarrollan crear marcos dinámicos utilizando bases de código C++ existentes.
Además, es posible ejecutar código C++ junto con Objective-C sin tener un archivo de cabecera de puente para cada clase, así como llamar tanto a clases de Objective-C como de C++ desde una misma aplicación sin problemas.
Todo esto elimina los problemas anteriores entre los diferentes lenguajes que se encontraban en las versiones anteriores de iOS y que dificultaban la interoperabilidad entre ellos.
A pesar de su antigüedad, Objective-C sigue siendo un potente lenguaje para el desarrollo de iOS y OS X. Aunque Apple ha estado promoviendo Swift cada vez más en los últimos años, este tardará muchos años en sustituir a Objective-C, ya que existen muchas aplicaciones en este lenguaje y personas familiarizadas con su uso.
El objetivo de Apple parece ser hacer que Swift sea más fácil de aprender, animando así a las desarrolladoras a empezar a programar y permitiendo, también a quienes ya han aprendido, la programación de una transición rápida. La compañía parece confiar en que las nuevas aplicaciones se desarrollarán finalmente solo en Swift, en lugar de una mezcla de ambos lenguajes.
Swift fue creado y anunciado por Apple en la WWDC 2014. Está construido sobre LLVM, un popular framework utilizado por muchos otros lenguajes. El equipo de Apple lo construyó porque estaban frustrados con Objective-C. Swift puede manejar múltiples hilos de ejecución a la vez sin bloquear tu aplicación y, sobre todo, es un lenguaje de programación para que lo aprendan quienes apenas van iniciando o quienes ya tienen más experiencia.
Ahora, cuéntame en los comentarios si conoces algún otro hecho poco conocido de Swift que quieras compartir con la comunidad.
Y si quieres profundizar con este lenguaje especializado para el ecosistema de Apple, te recomiendo el Curso de Introducción a Swift, en donde podrás aprender desde cero cómo desarrollar con este lenguaje.
No olvides nunca parar de aprender 💚
Debería de haber un reto de Swift!
Siempre he sido muy fan de las keynote de Apple. Viví cada uno de los momentos con el lanzamiento de Swift. A pesar de que no sabia nada de programación siempre me llamaba la atención el poder crear mi propia App.
Aprendi mucho con la app Playgrounds en su versión para Mac, esta a su vez usaba Catalyst para portear apps de iPad a OS X. Fue mi primer acercamiento a un lenguaje de programación. Después con el curso Básico de programación fue que me gusto mucho aprender a programar. Espero aprender y aplicar Swift muy pronto, ya con bases solidas de programación. 😃
Gran lenguaje y muy moderno, incluso Apple proporciona Playgrounds para practicar en iPads.
Gracias, más conocimiento de programación, genial!
Me a costado aprenderlo, sobre todo porque te obliga a tener una MAC; sin embargo, es un lenguaje que rápidamente vez avances.
No tenia ni idea de la existencia de este lenguaje, me sera de ayuda en un futuro si quiero desarrollar apps para IOS. 😁
Excelente lenguaje de programación de Swift para crear aplicaciones móviles para los sistemas operativos: iOS, iPadOS, watchOS y mucho más.
¡Gran texto, Alex! Información bien presentada y de alto valor. Muchas gracias 💚
Algun ejemplo o aplicacion que este en swift? gracias.
La aplicación de Platzi para iOS está en Swift 😄
¡No sabía que estaban frustrados con un lenguaje! Interesante post como siempre