qcon rio 2015 desenvolvimento para windos...
TRANSCRIPT
Introduzindo o UWP
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
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
Cada família adiciona funcionalidades em cima do qual ele herda
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
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
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)
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
Aplicativos não têm como alvo o Windows 10, aplicativos tem como alvo a plataforma
http://windows.Microsoft.com
<TargetPlatform
Name="Microsoft.Universal"
minVersion="10.0.10240.0"
maxVersionTested="10.0.10532.0"/>
A plataforma(UWP) podeatualizar-se em seu próprio ritmo
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
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
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
Extensões não invalidamos binários em outras plataformas
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
XAML/.Net não é a única maneira de se criar Windows Apps
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
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
Pontes trazem mais aplicativos para a plataforma Windows
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
http://windows.Microsoft.com
Continuum for Convertibles and PhonesContinuum para conversíveis(2in1) e Celulares
http://windows.Microsoft.com
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
Usuários amam Apps que funcionambem em todos seus devices
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;
}
http://windows.Microsoft.com
UAP
Windows Core Windows Core Windows Core Windows Core
UAP UAP UAP
Desktop Mobile Xbox Outros…
As famílias de dispositivos que vocêescolher determinam quais APIs você poderá chamar livremente
DEMO
Código adaptativo
Roslyn, o novo compilador para o .Net
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)
Linguagens gerenciadas estão maiseficientes do que nunca
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
Todo App Windows será é compilado com o .Net Native
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
.Net Native habilita a plataforma a atualizar-se muito mais rápidopois não tem dependências nospacotes
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
Windows 10 renderizatexto 50% mais rápido
Perguntas?