windows runtime deep dive

27
Windows Runtime Deep Dive Osvaldo Daibert http://twitter.com/daibert Technical Evangelist, Microsoft Brasil [email protected]

Upload: osvaldo-daibert

Post on 24-May-2015

2.617 views

Category:

Technology


5 download

DESCRIPTION

Apresentação na trilha Windows Phone / Windows 8 no TDC Florianópolis 2013.

TRANSCRIPT

Page 1: Windows runtime deep dive

Windows Runtime Deep DiveOsvaldo Daibert http://twitter.com/daibertTechnical Evangelist, Microsoft [email protected]

Page 2: Windows runtime deep dive

Investimentos na Plataforma

Page 3: Windows runtime deep dive

Investimentos Principais

Novas APIs do Windows Runtime (WinRT)Novo Ambiente de Execução de AplicaçõesNova Experiência de Usuário Windows 8

Windows Store

Page 4: Windows runtime deep dive

O que é o Windows (Phone) Runtime• Infraestrutura de componentes para aplicações

nativas Windows 8 / Windows Phone • Conjunto de tipos base compativeis entre várias

linguagens• Tecnologia baseada em COM (isso mesmo!)• Windows.* Runtime objects é um conjunto de

nomes de APIs padronizadas para todas as linguagens (Javascript / C# / VB.Net / C++ …)

Page 5: Windows runtime deep dive

• WinRT não substitui o .NET

• WinRT melhora o .NET

O qu é o Windows (Phone) Runtime

Page 6: Windows runtime deep dive

Plataforma Windows 8

Aplicações Windows Store

HTMLJavaScri

pt

CC++

C#VB

Apps Desktop

Win32

.NET / SL

Internet Explore

r

Comunicação & Dados

Modelo de Aplicação

Dispositivos & Impressão

WinRT APIsGráficos &

Mídia

Serv

iços

do S

iste

ma

JavaScript(Chakra)

CC++

C#VB

XAML HTML / CSSVie

wM

od

el

Contr

olle

r

Serviços do núcleo do Sistema Operacional WindowsN

úcl

eo

Page 7: Windows runtime deep dive

Windows Runtime Architecture

Windows Metadata

& Namespa

ce

Language Projection

Windows Core

Windows Runtime Core

XAMLStorag

e…Network

UI Pickers MediaControls

Windows Store app

Runtime Broker

Language Support

(CLR, WinJS, CRT)

Web Host (HTML, CSS, JavaScript))

Page 8: Windows runtime deep dive

Comparando o Windows Runtime com o COM

COM Windows Runtime

APIs Co* são utilizados para ativação das aplicações como em CoInitializeEx();

APIs Ro* são utilizados para ativação das aplicações como em RoInitialize();

Strings usam tipos nativos BSTRs

Strings usam tipos nativos HSTRING

Todos os componentes COM são derivados da interface Iunknown

Todos os objetos Windows Runtime são derivaods da interface IInspectable

Page 9: Windows runtime deep dive

APIs do Windows Runtime

Page 10: Windows runtime deep dive

APIs para Aplicações Windows Store

APIs fundamentaisApplication

Services Threading/Timers Memory Management Authentication Cryptography Globalization

Dispositivos

Geolocation Portable Sensors NFC

Interface de Usuário

SVG Tiles Input Accessibility Printing

HTML5/CSS XAML DirectX Controls Data Binding

Comunicações & Dados

Memory Management XML Networking SMS

Notifications Streams

Contracts Local & Cloud Storage Web

Mídia

Playback Capture PlayTo Visual Effects

Page 11: Windows runtime deep dive

Windows Runtime As APIs Windows Runtime são assíncronas

As APIs Windows Runtime provêm acesso rico ao dispositivo, sistema operacional e serviços

As APIs Windows Runtime APIs parecem naturais no C#, JavaScript e C++

Page 12: Windows runtime deep dive

Projeção das Linguagens

WindowsRuntime

Escrito emC++, C#, VB

Metadados doWindows

Aplicação C++

Pro

jeçã

o

CLR

Aplicação C#/VB

Pro

jeção

Aplicação HTMLCh

akra

Pro

jeçã

o

Page 13: Windows runtime deep dive

Ambiente de Execução de Aplicações

Page 14: Windows runtime deep dive

Aquisição de Aplicações Windows Store retaguarda

daWindows

Store

Gerenciador de PacotesWindows

Store instalaMecanismo

de execução

Tratador de

extensões

armazena

Repositório unificado

registra Informações de registro

Page 15: Windows runtime deep dive

Blocos de um Pacote de Aplicação Manifesto contém todas as informações necessárias para instalar a aplicação

Blockmap contém os códigos hash de todos os arquivos de dentro do pacote

Assinatura valida a integridade do pacote

AppXManifest.xml

BlockMap

Assinatura

Diretório Central do Zip

Arquivos / Recursos

pacote .appx

Page 16: Windows runtime deep dive

Manifesto da Aplicação e Capacidades Explicitamente declara os pontos de integração da aplicação Capacidade de acessar arquivos (bibliotecas de

músicas/imagens/vídeos/documentos, armazenamento removível)

Dispositivos (webcam, microfone, localização, sms, proximidade); extensível para novos tipos de dispositivos

Rede e identidade (internet, rede privada, credenciais) Associações de tipo de arquivo Contratos da aplicação (busca, compartilhamento, etc.)

appxmanifest.xml

Page 17: Windows runtime deep dive

Ambiente de Execução de Aplicações – Processos e Dados

Page 18: Windows runtime deep dive

Transição dos estados de um Processo

Aplicaçãorodando

suspendendo

retomando

Aplicaçãosuspensa

Poucos Recursos

Aplicação terminada

Page 19: Windows runtime deep dive

Isolamento de Processos

OSDados do usuário Dispositivos Comunicações Tratadores Tiles Criptografia … …

Inte

rmed

iador

es

Processo 1Contexto Local

Contexto Web Dados da aplicação

Local Temp Roaming

Contratos

Processo 2Contexto Local

Contexto Web Dados da aplicação

Local Temp Roaming

APIs

Dire

tas

Page 20: Windows runtime deep dive

Dados da Aplicação vs. Dados do Usuário

Dados do Usuário

Documentos

Fotos Músicas Vídeos

Dados da Aplicação

Configura-ções

ArquivosEstado de

sessãoCache Local

Page 21: Windows runtime deep dive

Roaming / Itinerância

A aplicação usa os dados normalmente

Sincronização de dados para a conta de usuário Microsoft

Armazenamento Local

Page 22: Windows runtime deep dive

Revisão – Ambiente de Execução

Conectado

Acesso aos dados transparente

Roaming de dados

Poderoso

Alto desempenho

Plataforma nativa

Confiável

Baseado em capacidades

Alto isolamento

Page 23: Windows runtime deep dive

Apps C# versus Apps HTML5/ Javascript

Page 24: Windows runtime deep dive

…Booting Windows RT From the firmware, the system can then load the boot manager, boot loader, and in turn the kernel, HAL, and boot device drivers

© 2012 Microsoft Corporation. All rights reserved. Microsoft Confidential - For Internal and Partner Use Only

24

Page 25: Windows runtime deep dive

Windows reimaginadoPara consumidores, para desenvolvedores

Page 26: Windows runtime deep dive

http://aka.ms/mva

http://design.windows.com

http://dev.windows.com

http://aka.ms/Win8hack

Page 27: Windows runtime deep dive

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Windows Runtime Deep Dive

Osvaldo Daibert http://twitter.com/daibertTechnical Evangelist