qcon rio 2015 desenvolvimento para windos...

40
QCON RIO 2015 Desenvolvimento para Windos 10 Alexandre Chohfi – [email protected] @alexandrechohfi

Upload: others

Post on 23-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

QCON RIO 2015Desenvolvimento para Windos 10

Alexandre Chohfi – [email protected]

@alexandrechohfi

Page 2: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Introduzindo o UWP

Page 3: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Windows Core

Um Core comum refatoradoUma plataforma de hardware

Formato unico de acesso ao hardware

Rede e I/O padronizadas

PhoneDispositivo

XboxDispositivo

DesktopDispositivo

Windows Core

DesktopSKU

PhoneSKU

XboxSKU

Page 4: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

One Windows

Desktop

SKU

PC

2 in 1

Mobile

SKU

Tablet

Phablet

Phone

Xbox

SKU

Xbox

IoT

SKU

Band

IoT headless

SKU

Raspberry Pi

Home

Automation

Surface Hub

SKU

Surface Hub

Holographic

SKU

HoloLens

Page 5: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Cada família adiciona funcionalidades em cima do qual ele herda

Page 6: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Fácil de usuáriosadotarem & se

manterem atualizados

Core unificado e plataforma de apps

A jornada de convergência

Windows 10

Kernel do SOConvergido

Modelo de desenvolvimentoconvergido

Page 7: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Phone Tablet Pequeno2-em-1s

(Tablet ou Laptop)Desktops

& All-in-OnesPhablet Tablet GrandeLaptop

Clássico

Xbox IoTSurface Hub Holografico

Windows 10

Page 8: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Uma loja +Um Dev Center

Reuso de códigoexistente

Uma SDK + Ferramenta

Interface de Usuário adaptativa

Inputs de Usuário naturais

Uma Plataforma Universal do Windows

(One Universal Windows Platform)

Page 9: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Universal Windows Platform

Um único conjunto de APIsUm conjunto garantido de APIs

O mesmo em todos os dispositivos

PhoneDispositivo

XboxDispositivo

DesktopDispositivo

Windows Core

Universal Windows Platform

Page 10: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Aplicativos não têm como alvo o Windows 10, aplicativos tem como alvo a plataforma

Page 11: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

<TargetPlatform

Name="Microsoft.Universal"

minVersion="10.0.10240.0"

maxVersionTested="10.0.10532.0"/>

Page 12: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

A plataforma(UWP) podeatualizar-se em seu próprio ritmo

Page 13: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Windows app

Um único binário(pacote)Rodando em qualquer dispositivo

Testando por capacidades(capabilities)

Ajustando para dispositivos

PhoneDispositivo

XboxDispositivo

DesktopDispositivo

Windows Core

Universal Windows Platform

Windows App

Page 14: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

A história do desenvolvedor

Quando desenvolve para iOS, O desenvolvedor escreve para iPad & iPhone

Quando desenvolve para Android, O desenvolvedor escreve para todos os dispositivos suportados

Quando desenvolve para Windows 8, O desenvolvedor escreve para cada um dos dispositivos

Quando desenvolve para Windows 10, O desenvolvedor escreve para todos os dispositivos

Page 15: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Extensões da plataforma

API específica para dispositivosCapacidades específicas da família

Compatível entre dispositivos

Cadência única de atualização

PhoneDispositivo

XboxDispositivo

DesktopDispositivo

Windows Core

Universal Windows Platform

Windows App

Phoneextensão

Xboxextensão

Desktopextensão

Page 16: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Extensões não invalidamos binários em outras plataformas

Page 17: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Universal Windows Platform

Um Sistema OperacionalUm Core do Windows para todos os dispositivos

Uma Plataforma de AppsApps rodam dentro de sua família

Um Dev CenterUm único fluxo de submissão e um dashboard

Uma Loja Alcance global, monetização localConsumidores, Empresas & Academia

Page 18: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

XAML/.Net não é a única maneira de se criar Windows Apps

Page 19: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Windows 10sistema operacional

Tecnologias de pontes(Bridges)

Win32desktop

Webhospedado

JavaAndroid

Obj.CiOS

Universal Windows Platform

WWAC++& CX

.Netlinguagens

HTMLDirectX

XAML

C++

.Netlinguagens

MFCWFWPF

.Netruntime

Page 20: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Tecnologias de pontes (Bridges)

Objective-CNo Build foi anunciado que código iOS pode ser reutilizado em Apps Windows

Project Islanwood: http://github.com/Microsoft/WinObjC

AndroidNo Build foi anunciado que código Android pode ser reutilizado em um App Windows para rodar no Windows Phone

Project Astoria

WebNo Build foi anunciado que web sites podem ser empacotados para rodar no Windows

Win32No Build foi anunciado que Classic Windows Apps (CWA) podem ser empacotados como um Appx

Page 21: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Pontes trazem mais aplicativos para a plataforma Windows

Page 22: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Design Adaptativo

Design responsivoDesign flexivel que responde a pequenas mudanças

Muitos controles gerenciam responsividade básica

Design adaptativoLayouts inteligentes que se ajustam em grandes mudanças

Funcionalidades como visual states ajudam nesta solução

Design sob medida/específico (Tailored)App específico para um dispositivo pode simplificar o design

Alguns dispositivos podem ter uma linguagem de design única

Page 23: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Continuum for Convertibles and PhonesContinuum para conversíveis(2in1) e Celulares

Page 24: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Page 25: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Código adaptativo

Um binário compatível entre devicesAPI universal com implementações específicas por dispositivo

Ilumine seu App com funcionalidadesTestando por namespaces e funcionalidades

Page 26: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Usuários amam Apps que funcionambem em todos seus devices

Page 27: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Teste por recursos em runtime

Utilize código adaptativo para iluminar seu App emdispositivos específicos

var api = "Windows.Phone.UI.Input.HardwareButtons";

if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(api))

{

Windows.Phone.UI.Input.HardwareButtons.CameraPressed

+= CameraButtonPressed;

}

Page 28: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

UAP

Windows Core Windows Core Windows Core Windows Core

UAP UAP UAP

Desktop Mobile Xbox Outros…

Page 29: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

As famílias de dispositivos que vocêescolher determinam quais APIs você poderá chamar livremente

Page 30: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

DEMO

Código adaptativo

Page 31: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Roslyn, o novo compilador para o .Net

Page 32: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Onde eu posso desenvolver?

Windows 10Necessita do Visual Studio 2015

Melhor cenário

Windows 8.1 & Windows Server 2012 R2O designer do Visual Studio não funciona

Debug necessita um dispositivo com Windows 10, emuladores ou as Ferramentas de Debug Remoto (Remote Debugging Tools)

Windows 7O designer do Visual Studio não funciona

Debug necessita um dispositivo com Windows 10 ou as Ferramentas de Debug Remoto (Remote Debugging Tools)

Page 33: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Linguagens gerenciadas estão maiseficientes do que nunca

Page 34: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

.NET Native

Próxima geração de compiladores na núvemTodos Apps Windows

Apps usam o otimizador padrão do C++A medida que o otimizador melhora, o mesmo se reflete no .Net native

Apps com o bootstrapper .NetInclúi garbage collection

Não existe runtimeÉ código de maquina

Page 35: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Todo App Windows será é compilado com o .Net Native

Page 36: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

Beneficios reais com o .Net Native

50% mais rápido na inicialização

14% a menos no consumo médio de memória

Page 37: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

.Net Native habilita a plataforma a atualizar-se muito mais rápidopois não tem dependências nospacotes

Page 38: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

http://windows.Microsoft.com

345

609

663

277

510 511

0

100

200

300

400

500

600

700

Hello World (M) Dialer (M) Calc (PC)

Tem

po

em

ms

8.1 10

7.5

12.6

18.4

4.2

7

12.5

0

2

4

6

8

10

12

14

16

18

20

Hello World (M) Dialer (M) Calc (PC)

Din

âm

ica

em

MB

8.1 10

InicializaçãoMemória

Beneficios da plataforma universal

Page 39: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Windows 10 renderizatexto 50% mais rápido

Page 40: QCON RIO 2015 Desenvolvimento para Windos 10qconrio.com/rio2015/system/files/presentation-slides/...A história do desenvolvedor Quando desenvolve para iOS, O desenvolvedor escreve

Perguntas?