WinObjC: Windows Bridge para iOS
-
Upload
javier-suarez-ruiz -
Category
Presentations & Public Speaking
-
view
2.001 -
download
2
Transcript of WinObjC: Windows Bridge para iOS
![Page 1: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/1.jpg)
WinObjcWindows Bridge para iOS
Javier Suárez Ruiz
![Page 2: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/2.jpg)
Agenda1. Universal Windows Platform2. Windows Bridge para iOS3. Herramientas4. Proyecciones5. Roadmap6. Preguntas
![Page 3: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/3.jpg)
Universal Windows Platform
![Page 4: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/4.jpg)
El viaje de la convergencia
IoTHoloLens
Surface Hub
Windows Desktop
Windows Phone
Xbox
ONE CORE OSONE APP PLATFORMONE STOREWindows 10
![Page 5: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/5.jpg)
El viaje de la convergencia
Phone Tablet Pequeña
2-in-1s(Tablet or Laptop)
PC& All-in-OnesPhablet Tablet Grande
Portátil
XboxIoT
Surface Hub
Holografías
Windows 10
![Page 6: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/6.jpg)
Universal Windows PlatformDe donde venga tu código, puedes llevarlo a Windows
Desktop
Mobile
XboxIoT
Holographic
Surface Hub
Universal Windows Platform
MiddlewareMiddleware Partners (e.g., Xamarin)Game Engine Partners (e.g., Unity)
Plataforma WindowsUniversal Windows 8 Apps (C++/C#/JS)
Universal Windows 10 Apps (C++/C#/JS)
Project Centennial (Classic Apps)
Plataforma WebMicrosoft Edge HTML Engine
Cordova Tooling (HTML/JS)
Hosted Web Apps (HTML/JS)
Otras plataformas móvilesProject Islandwood (Objective C/C++)
![Page 7: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/7.jpg)
¿Qué es el Windows Bridge para iOS?
![Page 8: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/8.jpg)
Añade funcionalidad, no la reemplazaNo es un “sandbox”
Añade acceso a herramientas Windows y APIs
Implementa APIs iOSPromover la reutilización de código
Fácil de extenderOpen Source
Abierto a comunidad
Objetivos
![Page 9: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/9.jpg)
HerramientasAntiguamente conocido como “Project Islandwood”.
Ahora llamado WinObjC.
Es un conjunto de herramientas que permiten migrar aplicaciones iOS a Windows 10.
Proyecto Open Source
https://github.com/Microsoft/WinObjC/
¿Qué es?
![Page 10: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/10.jpg)
¿Qué es?Se soporta Objective-C• Compilador y Runtime
APIs• iOS API (reducida)
Herramientas• Editor / Workflow• Importador de proyectos
![Page 11: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/11.jpg)
¿Cómo funciona?
UWP
ARM32 / x86 libobjc2
Objective-C Compiler and Runtime
iOS APIs Storyboards y XIBs Interoperatibilidad XAML
Proyecciones APIs WinRT
iOS Frameworks y herramientas Integración Visual Studio y herramientas
![Page 12: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/12.jpg)
• VSImporter, herramienta que permite crear una solución .sln a partir de un Proyecto Xcode
• Añadido Soporte a APIs principals de Foundation y Cocoa Touch
• Visual Studio utiliza el compilador CLANG para compilar código Objective-C
• Posibilidad de depuración integrada en el IDE• Proyecciones permiten añadir funcionalidades
nativas de Windows 10
¿Cómo funciona?
![Page 13: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/13.jpg)
DEMODEMODEMO
Descargando la herramienta
![Page 14: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/14.jpg)
App Analysis Tool
![Page 15: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/15.jpg)
App Analysis ToolHerramienta que permite obtener un informe detallado de compatibilidad de un paquete con el Bridge.
Herramienta web, no require ni descargas ni instalaciones.
![Page 16: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/16.jpg)
App Analysis ToolEl informe indica feedback sobre elementos soportados, parcialmente soportados y aquellos que no se soportan.
Ante elementos no soportados, la herramienta facilita recomendaciones. Por ejemplo: MapKit no esta soportado, si Bing Maps y control XAML.
![Page 17: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/17.jpg)
DEMODEMODEMO
Analizando un paquete con App Analysis Tool
![Page 18: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/18.jpg)
Más Herramientas
![Page 19: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/19.jpg)
HerramientasDesarrollo integrado en Visual Studio
Proyectos Xcode importados a Visual Studio
Lenguaje soportado: colores, autocompletado
Debugging: breakpoints, stack traces, …
Universal API Interop
![Page 20: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/20.jpg)
Herramientas
Proyecto Xcode projects importado a Visual Studio
Configuración del Proyecto compartida importada desde Xcode
![Page 21: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/21.jpg)
DEMODEMODEMO
Primer vistazo a las herramientas
![Page 22: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/22.jpg)
Es un “Puente”, no un emulador o máquina virtual
![Page 23: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/23.jpg)
Las Apps Bridge son UWP AppsNO es una máquina virtual o emulador.
• Se tiene runtime de Objective-C propio.• Reimplementadas librerías como Foundation y
Cocoa Touch.• CLANG integrado en Visual Studio permite
compilar código Objective-C.
![Page 24: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/24.jpg)
Las Apps Bridge son UWP Apps• Compilado a aplicación nativa UWP.• Se puede distribuir vía Windows Store.• Corre en distintas familias de dispositivos Windows
10.• Se pueden consumer APIs Windows directamente
desde Objective-C• Mapas• Live Tiles• Cortana• Etc
![Page 25: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/25.jpg)
VSImporter
![Page 26: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/26.jpg)
Utilizar VSImporter1. Acceder a la ruta del Proyecto Xcode.
2. Abrir línea de comandos.3. En la línea de commandos ejecutar vsimporter.exe.c:\Projects\MyApp> ..\..\bin\vsimporter.exe
c:\Projects\MyApp> ..\..\bin\vsimporter.exe
![Page 27: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/27.jpg)
Utilizar VSImporter• Se puede utilizer la opción –i para utilizer el modo
interactivo. El modo interactivo permite seleccionar la configuración específica del Proyecto Xcode que se desea importer.
• Utilizando –format podemos especificar el tipo de solución a crear winstore8.1, winphone8.1, o winstore10.
![Page 28: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/28.jpg)
DEMODEMODEMO
De Xcode a Visual Studio
![Page 29: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/29.jpg)
Gestión de UI
![Page 30: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/30.jpg)
Gestión de UI• El Bride Windows de iOS permite
controlar como se muestra la aplicación.
• Incluye propiedades básicas que permiten gestionar el tamaño de la pantalla, la forma de la adaptación de la UI, etc.
![Page 31: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/31.jpg)
Gestión de UIMagnificationEscala la aplicación por la cantidad especificada.
Auto-MagnificationEstablece el valor del factor de magnificación a tamaño adecuado de la ventana.
FixedWidthEstablece el ancho de la aplicación. Un valor de 0 significa que el ancho corresponde al ancho de la ventana.
FixedHeightEstablece el alto de la aplicación. Un valor de 0 significa que el ancho corresponde al alto de la ventana.
![Page 32: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/32.jpg)
Gestión de UISizeWindowToFitSe establece esta propiedad a TRUE si se quiere que WinObjC automáticamente cambie el tamaño de UIWindow para coincidir con el tamaño de la aplicación. Necesario si la aplicación usa Auto Layout.
![Page 33: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/33.jpg)
Storyboards y AutoLayout
![Page 34: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/34.jpg)
Partimos de XCodeNuestra aplicaciónLa interfaz se implementa en Main.storyboard, utilizando un Storyboard definiendo la lógica en el controlador asociado, ViewController.m.
![Page 35: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/35.jpg)
Utilizando VSImporterVSImporter crea una solución Visual Studio desde el Proyecto original Xcode preservando assets, headers y código.
La “magia” se encuentra en el importador y en el runtime.
![Page 36: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/36.jpg)
Repasamos el concepto de StoryboardsUn Storyboard en Xcode es un contenedor de escenas que corresponden con las vistas y objetos usadas en la UI de la App.
El Storyboard permite representar desde una vista individual a multiples escenas conectadas por segues.
Un archivo NIB es el binario compilado del XIB. El importador, para crear y configurar el Proyecto Visual Studio utiliza una herramienta llamada Xib2Nib encargada de tomar los archivos XIB para generar los NIB.
![Page 37: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/37.jpg)
Xib2NibEsta herramienta añade Soporte permitiendo importer Storyboards y NIBs.
Toa los archivos XIB, itera sobre los XML y construye nuevos plist/NIB por cada Storyboard encontrado en el Proyecto.
![Page 38: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/38.jpg)
Partimos de XCodeSizeWindowToFitSe establece esta propiedad a TRUE si se quiere que WinObjC automáticamente cambie el tamaño de UIWindow para coincidir con el tamaño de la aplicación. Necesario si la aplicación usa Auto Layout.
![Page 39: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/39.jpg)
Ejecutar y redimensionar la AppSi ejecutamos la aplicación se visualizará la misma UI mostrada en el simulador de Xcode.
Si se redimensiona la App, se puede observer como responde de forma adaptativa.
![Page 40: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/40.jpg)
DEMODEMODEMO
App utilizando Storyboard y AutoLayout
![Page 41: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/41.jpg)
Depuración
![Page 42: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/42.jpg)
BreakpointsEl Bride soporta depuración en tiempo de ejecución con el uso de breakpoints.
Podemos añadir puntos de rupture (1), cuando estamos parados en el mismo podemos continuar (2), o utilizar las opciones Step Into (3), Step Over(4) y Step Out (5).
![Page 43: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/43.jpg)
Inspección de objetosObjetos de clases Objective-C pueden inspeccionarse (1) además de poder ver variables y propiedades (2).
![Page 44: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/44.jpg)
NSNumber, NSString, NSArray y NSDictionaryLas clases NSNumber, NSString, NSArray y NSDictionary se pueden ver desde las ventanas de Locals y Watch.
![Page 45: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/45.jpg)
DEMODEMODEMO
Depurando App iOS desde Visual Studio
![Page 46: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/46.jpg)
Proyecciones
![Page 47: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/47.jpg)
¿Qué son las proyecciones?WinRT es una API C++ basada en COM. Windows define lo que conocemos como proyecciones para permitir usar la API desde diferentes lenguajes de Desarrollo:• .NET (C# / VB.NET)• JavaScript
![Page 48: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/48.jpg)
¿Qué son las proyecciones?• El Bridge de iOS añade una proyección para poder
usar APIs de Windows 10 desde Objective-C.
• Se utilizan los ficheros de cabecera para poder utilizar proyecciones.
• No solo nos permiten añadir características de plataforma (Live Tiles o Cortana por ejemplo) sino además reemplazar partes no disponibles (Mapas por ejemplo).
![Page 49: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/49.jpg)
Usando proyecciones: Live TilesPara crear Live Tiles se debe:1.Crear payload XML que describa el tile.2.Crear objecto de notificación del Tile y
pasar el XML.3.Crear objeto que permita actualizar el
Tile.4.Pasar el objeto de notificación del Tile al
que actualiza el Tile.
![Page 50: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/50.jpg)
Usando proyecciones: Live Tiles// Create an XML payload that describes the tile - https://msdn.microsoft.com/windows/uwp/controls-and-patterns/tiles-and-notifications-creating-tiles WDXDXmlDocument* tileXml = [WDXDXmlDocument make];
// Build the XML structure NSString *xmlDocument = @"<tile><visual>\n";
// Small Tile xmlDocument = [xmlDocument stringByAppendingString:@"<binding template=\"TileSmall\"><group><subgroup><text>Button!</text></subgroup></group></binding>\n"];
// Medium Tile xmlDocument = [xmlDocument stringByAppendingString:[NSString stringWithFormat:@"<binding template=\"TileMedium\"><group><subgroup><text hint-style=\"subtitle\">Pressed at:</text><text hint-style=\"captionSubtle\">%@</text></subgroup></group></binding>\n", timeDateString]];
// Large Tile xmlDocument = [xmlDocument stringByAppendingString:[NSString stringWithFormat:@"<binding template=\"TileWide\"><group><subgroup><text hint-style=\"subtitle\">Button pressed at:</text><text hint-style=\"captionSubtle\">%@</text></subgroup></group></binding>\n", timeDateString]];
// Cleanup on XML xmlDocument = [xmlDocument stringByAppendingString:@"</visual></tile>\n"]; [tileXml loadXml:xmlDocument]; WUNTileNotification *notification = [WUNTileNotification makeTileNotification: tileXml];
// Notify the user via live tile WUNTileUpdater* tileUpdater = [WUNTileUpdateManager createTileUpdaterForApplication]; [tileUpdater update:notification];
![Page 51: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/51.jpg)
Usando proyecciones: Live TilesA tener en cuenta:• Windows.UI.Notifications.TileUpdateManager
becomes WUNTileUpdateManager• Windows.Data.Xml.Dom.XmlDocument becomes
WDXDXmlDocument
Debemos añadir cabeceras:#ifdef WINOBJC #import <UWP/WindowsUINotifications.h> #import <UWP/WindowsDataXmlDom.h> #endif
![Page 52: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/52.jpg)
DEMODEMODEMO
Veamos varias proyecciones
![Page 53: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/53.jpg)
Roadmap
![Page 54: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/54.jpg)
¿Es oro todo lo que reluce?
![Page 55: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/55.jpg)
RoadmapRecientemente (últimos meses) añadido soporte a:• Storyboard/XIB• ARM• Añadidas máquinas virtuales Azure con todo preparado para usar el Bridge.
![Page 56: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/56.jpg)
Roadmap
![Page 57: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/57.jpg)
Roadmap (Próximamente)En el Roadmap:• Mejorar Soporte UIKit.• Mejoras en KVO/KVC.• Mejorar soporte CoreAnimation.• Mejorar soporte CoreGraphics.• Mejorar soporte seguridad.• Soporte a frameworks de terceros muy usados como AFNetworking, SDK de
Facebook, Bolts, etc.• Soporte para MediaCapture.• Soporte mapas.• Browser de APIs soportadas. Así poder ver de un vistazo que se soporta y que no.• Anotaciones Objective-C en Visual Studio.• Etc.
![Page 58: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/58.jpg)
Soporte a librerías de terceros
![Page 59: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/59.jpg)
Librerías de terceros soportadasKeyChainItemWrapper• SoportadaOAuthConsumer• SoportadaAFNetworking• Versión 2 parcialmente soportada.Bolts• Parcialmente soportado. Facebook iOS SDK• Escenarios básicos como Login funcionan. Parcialmente soportado. Alta prioridad.GTMLogger• Parcialmente soportado.JSONKit• Parcialmente soportado.
![Page 60: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/60.jpg)
Librerías de terceros soportadasOpenAL• Parcialmente soportado.OpenUDID • Parcialmente soportado.Reachability • Parcialmente soportado. No funciona UI si la funcionalidad principal.
![Page 61: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/61.jpg)
iOS Bridge, mejores prácticas• Encapsular código específico del Sistema
utilizando patrones de diseño.• Utilizar APIs Windows 10 utilizando el Bridge.• Actualizar con frecuencia.• Permanecer al día con respect al GitHub del
Bridge.
![Page 62: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/62.jpg)
Preguntas y respuestas.
¿Dudas?
P&R
![Page 63: WinObjC: Windows Bridge para iOS](https://reader035.fdocuments.in/reader035/viewer/2022062823/5876be8c1a28ab6d5a8b45ad/html5/thumbnails/63.jpg)
WinObjcJavier Suárez Ruiz