Nos hemos querido mal acostumbrar a que el WWDC sea la keynote donde se presentan productos de Apple. Y nos decepcionamos cuando, por ejemplo, no hay novedades en hardware pero sí mucho software (sobre todo para programadores). No olvidemos que la WWDC 2014 es una conferencia para desarrolladores de Apple.
Las presentaciones en la Keynote del pasado lunes como iOS 8 o OS X 10.10 Yosemite vienen acompañadas, claramente, de novedades para desarrolladores. Hasta el próximo viernes 6 de junio no acaba las sesiones técnicas y los workshop de código.
El SDK de iOS 8 viene con nada menos de 4.000 nuevas APIs y cambios, además de nuevas herramientas y plataformas para desarrolladores como: el nuevo lenguaje Swift, la plataforma en la nube Cloudkit, HomeKit para integrar aplicaciones relacionadas con el hogar inteligente, SceneKit o Metal para la mejora de gráficos en juegos, API para Touch ID o la posibilidad de crear widget en la barra de notificaciones.
Swift
Apple dió el bombazo con la creación de un nuevo lenguaje para desarrollar aplicaciones iOS y OS X, llamado Swift. La renovación de Objective C era muy esperada, además de dotar al lenguaje de características modernas y de hacerlo más eficiente.
Algunas de sus principales características son las closures (similares a los bloques en Objective-C), tuplas y retorno de múltiples valores, Generics, iteraciones con colecciones de datos de forma más eficiente y concisa, patrones de programación funcional.
Apple no ha lanzado el lenguaje simplemente, sino que, desde ya, está disponible una extensa documentación en formato iBook y web sobre el lenguaje, además de incorporarlo en XCode 6 Beta junto al interactivo playground de Swift que tanto nos sorprendió en la keynote.
Cloudkit
Cloudkit es la respuesta en la nube de Apple para que los desarrolladores usen su MbaaS (Mobile Backend as Service) sin complicaciones dejando de escribir lógica en el servidor y hacerlo de forma más simple desde sus propias aplicaciones. Paso lógico si pensamos en la presentación de iCloud Drive con funcionalidades más potentes como MailDrop o la mejora en la sincronización y almacenamiento de imágenes.
Con Cloudkit podemos implementar la autenticación, búsquedas, notificaciones, base de datos públicas y privadas de la app, almacenar recursos en la nube. Todo ello gratis con límites bastante altos que prácticamente todas las apps podrán cumplir sin problemas.
Sin duda, Cloudkit es la búsqueda por parte de Apple que los desarrolladores dejen de usar otras soluciones de sus competidores como Amazon Web Services, Google Cloud Platform o Parse (de Facebook), además de Dropbox.
HomeKit
Con la incorporación del framework de HomeKit, los desarrolladores podremos integrar nuestras aplicaciones con cualquier dispositivo compatible con iOS. Es decir, podremos controlar luces, abrir puerta o ventanas, manejar sensores y monitorizar información, etc… Además de la incorporación de Siri para manejarlo.
Apple promueve un API compatible y público con los distintos fabricante para estandarizar el acceso y comunicación por medio del API de Homekit a los dispositivos. Todas estas APIs están integradas en iOS 8 y se podrán usar con XCode 6.
HealthKit
Hasta la pasada keynote, Apple no había lanzado ninguna aplicación de saluda (o cuantificación). Sí que existen decenas de apps que recolecta información del usuario tanto de fitness como de metricas más especificas. Con la aplicación Health, Apple quiere unificar todas esa información en un centro común que pueda ser usado para compartir información de forma segura, incluso entre pacientes y médicos.
Para esa colaboración, iOS 8 SDK cuenta con distintas APIs de HealthKit que permite la compartición de datos y acceso a través de la app de Health.
Touch ID API
Desde que se lanzó el reconocimiento por huella en iPhone 5S se hablaba de las posibidades de una API para utilizarlo por otras aplicaciones a parte del bloqueo de pantalla y poco más en Apple. Al fin, Touch ID cuenta con una API que puede ser usada por otras aplicaciones para facilitar el login dentro de la aplicación o incluso realizar compras y más. En la keynote se puso de ejemplo la simplicidad del login en la app de Mint o incluso el uso de Touch ID junto HomeKit para abrir puerta en casa.
Metal y mejoras de SceneKit para gráficos 2D y 3D
Entre las más de 4.000 nuevas APIs y cambios del SDK de iOS 8 nos encontramos con las referentes a Metal. Se trata de una API de gráficos que accede directamente a instrucciones a bajo nivel de procesador A7 de Apple para conseguir gráficos aún más fluidos.
También se han incorporado importantes mejoras en SceneKit para los desarrolladores de juegos casual en 2D y 3D, así como nuevas funciones kinematicas y físicas per-pixel en SpriteKit.
Widgets e interoperatividad entre apps
Con iOS 8 se podrá desarrollar pequeños widgets en las barra de notificaciones para mostrar información interactivas, así como crear notificaciones dinámicas que contengan acciones.
Otras de las novedades es poder crear sobre las aplicaciones “proyecciones” de otras aplicaciones para interoperar entre sí sin salir de la app con la interfaz de una terceras aplicaciones. Lo cual deja la puerta abierta a extensiones en Safari o, por ejemplo, el uso de Photokit en aplicaciones fotográficas.
Integración de Testflight para la distribución de betas
iOS 8 y XCode 6 tendrá finalmente Testflight integrado para la distribución de betas de las aplicaciones, tal como se suponía después de la sorprendente compra por parte de Apple de la compañía desarrolladora de Testflight. De esta forma Apple quiere frenar el uso de otras soluciones como Hockeyapp con Crashlytics (de Twitter) por parte de los desarrolladores.
Disponibilidad de XCode 6 Beta
Como viene siendo habitual, ya está disponible XCode 6 Beta con iOS 8 para ir probando junto Swift nuevas funcionalidades en nuestras apps.
Más información | iOS 8 Developer En Genbeta Dev | Swift, Apple lanza un nuevo lenguaje para programar en iOS y OS X