Saltar al contenido

Swift

No es habitual encontrarte con un lenguaje de programación creado hace poco, en junio del 2014, pero que ya tenga tanta popularidad como Python.

Estamos hablando del lenguaje de programación Swift, creado por Apple.

En el mundo de Mac/iOS, xCode era la referencia con su lenguaje de programación Objective-C.

Digo que «era» la referencia, porque últimamente tenemos alternativas muy buenas como Xamarin con C# (ahora con Visual Studio).

Pero podemos decir que Swift gana cada día más desarrolladores para poder programar en iOS, iPad o MacOS (además de otros dispositivos Apple, como watchOs o tvOS).

Muchos ven a Swift como una evolución propia de xCode, y Apple apostó muy fuerte por este lenguaje desde el principio.

Lo primero que hizo en la presentación del lenguaje es lanzar un libro/ebook llamado The Swift Programming Language, para que desde el primer momento los programadores fueran aprendiendo a programar en el nuevo lenguaje.

Un año más tarde, Apple decidió que Swift fuera de código abierto, con licencia Apache 2.0. De esta manera, se le da mayor difusión y soporte.

Índice del contenido

Características del lenguaje de programación Swift

Una de las principales características de Swift es que es de propósito general.

¿Y eso que significa? Pues eso, que no está pensado solamente para que haga una cosa concreta.

Pensemos que en Apple existen las aplicaciones para móviles, para tablets, para dispositivos Mac, videojuegos…

Que un mismo lenguaje de programación abarque todas estas opciones, tiene que ofrecer además:

  • Que sea seguro. Si pensamos en hacer un programa para iPhone, con comunicaciones entre dispositivos o servidores, bases de datos, etc. lo primero de todo es que tdo lo que hagamos lo construyamos en un entorno seguro, y eso influye mucho el lenguaje. Swift fue creado basándose en lenguajes como C, así que:
    • obliga a declarar los variables con un tipo de datos (aunque a la hora de asignar un valor puedes obviarlo, facilitando la escritura de código)
    • el compilador comprueba los tipos de datos, por si ve alguna inconsistenci o puede tener un desbordamiento de datos.
    • está orientado a patrones de diseño.
  • Rápido de hacer. Crear un programa multiplataforma suele dar quebraderos de cabeza, por la integración en diferentes sistemas operativos, plataformas, etc.
    Con Swift puedes hacer el mismo proyecto para iOs y MacOsX (recordemos que es un lenguaje de Apple y está pensado en sus productos). El rendimiento de hacer un programa en Swift es mucho mayor que en otros lenguajes.
  • La memoria se gestiona automáticamente, igual que hace Java con su Garbage Collector.
  • Tiene un control de errores avanzado, que permite recuperar de manera controlada los fallos no esperados de programación.
  • Está orientado a hardware, es decir, al ser un lenguaje de programación creado por Apple, hace que esté diseñado para mejorar el rendimiento en los dispositivos de la empresa de la manzana.
  • Como hemos dicho, Swift es de código abierto (Open Source). Los proyectos con este tipo de licencia tienen un gran apoyo de la comunidad, ya que permite una corrección más rápido de errores, además de encontrar mucha más información, guías y tutoriales que hablen de este lenguaje. Puedes ver la página de Swift en GitHub.
  • Gracias a la característica anterior, Swift es un lenguaje de programación que se puede usar en Linux.
  • Tiene compatibilidad retro con Objective-C. Si tienes algún programa ya hecho, puedes añadir nuevas funcionalidades o módulos con este lenguaje (con algunas condiciones).

Esta claro que los desarrolladores de Apple que siempre han usado Objective-C, tendrán que pasarse en el futuro a Swift, pero hacer ese cambio hará que su productividad mejore notablemente.

Hemos hablado de las características que nos ofrece Swift a la hora de elegirlo como lenguaje de programación, pero ahora vamos a hablar de las características que propias a la hora de programar, como puede ser:

  1. En todos los lenguajes de programación, sólo está permitido un único valor de retorno en una función, puede ser un tipo de dato simple, como un int o string, o una clase (si el lenguaje es orientado a objetos).
    Con Swift puedes tener varios valores de retorno.
  2. En colecciones o arrays, podemos hacer el recorrido de una manera rápida, sin usar las sentencia iterativas como for.
  3. Puedes crear clases genéricas, un poco como los templates de Java.
  4. Como hemos dicho, está pensado en patrones de diseño, como pueden ser los patrones map o filter.
  5. Tiene palabras reservadas especiales para el flujo de control, que veremos más adelante.
programming language Swift

Programas hechos con Swift

Si te preguntas que tipo de programas puedes hacer con Swift, veamos algunos ejemplos famosos que están programados en este lenguaje.

Apps para iOS: iPhone iPad

  1. Firefox.
  2. Youtube.
  3. SoundCloud.
  4. AudioKit.
  5. LinkedIn.
  6. Airbnb.
  7. Evenbrite.

Juegos

  • 2048.
  • Flappy Bird (curso de Youtube de como hacerlo).

Aprender con Swift Playgrounds

Para comprobar la apuesta de Apple con este lenguaje, Apple creó Swift Playgrounds para iPad. Es un juego aplicación que te permite aprender algunos conceptos básicos de programación.

Mientras va programando puedes ir avanzando en los diferentes juegos que te ofrece la propia app, pero con el mismo programa puedes programar juguetes ¡o un drone!

Mira el vídeo (en inglés) para ver las cosas que puedes hacer.

Curso de programación Swift

Si quieres aprender a programar en Swift, puedes descargarte el ebook de Apple que hemos comentado al principio.

Pero si no sabes mucho inglés, busca información en castellano que seguro que puedes encontrar.

Resumen final

Hemos visto que si quieres programar aplicaciones para OSX o iOS, la mejor opción es hacerlo en el lenguaje de programación Swift, creado por el propio Apple.

Si tienes en mente hacer una app para iPhone o iPad, hazlo con el mejor lenguaje para este propósito, que cada vez ganará más adeptos en la comunidad de programadores.

Ajustes