winobjc - windows bridge for ios
TRANSCRIPT
#helloWindows10
Hel10 Windows 10!
#helloWindows10
¿Qué es Windows Bridge for iOS?Cocoa Touch en Windows 10Uso de proyeccionesControles XAML con el Bridge¿Qué queda por hacer en el Bridge?
Agenda
#helloWindows10
Padre orgullosoDesarrollador apasionado currando en Plain Concepts
Bebedor y fabricante aficionado de cervezas
Microsoft MVP
Eduard Tomàs
Introducción
#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 10Open Source - https://github.com/Microsoft/WinObjC/
Qué es Bridge For iOS
WinObjC no está terminado
Hay *mucho* hecho, pero queda *mucho* por hacer
Antes de nada…
#helloWindows10
Visual Studio 2015 capaz de compilar código Objective-C
Se usa el compilador de CLANG para ello, de forma integradaSensación de depuración integrada
Herramienta (básica) para crear un .sln a partir de un proyecto de XCodeAPIs principales de Foundation y Cocoa Touch usablesProyecciones para funcionalidades nativas de Win10
Qué está hecho…
#helloWindows10
NO es una máquina virtual o un emulador
MS ha creado un runtime de Objective-C propioHa reimplementado Foundation y Cocoa Touch usando código C/Objective-CHa integrado CLANG dentro de VS para poder compilar código Objective-C
Como funciona…
Demo: Un vistazo al código de WinObjC
#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
Demo: De Xcode a VS en lo que canta un gallo
#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
Demo: Cocoa Touch en Windows 10
Click icon to add picture
Uso de proyecciones
#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?
#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?
Demo: Lanzar una URL
Demo: Bing Maps
Demo: Checkbox
¿Qué queda por hacer?
#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
#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
#helloWindows10
No hay soporte para mapasNo hay soporte para AddressBookNo hay soporte para MediaCapture ni PlaybackEsas funcionalidades deben reimplementarse usando las proyecciones hacia los componentes nativos de Win10
Qué queda por hacer
#helloWindows10
Q&A
http://aka.ms/W10Ev12
Los ejemplos están en https://github.com/eiximenis/WinObjC-Samples
#helloWindows10
No olvides realizar la encuesta¡Gracias!Eduard TomàsSoftware [email protected]@eiximenis http://aka.ms/W10Ev12