28

8 cosas que no sabías sobre Swift, el lenguaje de Apple

52095Puntos

hace 2 años

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.

1. Nació de la frustración de los desarrolladores de Apple

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.

Untitled.png

2. Se basa en lenguajes que ya conoces

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.

3. Se volvió open source en el 2015

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.

  • En julio del 2015, se publicó la versión 1.2.
  • En diciembre del 2016, se publicó la versión 2.0 con bibliotecas de base destinadas a cubrir más áreas de bajo nivel, incluyendo la gestión de la memoria y el soporte de concurrencia.
  • En octubre del 2017, al lanzar la versión 3.0, el portavoz del proyecto, Chris Lattner, anunció su salida de la empresa.

Desde entonces, Apple ha publicado las versiones 3.1, 4 y 5.

Untitled 1.png

4. Puede manejar varios hilos de ejecución de código a la vez

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.

5. Soporta estructuras, clases, protocolos y genéricos

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.

6. Tiene toneladas de funciones de ayuda

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:

  1. Tipos de referencia
  2. Tipos de valor

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.

ARCAutomatic-Reference-Counting.png

7. Es compatible con diferentes frameworks y otras librerías

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.

8. No está previsto que deje de existir pronto

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.

¿Qué más conoces sobre Swift?

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 💚

Alex
Alex
alexcamachogz

52095Puntos

hace 2 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
2
4764Puntos

Debería de haber un reto de Swift!

1
27303Puntos

Me acabo de enterar que también se puede desarrollar con Swift, de lado del servidor 🤯🍎
-> https://vapor.codes/

1
5514Puntos

Me a costado aprenderlo, sobre todo porque te obliga a tener una MAC; sin embargo, es un lenguaje que rápidamente vez avances.

1
12705Puntos
2 años

Si no tienes una mac, puedes utilizar https://replit.com/ es una especie de ide web, que ejecuta Swift, y puedes ir practicando con el lenguaje.

1

No tenia ni idea de la existencia de este lenguaje, me sera de ayuda en un futuro si quiero desarrollar apps para IOS. 😁

1
1663Puntos

Excelente lenguaje de programación de Swift para crear aplicaciones móviles para los sistemas operativos: iOS, iPadOS, watchOS y mucho más.

1
23317Puntos

¡Gran texto, Alex! Información bien presentada y de alto valor. Muchas gracias 💚

1

Gracias, más conocimiento de programación, genial!

1
1242Puntos

Algun ejemplo o aplicacion que este en swift? gracias.

2
52095Puntos
2 años

La aplicación de Platzi para iOS está en Swift 😄

1

Thank you so much for letting me express my feelings about your post. You write every blog post so well. Keep the hard work going and good luck. Hope to see such a beneficial post ahead too.Thanks again for sharing this with us and stay blessed , from https://globallinkeducation.com/

1
49242Puntos

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. 😃

1

¡No sabía que estaban frustrados con un lenguaje! Interesante post como siempre

1
33702Puntos

Gran lenguaje y muy moderno, incluso Apple proporciona Playgrounds para practicar en iPads.