Descripción del Bridge for iOS (Project Islandwood - WinObjC): sus características, sus limitaciones y sus expectativas a futuro. Como crear proyectos que funcionen tanto en XCode/iOS y VS/Windows 10 usando el bridge
4. #helloWindows10
¿Qué es Windows Bridge for iOS?
Cocoa Touch en Windows 10
Uso de proyecciones
Controles XAML con el Bridge
¿Qué queda por hacer en el Bridge?
Agenda
7. #helloWindows10
Antiguamente conocido como “Project Islandwood”
Actualmente la gente se refiere a él como WinObjC
Conjunto de herramientas para ayudar a migrar apps
de iOS a Windows 10
Open Source -
https://github.com/Microsoft/WinObjC/
Qué es Bridge For iOS
10. #helloWindows10
Visual Studio 2015 capaz de compilar código
Objective-C
Se usa el compilador de CLANG para ello, de forma integrada
Sensación de depuración integrada
Herramienta (básica) para crear un .sln a partir de un
proyecto de XCode
APIs principales de Foundation y Cocoa Touch usables
Proyecciones para funcionalidades nativas de Win10
Qué está hecho…
11. #helloWindows10
NO es una máquina virtual o un emulador
MS ha creado un runtime de Objective-C propio
Ha reimplementado Foundation y Cocoa Touch
usando código C/Objective-C
Ha integrado CLANG dentro de VS para poder
compilar código Objective-C
Como funciona…
13. #helloWindows10
Herramienta que crea una solución de VS a partir de
un proyecto de XCode
Mapea los “groups” de XCode a las carpetas virtuales
de Visual Studio en proyectos C++
Permite exportar todos o un solo de los “targets” del
proyecto XCode
VSImporter
15. #helloWindows10
Librería de UI de iOS
Contiene los controles básicos de UI (UIButton,
UILabel, UIImageView,…) así como las clases para
soportar el modelo MVC de iOS (UIViewController,…)
WinObjC ha implementado la mayoría de controles
básicos para Windows 10 con un look and feel similar
al de iOS
Cocoa Touch
18. #helloWindows10
WinRT es una API C++ basada en COM y con
metadatos en formato CLI. Es una API unmanaged
Windows define “proyecciones” para poder usar la API
en varios lenguajes de desarrollo
.NET (C# / VB.NET)
JavaScript
¿Qué son las proyecciones?
19. #helloWindows10
Bridge from iOS añade una proyección para poder
usar las APIs de Windows 10 con Objective-C
Para ello debemos usar los ficheros de cabecera
include/platform/Universal Windows/UWP
Usar esas proyecciones nos permite acceder a las APIs
nativas de Windows 10 y reemplazar aquellas partes
no disponibles
¿Qué son las proyecciones?
24. #helloWindows10
No hay soporte para storyboards
Ni tampoco para ficheros .xib
Debe usarse código Objective-C para crear las vistas
Qué queda por hacer
25. #helloWindows10
Sin soporte para layout constraints
... Ni tampoco para las size classes
Muy dificil migrar aplicaciones “universales de XCode”
o adaptativas
Qué queda por hacer
26. #helloWindows10
No hay soporte para mapas
No hay soporte para AddressBook
No hay soporte para MediaCapture ni Playback
Esas funcionalidades deben reimplementarse usando
las proyecciones hacia los componentes nativos de
Win10
Qué queda por hacer