Upload
osvaldo-daibert
View
2.613
Download
5
Tags:
Embed Size (px)
DESCRIPTION
Apresentação na trilha Windows Phone / Windows 8 no TDC Florianópolis 2013.
Citation preview
Windows Runtime Deep DiveOsvaldo Daibert http://twitter.com/daibertTechnical Evangelist, Microsoft [email protected]
Investimentos na Plataforma
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
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++ …)
• WinRT não substitui o .NET
• WinRT melhora o .NET
O qu é o Windows (Phone) Runtime
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
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))
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
APIs do Windows Runtime
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
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++
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
Ambiente de Execução de Aplicações
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
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
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
Ambiente de Execução de Aplicações – Processos e Dados
Transição dos estados de um Processo
Aplicaçãorodando
suspendendo
retomando
Aplicaçãosuspensa
Poucos Recursos
Aplicação terminada
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
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
Roaming / Itinerância
A aplicação usa os dados normalmente
Sincronização de dados para a conta de usuário Microsoft
Armazenamento Local
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
Apps C# versus Apps HTML5/ Javascript
…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
Windows reimaginadoPara consumidores, para desenvolvedores
http://aka.ms/mva
http://design.windows.com
http://dev.windows.com
http://aka.ms/Win8hack
© 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