Swift, el lenguaje de programación abierto de Apple

Swift, el lenguaje de programación abierto de Apple

Rubén Velasco

Apple siempre ha sido una compañía muy especial, y es que quiere que lo suyo solo sea suyo. macOS, iOS y demás sistemas operativos son sistemas muy cerrados que funcionan perfectamente dentro de su propio ecosistema pero que fuera de él no se llevan muy bien con sus rivales. Tan cerrado es su ecosistema que hasta cuenta con un lenguaje de programación propio, Objetive-C, que ha sido utilizado desde hace años para crear sus propios programas. Los tiempos cambian, y aunque Apple no se abre, sí ha querido facilitar y agilizar la creación de nuevas apps para sus equipos y dispositivos, y así es como nació el lenguaje de programación Swift.

Swift es un lenguaje de programación, creado por Apple, que fue presentado en la WWDC de 2014. Este lenguaje de programación nace como una alternativa mucho más sencilla, intuitiva y potente a Objetive-C. Este lenguaje se caracteriza por ser claro y conciso, reduciendo así los errores en los programas y ayudando a tener una sintaxis mucho más precisa.

Programación Swift

¿Objetive-C o Swift? Ventajas e inconvenientes

Objetive-C es un lenguaje de programación muy antiguo y, aunque es uno de los más potentes y versátiles, su aprendizaje es muy complicado. Si no tenemos experiencia como programadores, puede que este lenguaje de programación nos parezca incluso críptico, un lenguaje donde es muy fácil cometer un fallo y hacer que todo el código se venga abajo.

Puesto que la programación cada vez genera mayor interés entre todo tipo de usuarios, Apple quiso facilitar la creación de programas dentro de su propio ecosistema, creando así Swift. Este lenguaje de programación es, en cierto modo, un poco más limitado que Objetive-C, pero cuenta con una sintaxis mucho más sencilla y directa.

Tanto Swift como Objetive-C lo que buscan es interactuar con la API de Apple: Cocoa y Cocoa Touch, las APIs tanto de macOS como de iOS. De una manera más o menos complicada, lo que se busca con ambos lenguajes de programación es aprovecharse de esta API de manera que se puedan crear las interfaces o interacciones necesarias para su correcto funcionamiento.

Swift cuenta con una serie de ventajas frente a su rival, como, por ejemplo:

  • Lenguaje mucho más moderno y con un gran futuro por delante.
  • Código más claro, conciso, limpio y sencillo.
  • Tipos de datos más potentes.
  • Gestión automática de la memoria.
  • Mejor rendimiento en iOS y macOS.
  • Depuración mucho más completa, sencilla e intuitiva.
  • Hasta 2.6 veces más rápido que Objetive-C, y hasta 8.4 veces más rápido que Python.

Por otro lado, Objetive-C también tiene una serie de ventajas que debemos tener en cuenta:

  • Soporte para protocolos.
  • Mayor cantidad de selectores y categorías.
  • Bloques avanzados.
  • First responders.

¿Cuál es mejor?

Entonces, ¿cuál debo usar? ¿es necesario cambiar de uno a otro? Si somos buenos programadores y queremos estar siempre a la última, o queremos empezar desde cero, lo mejor es hacerlo directamente con Swift. Este lenguaje de programación tiene varias ventajas que, sin duda, hacen que merezca la pena dedicarse a él. Sin embargo, no es obligatorio. Si somos usuarios experimentados de Objetive-C, vamos a poder seguir utilizando este lenguaje sin problemas.

Ahora bien, si ya hemos trabajado con Objetive-C y queremos pasar a Swift, no vamos a tener problemas. Aunque son lenguajes diferentes, guardan muchas similitudes entre sí como para aprender rápidamente a defendernos con el nuevo.

Aprender a programar

Si estamos pensando en aprender a programar en Swift, hay varios recursos totalmente gratis a los que podemos recurrir. Por ejemplo, Apple nos regala un libro titulado «The Swift Programming Language» que nos permite dar los primeros pasos dentro de este lenguaje de programación. Apple nos invita también a acceder a su portal de desarrolladores desde donde podremos acceder a una gran cantidad de recursos como guías, vídeos y código de ejemplo para estar siempre al día.

Además, para programar en este lenguaje, debemos usar el IDE Xcode, un entorno de programación y compilador exclusivo de macOS. Si ya hemos programado antes en Objetive-C, estaremos familiarizados con él.

Por último, Apple cuenta con un proyecto de lo más interesante para ayudar a los usuarios a aprender a programar en este lenguaje de programación: Swift Playgrounds. Esta app es una mezcla entre IDE de programación y juego para iPad que enseña a programar con Swift de forma fácil y divertida. Es perfecta para estudiantes que quieren empezar a aprender este lenguaje, ya que empieza por los conceptos, e incluso para niños, ya que les permite tener una primera toma de contacto con la programación de forma divertida.

Esta app nos enseña todo lo básico sobre este lenguaje de programación, como:

  • Comandos
  • Funciones
  • Bucles
  • Parámetros
  • Condiciones
  • Variables
  • Operadores
  • Tipos
  • Inicialización
  • Corrección de errores

Y también nos ofrece una serie de retos que podemos llevar a cabo para terminar de pulir nuestros conocimientos y poder ir más allá.

Swift es, desde su versión 2.2, un lenguaje de programación de código abierto con licencia Apache 2.0.

¿Puedo programar en Swift desde Windows?

Apple siempre ha sido muy cerrada en lo que a su ecosistema se refiere. Por ejemplo, todos los programas de macOS y iOS, hasta 2014, siempre se han creado usando el lenguaje Objetive-C y compilado usando una herramienta llamada Xcode, un IDE de programación que solo se puede ejecutar en sistemas operativos macOS. Sin embargo, con la llegada de Swift la cosa ha cambiado. Más o menos.

Con la llegada de Switft 2.0, Apple abrió la puerta a este lenguaje, aplicando una licencia Apache 2.0, y permitiendo a los usuarios de fuera de macOS usarlo para programar y compilar sus programas. Para ello, no tenemos más que bajar un programa llamado Swift for Windows que nos va a permitir compilar este lenguaje de programación desde el sistema operativo de Microsoft. Eso sí, lo que no vamos a poder hacer es probar los programas de macOS ni de iOS, ya que para eso necesitaremos, obligatoriamente, un equipo de Apple.

Además, siempre nos quedará la posibilidad de montar una máquina virtual con macOS, y usar esta máquina exclusivamente para programar. El rendimiento no será el mismo que si lo hacemos desde una máquina real, pero será más que suficiente para compilar, probar y empezar a comercializar nuestros programas.

¡Sé el primero en comentar!