winobjc - windows bridge for ios

28
#helloWindows10 Hel10 Windows 10!

Upload: eduard-tomas

Post on 13-Apr-2017

517 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Winobjc - Windows Bridge for iOS

#helloWindows10

 Hel10 Windows 10!

Page 2: Winobjc - Windows Bridge for iOS

#helloWindows10

Eduard TomàsSoftware [email protected]@eiximenis

Windows Bridge for iOS

Page 3: Winobjc - Windows Bridge for iOS
Page 4: Winobjc - Windows Bridge for iOS

#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

Page 5: Winobjc - Windows Bridge for iOS

#helloWindows10

Padre orgullosoDesarrollador apasionado currando en Plain Concepts

Bebedor y fabricante aficionado de cervezas

Microsoft MVP

Eduard Tomàs

Page 6: Winobjc - Windows Bridge for iOS

Introducción

Page 7: Winobjc - Windows Bridge for iOS

#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

Page 8: Winobjc - Windows Bridge for iOS

WinObjC no está terminado

Hay *mucho* hecho, pero queda *mucho* por hacer

Antes de nada…

Page 9: Winobjc - Windows Bridge for iOS
Page 10: Winobjc - Windows Bridge for iOS

#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…

Page 11: Winobjc - Windows Bridge for iOS

#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…

Page 12: Winobjc - Windows Bridge for iOS

Demo: Un vistazo al código de WinObjC

Page 13: Winobjc - Windows Bridge for iOS

#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

Page 14: Winobjc - Windows Bridge for iOS

Demo: De Xcode a VS en lo que canta un gallo

Page 15: Winobjc - Windows Bridge for iOS

#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

Page 16: Winobjc - Windows Bridge for iOS

Demo: Cocoa Touch en Windows 10

Page 17: Winobjc - Windows Bridge for iOS

Click icon to add picture

Uso de proyecciones

Page 18: Winobjc - Windows Bridge for iOS

#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?

Page 19: Winobjc - Windows Bridge for iOS

#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?

Page 20: Winobjc - Windows Bridge for iOS

Demo: Lanzar una URL

Page 21: Winobjc - Windows Bridge for iOS

Demo: Bing Maps

Page 22: Winobjc - Windows Bridge for iOS

Demo: Checkbox

Page 23: Winobjc - Windows Bridge for iOS

¿Qué queda por hacer?

Page 24: Winobjc - Windows Bridge for iOS

#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

Page 25: Winobjc - Windows Bridge for iOS

#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

Page 26: Winobjc - Windows Bridge for iOS

#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

Page 28: Winobjc - Windows Bridge for iOS

#helloWindows10

No olvides realizar la encuesta¡Gracias!Eduard TomàsSoftware [email protected]@eiximenis http://aka.ms/W10Ev12