Ir al contenido principal

Entradas

Swift: ‘some’ y los tipos opacos

Una de las características que más llamó la atención cuando Apple presentó SwiftUI fue esa sentencia some que aparecía en la propiedad body necesaria para implementar el protocolo View en el que se basa todo el framework. Esto es necesario para SwiftUI pero es una de las nuevas características del lenguaje Swift 5.1 y se denominan tipos opacos.


Definición informal Seguro que no va a ser la definición más formal pero al menos es la que yo entiendo. Porque siendo sincero, se me ha atragantado un poco comprender el funcionamiento y sobretodo el fin que persiguen los tipos opacos en Swift.

Un tipo opaco se aplica cuando una función (o variable calculada) retorna un protocolo y obliga a que el tipo devuelto sea conocido en tiempo de compilación y siempre sea el mismo. Es decir, si mi función devuelve -> some Protocolo y Tipo1 y Tipo2 se conforman a ese protocolo, no puedo devolver unas veces Tipo1 y otras Tipo2, tengo que devolver uno u otro siempre. Otra forma de verlo es que el llaman…
Entradas recientes

Lenguajes, Frameworks, SDKs, churras y merinas en Swift

Hace unos días, alguien preguntaba en Twitter por recomendaciones sobre algún lenguaje de programación para iniciar su aprendizaje. Ni corto ni perezoso contesté: “Swift”. La respuesta me dejó bastantes sorprendido ya que dijo: “No, gracias pero Swift es Apple”. Algún día os contaré las mil y una bondades sobre Swift como lenguaje de programación, pero hoy quiero hablaros de la separación entre el propio lenguaje de programación y las diferentes librerías compatibles o basadas en ellos.

Primero el lenguaje Un lenguaje de programación es el conjunto de instrucciones, de palabras reservadas, la sintaxis incluyendo la puntuación y separación de instrucciones con las que podemos generar un programa que compilado o no, sea capaz de ejecutarse en una máquina. Seguro que la Wikipedia no dice lo mismo pero sí parecido y me gusta más mi definición.

Los lenguajes de programación pueden tener un creador o varios, particular o empresa, y pueden estar licenciados como software libre o ser propieda…

Desarrollo nativo con iOS

Hace varios años, la única opción para desarrollar una aplicación y que pudiera ejecutarse en varios sistemas, iOS y Android principalmente, era la plataforma Apache Cordova. Era bastante pesada ya que utilizaba contenedores web y costaba mover con los procesadores móviles de la época. Pero en la actualidad existen soluciones que generan código ya compilado, véase Xamarin o ReactNative, en base a un sólo desarrollo.


Partiendo de la premisa de que consideremos nativas las aplicaciones realizadas con las herramientas de desarrollo oficiales de Apple, vamos a analizar y sobretodo a comparar el desarrollo sobre estas plataformas intentando no entrar, aunque va a ser imposible, en opiniones personales.

Optimización y velocidad Como comentaba en las líneas anteriores, el principal escollo de las plataformas que utilizan contenedores web es el consumo de recursos. Para ejecutarse digamos que cada aplicación que tengamos abierta está utilizando un navegador web casi completo que por un lado …

iOS 13: Mucho más que un modo oscuro

Desde hace varias versiones, muchos los usuarios de iOS venían reclamando un modo oscuro. Si bien muchas aplicaciones ya contaban con esta característica, la petición para Apple era estandarizar la funcionalidad y poder implementarla en todo el dispositivo, incluyendo la pantalla principal, los ajustes y otros menús del sistema, y no tener que activarlo para cada aplicación por separado.

El modo de cambio de colores permite a las aplicaciones intercambiar la paleta de colores hacia tonos más oscuros. Esto puede realizarse por simple cuestión estética o también para acomodar los colores a las condiciones ambientales (por la noche o con poca luz). Pero esta vez Apple ha querido darle una vuelta más tuerca y como en muchas ocasiones, llegan tarde pero llegan con ventaja.
Implementaciones de andar por casa La implementación para otros sistemas operativos y aplicaciones que ya lo utilizaban, era bastante más básica que la que Apple nos ofrece a día de hoy. La selección del modo oscuro únic…