Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Swift
Code

¿Qué Hay de Nuevo en Swift 3?

by
Length:MediumLanguages:

Spanish (Español) translation by Rafael Chavarría (you can also view the original English article)

Introducción

Este Septiembre, Apple liberó oficialmente la última versión de su nuevo lenguaje de programación, Swift 3. Justo como Swift 2 el año pasado, esta versión contiene muchas nuevas características y mejoras, ¡lo que hace programar con Swift incluso mejor!

Swift 3 está incluido con Xcode desde la versión 8.0 y  también puede ser descargado desde el sitio web swift.org.

1. Usando Swift 3

Si quieres usar Swift 3 en tus proyectos actuales o futuros, Xcode proporciona una excelente herramienta de migración que te permite hacerlo fácilmente.

Para nuevos proyectos Swift creados con Xcode 8, Swift 3 será usado automáticamente. Después de abrir un proyecto Swift 1 o Swift 2 en Xcode 8 por primera vez, se te presentará una alerta para convertir tu código ya sea a Swift 3 o Swift 2.3.

Elegir Swift 2.3 te dará acceso a todos las nuevas APIs iOS10, macOS Sierra, tvOS 10 y watchOS 3 pero aún usarán la sintaxis Swift 2. De manera alternativa, puedes elegir no convertir tu código de inmediato y continuar usando una versión más vieja de Swift. Cuando estás listos, entonces ve a Editar > Convertir > A Sintaxis Swift Actual... en la barra de menú Xcode para convertir todo tu código.

La herramienta de migración se encarga de todos los cambios necesarios para ser hechos a tu código para adotar Swift 3 de Swift 2. Esto incluye cambiar nombres de métodos y propiedades, cambiar la sintaxis donde sea necesario y otras tantas cosas. Antes de completar la conversión, Xcode te mostrará los cambios pendientes para cada uno de tus archivos de Swift. Esto significa que puedes verificar todos los cambios antes de que sean realizados solo para asegurarte de que la herramienta de migración no introducirá errores a tu proyecto.

2. Foundation

Una parte importante de la liberación Swift 3 fue la nueva librería de código abierto Foundation. Mientras que desarrolladores experimentados macOS y iOS estarán familiarizados con el framework Foundation, esta librería trae unas cuantas características nuevas para programadores Swift.

El primer cambio inmediato que notarás cuando uses las nuevas APIs Foundation es la falta de un prefijo NS. Esto significa que clases tales como NSDate, NSTimer y NSURL ahora solo son Date, Timer y URL en el código Swift. La herramienta de migración de código en Xcode 8 renombrará automáticamente todas estas clases por ti, pero este es un cambio del que todos los desarrolladores deben estar conscientes cuando escriban nuevo código.

Después, siendo una librería nuclear de Swift, todas las APIs Foundation son ahora compatibles con sistemas operativos basados en Linux. Mientras Swift es hecho compatible con otras plataformas, también lo será la librería Foundation. Esto significa que el conjunto nuclear de funcionalidad provisto por Foundation, tales como administración fecha/tiempo y trabajo en red, pueden ser usados en cualquier parte en donde Swift pueda ser usado. Esta interoperabilidad multi-plataforma fue una de las principales motivaciones detrás de remover el prefijo NS de las APIs Foundation.

Por último, muchas de las APIs Foundation ahora han sido rediseñadas para encajar mejor con código Swift. Por ejemplo, dependiendo de la API, este rediseño significa que Foundation ahora puede sacar más ventaja de:

  • El manejo de errores mejorado usando bloques try y catch que fueron introducidos en Swift 2.
  • Los tipos opcionales, en contraste a todos los tipos opcionales implícitamente desenvueltos fueron creados cuando se importó el framework Foundation de Objective-C a Swift.
  • Algoritmos más modernos y optimizados.
  • Mejor rendimiento general por ser escrito en Swift puro, el cuál está altamente optimizado por si mismo.

De manera general, usar la librería Swift Foundation es una mucho mejor experiencia comparado a usar el viejo framework Foundation en tu propio código Swift.  Si quieres encontrar más acerca de la librería de código abierto Swift Foundation, puedes revisarla en GitHub.

3. Lineamientos de Nombrado de API

Swift 3 también introduce algunos lineamientos nuevo de diseño de API Estos fueron creados en un esfuerzo para simplificar todas las APIs Swift en adición a hacerlas consistentes.

Omitir Palabras Innecesarias

El primer cambio en Swift 3 para hacer mejores APIs fue remover palabras no necesarias de las declaraciones de método y propiedad. Este cambio actúa tanto como una característica de lenguaje cuando se importan APIs Objective-C y también afecta los lineamientos para desarrolladores escribiendo su propio código Swift. El siguiente código contiene algunos ejemplos de código Swift 2 comparado con la funcionalidad idéntica en código Swift 3.

Verás que las versiones de Swift 3 son más legibles. Las declaraciones if en particular tienen un mejor flujo y se ven más como lo haría una oración en Inglés.

Etiquetas de Parámetro de Función

Swift 3 actualmente deshace uno de los cambios hechos en Swift 2: el etiquetado del primer parámetro en una función. En Swift 2, la etiqueta del primer parámetro era automáticamente ignorada cuando se llamaba a la función. Por ejemplo, una función declarada como:

debería ser llamada en Swift 2 como sigue:

Swift 3 revierte este cambio y ya no ignora la primer etiqueta de parámetro automáticamente. Esto significa que la función anterior debería ser llamada con lo siguiente:

El uso de esta función, sin embargo, ahora va en contra de la meta de omitir palabras innecesarias de Swift 3. Para seguir los nuevos lineamientos de diseño de API Swift, la declaración de función debería ser cambiada a :

Esta nueva declaración debería ser usada con el siguiente código:

Este nuevo formato de nombrado de función fluye tan binen como el formato Swift 2 pero tiene el beneficio adicional de proporcionar una etiqueta que es claramente enlazada al primer parámetro de la función.

Por favor nota que aún puedes especificar que la primer etiqueta de parámetro de tu función Swift 3 debería ser ignorada. Esto se logra usando un _ y después el nombre del parámetro para usar dentro de la definición de función, por ejemplo:

Mientras que este fue un ejemplo muy básico, este nuevo formato de declarar funciones se vuelve extremádamente benéfico con nombres más complicados. Por ejemplo, el siguiente código muestra cómo algunos de los métodos String de Swift ahora han cambiado de Swift 2 a Swift 3.

Notación de Camello Minúscula para Enumeraciones y Propiedades

Este cambio apunta a traer consistencia a lo largo de todas las propiedades en Swift 3 así como las enumeraciones. Se decidió qué, como los valores de enumeración están más cercanos a las propiedades que a las clases, deberían seguir el mismo formato de nombrado.

Este es un cambio relativamente menor y uno del que la herramienta de migración Xcode se encargará completamente cuando convierta código Swift 2. Es algo que los desarrolladores deberían conocer cuando escriban nuevo código.

Los siguientes son algunos ejemplos de cómo este cambio afecta APIs particulares.

4. Grand Central Dispatch

Junto con Swift 3, la versión Swift de código abierto de la librería nuclear Grand Central Dispatch (GCD) también fue liberada. GCD es el framework de Apple para habilitar ejecución de código concurrente en sistemas multi-núcleo. Los objetivos principales de la re-escritura de esta librería son:

  • Proveer la misma funcionalidad que las funciones existentes GCD basadas en C con APIs que están diseñadas para trabajar y lee mejor junto con otro código Swift.
  • Proporcionar un conjunto de APIs multiplataforma qué, como la librería nuclear Foundation, también podrán ser usadas siempre que Swift sea compatible.

Para desarrolladores que tienen experiencia con las APIs GCD en plataformas Apple, esta nueva versión de Swift será fácil de entender. Sigue los mismos conceptos. El siguiente código muestra cómo algunas tareas GCD comunes pueden ahora ser realizadas con código Swift 3:

Si quieres aprender más acerca de la programación concurrente y GCD en Swift 3, puedes revisar la sessión de Apple WWDC de este año y la versión de Swift de la referencia Dispatch framework.

5. Beneficios del Código Abierto

Mientras que no es exactamente una nueva característica o cambio, Swift 3 es la primera liberación desde que Apple abrió el lenguaje de programación en Diciembre de 2015. Siendo completamente de código abierto trae muchos beneficios, lo cual se volverá incluso más evidente en futuras versiones de Swift.

Primeramente, hacer a Swift y sus librerías completamente de código abierto significa que los desarrolladores pueden trasladar a Swift para que trabaje en otras plataformas y sistemas operativos. Actualmente Swift es compatible con todas la plataformas de Apple en adición a versiones modernas de Ubuntu. Con el tiempo, sin embargo, Swift podría ser trasladado a otros sistemas operativos, incluyendo Android y Windows. Esto tiene el potencial de hacer a Swift un lenguaje verdaderamente multi-plataforma y ser usado por desarrolladores fuera de Apple.

Después, teniendo todos los procesos internos de Swift visibles al público significa que empleados que no son de Apple pueden contribuir al lenguaje. En adición a nuevas características, los desarrolladores expertos también pueden contribuir hacia correcciones de errores, mejoras y optimizaciones dentro de Swift.

De manera general, hacer Swift de código abierto traerá mejoras y características al lenguaje en un periodo más corto de tiempo ya que permitirá a más gente contribuir. Si quieres aprender más acerca de la naturaleza de código abierto de Swift, puedes revisar el siguiente artículo:

  • Swift es de Código Abierto

Conclusión

Te he mostrado algunos de los cambios más importantes que vienen al lenguaje Swift en la versión 3. Esta es una liberación importante porque, además de todas las nuevas características y las APIs de librería nuclear, este proporciona una visión clara de cómo Swift evolucionará en años futuros. Si los cambios en Swift 3 son una indicación, el lenguaje solo se volverá más y más disfrutable para los desarrolladores.

Como siempre, por favor asegúrate de dejar tu retroalimentación y comentarios en la sección de abajo. ¡Y revisa algunos de nuestros otros cursos y tutoriales acerca del lenguaje Swift!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.