¿Qué hay de nuevo para Devs en iOS 12 y Xcode 10?

Lo que vas a crear

En medio de toda la fanfarria de otra WWDC, Apple nos presentó iOS 12. Este es uno de los lanzamientos más enfocados tanto para consumidores como para desarrolladores, enfatizando la optimización del rendimiento. Además de este enfoque en el rendimiento y la optimización, iOS también ofrece algunas iteraciones de funciones en muchas de las bibliotecas que conocemos y amamos. Esto incluye la evolución de emojis (con memojis), atajos de Siri, realidad aumentada y aprendizaje automático.. 

Para los desarrolladores, Apple se ha centrado en proporcionar a su comunidad una gran cantidad de nuevas herramientas y SDK para ayudar a impulsar la próxima generación de aplicaciones iOS. Los desarrolladores también obtienen muchas mejoras en Xcode, y los más nuevos frameworks de Apple, ARKit, Core ML y SiriKit, han recibido importantes actualizaciones de funciones..

Machine Learning ha evolucionado rápidamente desde que se introdujo por primera vez en 2017, con Core ML 2 que facilita a los desarrolladores principales el diseño, entrenamiento y prueba de modelos. ARKit 2, la segunda versión de Apple de su biblioteca de realidad aumentada, es otra biblioteca que ha mejorado claramente este año, gracias a tres características destacadas: 

  • experiencias compartidas habilitando experiencias AR multijugador
  • experiencias persistentes Los cuales permiten salvar y restaurar estados.
  • Detección de objetos 3D Además del seguimiento de imágenes en movimiento 2D.. 

Apple también ha mejorado las notificaciones al agregar la capacidad de agrupar y priorizar las notificaciones contextualmente, y ha creado el nuevo marco de Autocompletar contraseñas para integrar aplicaciones de administración de contraseñas de terceros.. 

Siri Shortcuts es la adición de Apple a SiriKit, que permite a los desarrolladores de terceros integrar accesos directos inteligentes personalizados en la búsqueda de focos y en la pantalla de bloqueo, así como usar su voz para convocar y realizar esa acción personalizada.. 

Xcode 10 también introduce una nueva gama de mejoras, desde el modo oscuro hasta edición multi-cursor, Nuevos visuales de control de código fuente en el editor de código fuente y un sistema de compilación completamente nuevo. Xcode 10 también admite pruebas paralelas, lo que reduce el tiempo para completar las pruebas drásticamente.

Objetivos de este artículo 

En este artículo, aprenderá todo sobre los nuevos cambios que vienen a iOS 12 para desarrolladores. Cubriremos lo siguiente:

  • Aprendizaje automático con Core ML 2 y marco de lenguaje natural.
  • realidad aumentada con ARKit 2
  • notificaciones interactivas
  • Atajos de Siri con SiriKit
  • Servicios de autenticación y autocompletar contraseñas
  • Xcode 10
  • otros cambios

Aprendizaje automático

El aprendizaje automático, introducido en iOS 11, no solo ha evolucionado este año, sino que ha dado grandes pasos hacia el aprendizaje automático. La próxima versión de Core ML, versión 2, en consonancia con el tema del rendimiento y la velocidad, ahora es un 30% más rápida, con el tamaño de los modelos de IA reducidos hasta en un 75%. Más importante aún, Apple ha simplificado drásticamente las bibliotecas y las herramientas para facilitar la adopción por parte de todos sin conocimientos previos de matemáticas o aprendizaje automático.. 

Core ML mostró un gran potencial cuando se introdujo por primera vez, pero no fue aceptado por la comunidad más amplia de desarrolladores de iOS. Sin embargo, con la introducción de Crear ML este año (un marco macOS), cualquiera puede crear modelos Core ML para usarlos en sus aplicaciones con mayor facilidad. Este nuevo marco se integra con los parques infantiles en el nuevo Xcode para permitirle interactuar visualmente con los flujos de trabajo de creación de modelos en tiempo real, simplemente agregando algunas líneas de código Swift. 

Además de admitir un amplio aprendizaje en profundidad con más de 30 tipos de capas, también admite modelos estándar como conjuntos de árboles, SVM y modelos lineales generalizados ... Debido a que está construido sobre tecnologías de bajo nivel como Metal y Accelerate, Core ML aprovecha a la perfección la CPU y la GPU para proporcionar el máximo rendimiento y eficiencia. (WWDC)

Muchos de los productos de Apple ya han aprovechado Core ML 2, incluidos Siri y Camera, a través de su visión por computadora y el nuevo marco de lenguaje natural. El marco de lenguaje natural, nuevo en iOS 12, admite el análisis de texto en lenguaje natural para deducir metadatos específicos, y se utiliza junto con Crear ML en la capacitación y el despliegue de modelos personalizados de procesamiento de lenguaje natural. Para obtener más información sobre cómo crear y ejecutar modelos Core ML, consulte los siguientes dos documentos de referencia de Apple: 

  • Aprenda acerca de la construcción de modelos de núcleo de ML
  • Aprenda acerca de cómo ejecutar los modelos Core ML

ARKit 2

ARKit, también anunciado por primera vez el año pasado, ganó protagonismo en el escenario de la WWDC de este año, ya que ARKit 2 capturó la imaginación de los consumidores y de la ingeniería de inmediato gracias a tres características destacadas:

  • experiencias compartidas de AR
  • experiencias persistentes de AR 
  • Capacidades de detección de objetos 3D

Demostrado en vivo en el escenario en la nota clave de la WWDC de este año, las experiencias de AR compartidas le permiten incorporar múltiples usos en la experiencia de realidad aumentada simultáneamente. En otras palabras, ahora puede crear rápidamente experiencias de realidad aumentada multijugador en las que no solo puede tener múltiples usuarios jugando, sino también personas en tercera persona observando las mismas experiencias.. 

Las experiencias persistentes de AR permiten a los desarrolladores implementar funcionalidades para guardar sesiones en un estado determinado, que se reanudarán en una etapa posterior. Es decir, si está creando una escultura de lego virtual, puede guardar y reanudar el estado, y los objetos virtuales persistirían en el mismo espacio y tiempo sin tener que volver a comenzar. 

Finalmente, las capacidades de detección y seguimiento de objetos en 3D se han mejorado desde ARKit 1.5, con la capacidad de rastrear ahora completamente imágenes en 2D, incluidos objetos móviles como postales, periódicos o revistas. Por ejemplo, puede sostener una postal de una ubicación y mover la tarjeta, mientras ARKit está continuamente rastreando y reconociendo su objeto. ARKit 2 también le permite detectar objetos 3D conocidos del mundo real, como televisores, muebles o esculturas. 

Notificaciones de grupo

Las notificaciones se han mejorado significativamente en iOS 12, con la capacidad de priorizar y agrupar mensajes, una característica que los usuarios y desarrolladores han estado anticipando durante mucho tiempo.. 

La capacidad de agrupar notificaciones contextualmente brinda a los usuarios finales una experiencia de usuario más concisa, una que ha estado disponible para los usuarios de Android durante muchos años. Los usuarios pueden, por ejemplo, usar las agrupaciones de notificaciones para que un hilo de conversación en una aplicación o notificaciones del juego formen parte de una parcela grupal en lugar de notificaciones individuales que ocupen toda la pantalla. En cambio, con un solo golpe, los usuarios pueden descartar un grupo de notificaciones contextuales.

Las notificaciones también tienen prioridad de importancia para que las notificaciones esenciales, como mensajes, correos electrónicos o una notificación de calendario, aparezcan por encima de las notificaciones de las redes sociales. Los desarrolladores externos también pueden clasificar una notificación como una alerta con prioridad, con la aprobación del equipo de revisión de Apple.

SiriKit e intenciones

SiriKit también ha recibido cierta atención en esta WWDC con la adición de Atajos de Siri. Esta característica sugiere de manera inteligente los atajos cuando son necesarios, al vincular y predecir las rutinas y comportamientos de los usuarios. A través de la nueva API de accesos directos, los usuarios pueden realizar tareas de forma rápida y conveniente en la pantalla de bloqueo o en la pantalla de búsqueda utilizando estos accesos directos visualmente, o mediante los accesos directos de voz de Siri, así como creando sus propios accesos directos.. 

Un ejemplo sería una notificación de una cafetería que aparezca en la pantalla de bloqueo como resultado del comportamiento del usuario de caminar afuera por las mañanas y pedir una bebida mojito de menta. Más allá de la sugerencia visual, el usuario también podría usar Siri y decir "Pedir mi bebida de café favorita a Philz", o crear un atajo personalizado que active esa acción.. 

Servicios de autenticación

Apple ha introducido una nueva biblioteca de servicios de autenticación que integra a los administradores de contraseñas como LastPass o 1Password con la función Autocompletar contraseña del sistema operativo. Anteriormente, los usuarios solo tenían acceso a las credenciales almacenadas en el llavero de iCloud, y el acceso a contraseñas de terceros almacenadas en aplicaciones como 1Password significaba que los usuarios tenían que cambiar entre ambas aplicaciones para obtener la información de nombre de usuario y contraseña.

Dentro de la barra de QuickType, los usuarios pueden acceder a sus credenciales desde las aplicaciones de administración de contraseñas de terceros. Los desarrolladores también tienen la capacidad, a través de la implementación del nuevo ASWebAuthenticationSession clase, para compartir información de inicio de sesión entre una sesión activa en Safari y su aplicación. Esto funciona como una especie de traspaso de contraseñas.. 

Xcode 10

Apple también ha capacitado a los desarrolladores más allá de los nuevos SDK y marcos, con mejoras notables en Xcode y la cadena de herramientas de construcción Xcode. El editor de origen, por ejemplo, ha obtenido algunas mejoras de refactorización excelentes, incluida la edición con varios cursores, de modo que puede editar rápidamente múltiples líneas de código (es decir, diferentes métodos) al mismo tiempo..

Xcode 9 introdujo por primera vez la integración con GitHub, desde crear y abrir repositorios de GitHub desde el IDE hasta interactuar con el código de forma más colaborativa. Xcode 10 se extiende más allá de GitHub para trabajar con otros dos proveedores de repositorios populares, GitLab y Bitbucket. 

En el lado del editor de origen, los cambios en el repositorio local o en sentido ascendente ahora se resaltan en la columna de la izquierda, lo que le permite ver rápidamente los cambios realizados en su código, así como los cambios que aún no se han introducido, los cambios en sentido ascendente que otros han realizado y los posibles conflictos que deben realizarse. para ser atendido antes de cometer. Finalmente, Xcode 10 genera claves SSH para usted si es necesario, y las carga en su repositorio de control de fuente para usted. 

Al pasar a la cadena de herramientas, Xcode 10 presenta un sistema de compilación completamente nuevo para desarrolladores, y en consonancia con el tema de la conferencia, obtiene mejoras de rendimiento y velocidad. Por ejemplo, los desarrolladores que prueban sus aplicaciones en Simulator ahora pueden aprovechar la paralelización de pruebas, la capacidad de ejecutar múltiples pruebas al mismo tiempo. 

Además de las pruebas unitarias, los desarrolladores ahora pueden ejecutar pruebas de integración continua en diferentes tipos de dispositivos simulados, generando clones de un solo dispositivo simulado, lo que resulta en pruebas que se completan en una fracción del tiempo que tomaría Xcode 9. Los desarrolladores pueden optar por aprovechar la CPU de su Mac para realizar las pruebas en paralelo o asignar otra Mac en la red que aloja Xcode Server para automatizar la compilación y las pruebas en paralelo. 

Apple ha quedado en desuso impresión() declaraciones a favor de la nueva OSLog declaraciones de señalización, que proporcionan una velocidad de depuración mucho mayor en comparación con impresión(). Los desarrolladores también pueden implementar instrumentos personalizados para marcar puntos significativos en todo el código, que luego se rastrean a través de las señales dentro de los instrumentos, que aparecen junto a otros eventos de análisis (como CPU, memoria o red), lo que brinda a los desarrolladores una visión aún mayor para solucionar problemas de sus aplicaciones.. 

Xcode 10 también incluye plantillas personalizadas para ayudar a los desarrolladores a construir sus propios instrumentos con visualización y análisis de datos personalizados, que pueden reutilizarse y compartirse con otros miembros del equipo, o publicarse con sus marcos. Hay algunos otros cambios menores en los íconos, como mover el contenido de la biblioteca a una nueva ventana de superposición en lugar de la parte inferior del inspector. También hay otros cambios menores en los íconos y el diseño de Interface Builder..

Otros cambios

iTunes Connect ha sido renombrado apropiadamente como App Store Connect, junto con algunas mejoras para hacer que la interfaz de usuario sea más eficiente y fácil de usar. A través de la nueva interfaz web, los desarrolladores pueden crear páginas de productos con capturas de pantalla y vistas previas, alternar compras dentro de la aplicación y configurar suscripciones, pedidos anticipados y precios introductorios..

Finalmente, TestFlight ha recibido una mejora destacada con una nueva función llamada TestFlight Public Link, que facilita mucho el proceso de invitar a las personas a probar su aplicación. Donde antes el desarrollador necesitaría invitar manualmente a los usuarios usando sus direcciones de correo electrónico en lo que era un proceso engorroso, ahora los desarrolladores pueden crear una "invitación abierta" a través de una URL pública. 

Conclusión

iOS 12 es una versión muy enfocada tanto para consumidores como para desarrolladores, con un énfasis en la optimización del rendimiento. Para los desarrolladores, Xcode y las herramientas de compilación y prueba se han optimizado con un énfasis en la velocidad a la vanguardia, y los marcos más nuevos de Apple, como ARKit, Core ML y SiriKit, han recibido importantes mejoras de funciones.. 

En el transcurso de dos años, estamos comenzando a ver la evolución de Apple en el aprendizaje automático, evolucionando y madurando, con beneficios que se incorporan a sus otros marcos tecnológicos, como SiriKit, ARKit y Photos, lo que permite a los desarrolladores crear experiencias de usuario más inteligentes. Más importante aún, el aprendizaje automático ha pasado de ser una biblioteca de nicho a uno en el que cualquier desarrollador, independientemente de la experiencia de aprendizaje automático, puede capacitar e implementar modelos.. 

Con WWDC como preludio a los anuncios de hardware de Apple en septiembre, será interesante ver cómo la comunidad de desarrolladores adopta ARKit en su segunda iteración, en el espacio de los juegos multijugador..