Home » Noticias » El desarrollo Universal llega con Xcode 8 Beta 3 y SpriteKit
XCode 8 SpriteKit Universal

El desarrollo Universal llega con Xcode 8 Beta 3 y SpriteKit

Si nos seguís hace tiempo, por web o podcast, sabréis que una de las cosas que hemos insistido de hace tiempo es la llegada de la arquitectura Universal a Apple. Esto significa que en Xcode crearíamos un proyecto único con soporte de los cuatro sistemas de Apple y un único bundle para todo el proyecto.

Pero para conseguir esto, Apple debe primero dar el paso de construir una versión Universal de Cocoa que fusione UIKit con AppKit (las librerías de construcción de apps para iOS/tvOS/watchOS y macOS, respectivamente). Y lo normal, es que tire hacia UIKit que es el estándar más moderno y más conocido por los desarrolladores. Esto le permitiría dar un impulso al Mac para atraer más apps hacia él y crearía una sinergia importante de apps del Mac que pasarían a iOS aprovechando nuevos modelos de negocio como el de suscripción. Apps de Mac en iOS, adaptadas a interfaz táctil y que aprovecharan la potencia de los nuevos iPad Pro.

Hoy, Apple ha dado un pequeño primer paso con Xcode 8 hacia esa meta: con la creación de una ventana de selección de perfiles para los proyectos, donde podemos elegir qué sistema es el que vamos a usar como base para crear un proyecto o utilizar la nueva opción cross-platform, que crea un proyecto que soporta todos los sistemas en uno solo.

Cross Platform 01

Como podemos ver en la captura, ahora tenemos una nueva pestaña cross-platform (plataforma cruzada o, como comúnmente se denomina, desarrollo cruzado) donde podemos elegir un proyecto de SpriteKit (el framework de juegos 2D) donde una vez lo elegimos, nos manda a otra ventana que nos permite especificar la inclusión de los ficheros de aplicación de cada una de las plataformas soportas: iOS, watchOS, tvOS y OS X (todavía no lo nombra como macOS, porque también soportaría El Capitan).

Nueva ventana de selección de proyecto para SpriteKit

Una vez seleccionado con los cuatro sistemas, se nos creará un proyecto a partir de la plantilla que incluirá 5 targets, a saber: iOS, watchOS App, watchOS Extension, tvOS y OSX. De igual forma, en el inspector tendremos cinco carpetas con los ficheros base de cada uno de dichos targets, incluyendo en este caso cada uno de los AppDelegate.swift, su fichero info.plist, los storyboard (si corresponde) así como el fichero principal del proyecto SpriteKit: el GameViewController.swift que crea la escena base de tipo SKScene y que nos permite definir el punto de inicio del juego.

Estructura de archivos de los nuevos proyectos de tipo "cross-platform"

Por otro lado, también tenemos la carpeta Shared donde ubicaremos todos los elementos comunes a todos los destinos (o targets) de nuestro proyecto, entre ellos, el fichero principal de assets donde podremos crear nuestros atlas de sprites. También (aunque esto podemos cambiarlo, obviamente) los ficheros de la primera escena que se crea por defecto, tanto .swift como la escena .sks. Por último, añade otra escena .sks con acciones para referenciar la pequeño demo que se crea como base del mismo.

Obviamente, antes podíamos construir todo esto a mano (pues como ya dijimos en su día, SpriteKit siempre ha soportado OSX como un target dentro de un mismo proyecto), añadiendo la app y extensión del Apple Watch (aprovechando que ahora soporta SpriteKit). Pero sin duda es mucho más cómodo y, sobre todo, reseñable, el hecho que Apple ahora haya creado una nueva sección de plantillas de proyecto multi-sistema (cross-platform) que sin duda el día de mañana, estará completo por proyectos de apps que sumen fuerzas de UIKit y AppKit en un nuevo y renovado framework realizado nativamente en Swift.

Y dejo caer un pregunta: ¿qué pasaría si este nuevo Cocoa Universal soportara solo Swift y no Objective-C, al ser nativo en este primero? ¿Sería la forma de Apple de obligar a todos a migrar al nuevo lenguaje? ¿Podría hacerlo? ¿Qué pensaríais si lo hacen? No estamos diciendo que lo vaya a hacer, pero es un interesante tema en el que pensar.

No obstante, todo se está preparando: el tiempo para que esto llegue es lo que aun no tenemos claro. Pero llegar… llegará. Os invitamos a bajaros esta nueva versión desde vuestra cuenta de Apple y contarnos vuestra impresiones. Probad, experimentad y Good Apple Coding.

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

XCTest Asíncronos

Xcode 8.3 incorpora test asíncronos en XCTest

Xcode 8.3 Beta incorpora una importante novedad en desarrollo TDD (pruebas): test asíncronos. Os describimos en qué consisten y cómo funciona esta importante incorporación al necesario flujo de trabajo de los cada vez más necesarios desarrollos orientados a pruebas.