Universal Windows Platform Bridges

32
Universal Windows Platform Bridges Windows 10 Preview Javier Suárez

Transcript of Universal Windows Platform Bridges

Page 1: Universal Windows Platform Bridges

Universal Windows Platform BridgesWindows 10 Preview

Javier Suárez

Page 2: Universal Windows Platform Bridges

CartujaDotNet

Javier Suárez RuizXAML Developer Bravent

Microsoft MVP Windows Platform

Development

• Blog: http://geeks.ms/blogs/jsuarez

• Email: [email protected]

• Twitter: @jsuarezruiz

Page 3: Universal Windows Platform Bridges

CartujaDotNet

Agenda

El viaje de la convergencia

Project Astoria

Project Islandwood

Project Centennial

Page 4: Universal Windows Platform Bridges

El viaje de la convergencia

Page 5: Universal Windows Platform Bridges

CartujaDotNet

El viaje hacia un Windows único…

IoTHoloLens

Surface Hub

Windows Desktop

Windows Phone

Xbox

ONE CORE OS

ONE APP PLATFORM

ONE STOREWindows 10

Page 6: Universal Windows Platform Bridges

CartujaDotNet

En multiples dispositivos…

Windows 10

PhoneTablet

Pequeña

2-in-1s(Tablet or Laptop)

PC& All-in-OnesPhablet Tablet Grande

Portátil

XboxIoT

Surface Hub

Holografías

Page 7: Universal Windows Platform Bridges

Universal Windows Platform Bridges

Page 8: Universal Windows Platform Bridges

CartujaDotNet

De donde venga tu código, puedes llevarlo a Windows

XboxIoTUniversal

Windows Platform

Middleware

Middleware Partners (e.g., Xamarin)

Game Engine Partners (e.g., Unity)

Plataforma Windows

Universal Windows 8 Apps (C++/C#/JS)

Universal Windows 10 Apps (C++/C#/JS)

Project Centennial (Classic Apps)

Plataforma Web

Microsoft Edge HTML Engine

Cordova Tooling (HTML/JS)

Hosted Web Apps (HTML/JS)

Otras plataformas móviles

Project Astoria (Java/C++)

Project Islandwood (Objective C/C++)

Page 9: Universal Windows Platform Bridges

Project Astoria

Page 10: Universal Windows Platform Bridges

CartujaDotNet

XboxIoTUniversal

Windows Platform

Middleware Platforms

Middleware Partners (e.g., Xamarin)

Game Engine Partners (e.g., Unity)

Windows Platform

Universal Windows 8 Apps (C++/C#/JS)

Universal Windows 10 Apps (C++/C#/JS)

Project Centennial (Classic Apps))

Web Platform

Microsoft Edge HTML Engine

Cordova Tooling (HTML/JS)

Hosted Web Apps (HTML/JS)

Other Mobile Platforms

Project Astoria (Java/C++)

Project Islandwood (Objective C/C++)

Otras plataformas móviles

Project Islandwood

Project AstoriaUsa tu código Java / C++

Puedes usar el IDE Android

Gran cantidad de código reutilizable

Usa tu código Objective C

Usa Visual Studio

Alta cantidad de código reutilizable

De donde venga tu código, puedes llevarlo a Windows

Page 11: Universal Windows Platform Bridges

CartujaDotNet

Se traducen y redireccionan conceptos Android a Windows

Experiencia de usuario Servicios Cloud Platforma

• Acquisition

• Input

• Interacciones App-to-app

• Windowing & navegación

• Notificationes y live tiles

• …

• In-App Purchases

• Anuncios

• Mapas

• Servicios de juegos

• Analíticas

• Servicio de notificación

• …

• Sistema de archivos

• Contactos, fotos,…

• Sensores

• Camara

• Gráficos & Direct X

• …

Page 12: Universal Windows Platform Bridges

CartujaDotNet

Las Apps creadas con Project Astoria son Apps Windows

Los usuarios adquieren las Apps Project

Astoria desde la Windows Store

Experiencia de usuario

Servicios

Platforma

Page 13: Universal Windows Platform Bridges

CartujaDotNet

Las Apps creadas con Project Astoria son Apps Windows

v/sv/sv/s

Experiencia de usuario

Servicios

Platforma

Page 14: Universal Windows Platform Bridges

CartujaDotNet

Microsoft Services

AppInsights

MS Ads

In-app Purchases

Windows Notification Service

Xbox Live Services

Bing Maps

Windows Location services

• Project Astoria SDK in Java

• Use Microsoft services with minimal code change

• Get Started in Dev Center

Las Apps Windows creadas con Project Astoria usan servicios Microsoft

Experiencia de usuario

Servicios

Platforma

Page 15: Universal Windows Platform Bridges

CartujaDotNet

Las capacidades de la plataforma Android se redireccionan a la plataforma Windows

• Sistema de archivos

• Contactos, fotos,…

• Sensores

• Camara

• Gráficos & Direct X

• Networking/sockets

• Ciclo de vida

• Gestión de recursos

• Ejecución en Background

• Seguridad

Experiencia de usuario

Servicios

Platforma

Page 16: Universal Windows Platform Bridges

CartujaDotNet

Windows resource management

Corre directamente encima del Kernel de

Windows

Experiencia de usuario

Servicios

Platforma

Page 17: Universal Windows Platform Bridges

CartujaDotNet

El usuario se mantiene seguro

Experiencia de usuario

Servicios

Platforma

Store Dispositivo seguro Monitorización y respuesta

Page 18: Universal Windows Platform Bridges

Project Islandwood

Page 19: Universal Windows Platform Bridges

CartujaDotNet

Escribe Apps Universales Windows enObjective-C

Se soporta Objective-C

• Compilador y Runtime

APIs

• iOS API (reducida)

Herramientas

• Editor / Workflow

• Importador de proyectos

¿Qué es Project Islandwood?

Page 20: Universal Windows Platform Bridges

CartujaDotNet

Herramientas

Desarrollo integrado en Visual Studio

Proyectos Xcodeimportados a Visual Studio

Lenguajesoportado: colores, autocompletado

Debugging: breakpoints, stack traces, …

Universal API Interop

Page 21: Universal Windows Platform Bridges

CartujaDotNet

Herramientas

Proyecto Xcodeprojects importado a Visual Studio

Configuración del Proyecto compartidaimportada desdeXcode

Page 22: Universal Windows Platform Bridges

Servicios y APIs

Page 23: Universal Windows Platform Bridges

Compatibilidad con la API

Se soporta un subconjunto de APIs de iOS

No es una version específica de iOS

Las APIs más usadas son las primerasimplementadas

• Juegos: OpenGL (ANGLE,

CAEAGLLayer, EAGLContext),

OpenAL, Sensores

• UI: UIKit, CoreAnimation,

CoreGraphics, CoreText,

Touch

• Objective-C: ARC, blocks

• Foundation /

CoreFoundation

• Servicios: StoreKit, Social,

Notificationes, …

Page 24: Universal Windows Platform Bridges

CartujaDotNet

De Nuevo, Windows se encarga de las tareas pesadas

We translate and redirect iOS concepts to Windows concepts

Experiencia de usuario Servicios de monetización Platforma

Windows 10

Page 25: Universal Windows Platform Bridges

Project Centennial

Page 26: Universal Windows Platform Bridges

CartujaDotNet

Test

Actualizar

Convertir

Conversión

AppXMSI

Page 27: Universal Windows Platform Bridges

CartujaDotNet

Namespace del

sistema

App

Namespace

Merged

View

Namespace merging

C:\Windows\System

\advapi.dll

\kernel32.dll

\shell32.dll

C:\Windows\System

\msvcrt.dll

C:\Windows\System

\advapi.dll

\kernel32.dll

\msvcrt.dll

\shell32.dll

App

Page 28: Universal Windows Platform Bridges

CartujaDotNet

Namespace write redirection

Documentos,

etc.

Namespace del

sistema

App

Namespace

AppData &

Registro

App

Page 29: Universal Windows Platform Bridges

CartujaDotNet

Page 30: Universal Windows Platform Bridges

CartujaDotNet

Activación & Comunicación

Page 31: Universal Windows Platform Bridges

CartujaDotNet

Preguntas y respuestas.

¿Dudas?

&

Page 32: Universal Windows Platform Bridges

Universal Windows Platform BridgesWindows 10 Preview

Javier Suárez