La otra cara de la WWDC: así mejorarán las apps con estas librerías que Apple presentó y de las que nadie ha hablado aún
Hace una semana que comenzó la WWDC, las ponencias acabaron el sábado y aún estamos recopilando datos, viendo documentaciones, probando nuevas técnicas… Este año me he tirado a la piscina y ya estoy con la beta puesta en todos los equipos: Mac, iPad, iPhone y Watch. No por probar nuevas funciones de usuario: por probar todas las nuevas librerías de desarrollo que Apple ha puesto a nuestro servicio (el de los desarrolladores) con el fin de explorar nuevas posibilidades y hacer nuestras apps, juegos y desarrollos lo más eficientes posibles.
Y como una de las primeras cosas que he hecho ha sido recopilar información de todo lo presentado, os traigo una lista de todas aquellas librerías que Apple ha lanzado este año, muchas de ellas desconocidas para el gran público, pero que tienen un destino muy claro: permitir a los desarrolladores hacer más cosas con los sistemas de Apple, cosas que hasta ahora no podíamos hacer y que abren un mundo de posibilidades que llegarán hasta los usuarios.
A partir de septiembre, no solo podréis usar todo lo presentado para usuarios: también tendréis un número importante de nuevas funciones que hasta ahora no se podían realizar en los sistemas Apple. Comenzamos.
Nuevos frameworks (o librerías)
QuickLookThumbnailing
: la app deFiles
(Archivos) es sin duda una de las que más novedades ha recibido este año: posibilidad de abrir más de un explorador en el iPad, nuevos menús contextuales, soporte de compresión y descompresión de archivos ZIP… pero una de las cosas que siempre se echan en falta es lo que en Mac llamamos Vista Previa (cuando le damos al espacio y vemos el fichero sin necesidad de abrir la app). Pues bien, Apple ha lanzado esta nueva librería,QuickLookThumbnailing
para permitir a los desarrolladores que creen apps que manejen tipos de archivos, crear la previsualización de formato de los mismos sin tener que abrirlos. E incluso ver una previa de su contenido en el icono.
Core Haptics
: en versiones anteriores de iOS podíamos usar el motor háptico, para usar una vibración como respuesta a una acción en el dispositivo. Este año Apple nos ofrece un nuevo motor con muchas más posibilidades tanto de vibración como sonidos. Podremos crear eventos hápticos que generen patrones propios de vibración y sonido más allá de los que tiene el sistema por defecto, y crear respuestas personalizadas a interacciones en la app. No solo permite todo un mundo en los videojuegos, también en características de accesibilidad o de usabilidad de las apps.VisionKit
: ¿recuerdan esa maravillosa funcionalidad de escaneado de documentos inteligentes que usa la app de Notas? Pues Apple la ha encapsulado en una librería de terceros para que la usamos los desarrolladores. Como ya sucedía con la cámara, basta instanciar el controlador y capturar los delegados para obtener la respuesta. En pocas líneas podemos obtener funcionalidad de escáner de documentos en nuestra app.
BackgroundTasks
: sabemos que en iOS las apps tienen limitado el uso de los procesos en segundo plano. Solo tareas concretas como las tareas de red (subida y bajada) pueden ocupar tiempos de procesos más largos en el sistema. Si no, a los pocos segundos el sistema mata cualquier proceso. Eso provoca que apps como Ferrite o Luma Fusion tengan que estar abiertas cuando generamos los ficheros resultado de nuestro trabajo, entre otras muchas. Pero este año eso se acaba. Apple ha presentado una librería que permite registrar en el sistema tareas genéricas en segundo plano que tarden minutos o más. E incluso algunas que (según el nivel de batería del sistema) queden en suspenso al estar en segundo plano hasta que se enchufe el dispositivo.
PencilKit
: permite integrar el Apple Pencil en tu app en pocas líneas. Tanto en iOS como en macOS a través de Sidecar. Básicamente es el mismo entorno que usa la captura de pantalla ahora mismo, con las herramientas de creación, borrado y selección de líneas. Tú provees tu canvas con tu contenido y el usuario podrá anotarlo con todas las capacidades del lápiz para luego devolverlo. Notar que la integración del Apple Pencil tal cual en una app (como en Affinity Designer) depende de otras APIs que ya existen y que se benefician de las mejores en la gestión del Pencil en las nuevas versiones. Esta librería es para permitir integrar la anotación de las capturas de pantalla en tu propia app como funcionalidad.
Combine
: una de las grandes sorpresas del evento. Básicamente es la librería de gestión de eventos asíncronos de Apple, al estilo del famoso estándar ReactiveX. Una combinación de dos patrones de desarrollo (iteración y observadores) unido al uso de la programación funcional. Todo ello a través de una API declarativa que muestra claramente, en definición, no solo el evento al que queremos suscribirnos, si no aquello que queremos que se haga cuando responda. Está integrado con SwiftUI de forma que podemos crear una llamada de red que recupere datos, invocarla, suscribirnos a su respuesta y que la interfaz se refresque sola con los datos obtenidos.
SoundAnalysis
: el machine learning está a la orden del día, y Apple ya ofrece librerías que explotan estas tecnologías de una forma eficiente como Vision (para reconocimiento de contenido en imágenes, como caras o texto) y de procesamiento del lenguaje natural (que dividen una frase en sus elementos más importantes e incluso interpretan la intención de la misma). Este año llega análisis de sonido, donde podremos coger un stream de audio o un fichero local de sonido y pasarle un análisis que nos dirá su contexto. Como por ejemplo si hay risas o aplausos en ese sonido y así reconocer su contenido.
DriverKit
: es una puerta abierta en el Mac a nuevos dispositivos de forma oficial. Una forma de crear controladores para cualquier dispositivo, pero de forma segura. Por lo tanto, ya no será necesario crear extensiones de Kernel, proporcionando clases en C++ que permiten una mayor seguridad en el sistema y estabilidad.MetricKit
: Apple proporciona este año una librería dedicada a las métricas de sistemas, como el uso de energía de una app, rendimiento, uso de memoria, de CPU…. Nos permitirá obtener mejores informes de cómo funciona nuestra app en los dispositivos de los usuarios, de forma completamente anónima. Envía un informe diario con los datos de las últimas 24 horas.Core Audio
: la librería de gestión de sonido del sistema ha creado unos nuevos tipos de datos que nos permiten interactuar con streams de audio, buffers complejos e incluso con marcas de tiempo audiovisuales. Es una forma de poder obtener más y mejores datos acerca del sonido, tanto de salida como de entrada.
CryptoKit
: ¿recuerdan mi artículo de los deseos sobre una nueva librería de criptografía y cifrado? Aquí está. Apple ofrece funciones que en pocas líneas nos permiten calcular hashes criptográficos, cifrado donde el algoritmo Cha-Cha Poly es la apuesta principal de esta librería, generación y comprobación de claves de secreto compartido entre servidor y cliente, comprobación y firma digital con los más nuevos algoritmos y, muy interesante, uso de las claves privadas almacenadas en el chip Secure Enclave para cifrar contenidos que solo podrán descifrados en el dispositivo que lo creo (y aprovechando la velocidad del chip). Una librería que funciona en los 4 sistemas de Apple.Core Data en iCloud
: otro de los deseos que pedí, aunque en menor ámbito. En este caso Apple proporciona una nueva forma de sincronizar una base de datos Core Data en la nube de forma automática, integrado con iCloud. De esta forma, una misma app podrá tener todos sus datos sincronizados con muy pocas líneas de código y con controles para que estos datos no se queden sin sincronizar.
Esto es solo un repaso por algunas de las librerías más significativas que Apple ha presentado y que abren muchas puertas a nuevas posibilidades de apps en el futuro. Nos hemos dejado fuera las más grandes, que las iremos analizando en su correspondiente contexto y artículo como ARKit 3, RealityKit, Project Catalyst y algunas más.
Y si queréis que hablemos más de algún tema de desarrollo, no olvides que los comentarios son el lugar ideal para dejar tu feedback y que siempre los leemos con cariño y atención.
También te recomendamos
La lista de deseos de un desarrollador para la WWDC 2019
SwiftUI, la nueva forma de construir apps que lo cambiará todo
La experiencia en UIKit y Xcode, de lo más pedido en las empresas
–
La noticia
La otra cara de la WWDC: así mejorarán las apps con estas librerías que Apple presentó y de las que nadie ha hablado aún
fue publicada originalmente en
Applesfera
por
Julio César Fernández
.