44
Desenvolvendo Aplicações para Windows 8 Daniel Ferreira (@dfsdaniel) Engenheiro de Sistemas CESAR

Desenvolvendo Aplicações para Windows 8

Embed Size (px)

DESCRIPTION

Apresentação realizada na UNICAP com um overview sobre desenvolvimento com Windows 8 e Windows Phone 8

Citation preview

Page 1: Desenvolvendo Aplicações para Windows 8

Desenvolvendo Aplicaçõespara Windows 8

Daniel Ferreira (@dfsdaniel)Engenheiro de Sistemas CESAR

Page 2: Desenvolvendo Aplicações para Windows 8

Porque Windows?

Page 3: Desenvolvendo Aplicações para Windows 8

Oportunidades

Page 4: Desenvolvendo Aplicações para Windows 8

Windows reinventado

Nova tela inicial rápida e fluida

Tudo de melhor do Windows 7 melhorado foi melhorado

Touch, mouse, teclado

Page 5: Desenvolvendo Aplicações para Windows 8

Cross-hardware

De tablets a laptops, tudo integrado

Melhor uso de cada processador

Touch, mouse, teclado

Page 6: Desenvolvendo Aplicações para Windows 8

Windows 8

demo

Page 7: Desenvolvendo Aplicações para Windows 8

Experiência Windows 8 Experiência do usuário rápida e fluida

Responsiva, dinâmica e bonita

Tela cheia imersiva Atenção focada nas suas apps

Touch integrado com mouse e tecladoPermite que o usuário escolha a forma de interação

Apps rodando de forma integradaApps podem ser conectadas através da nuvem

Preparado para diversas arquiteturas

Page 8: Desenvolvendo Aplicações para Windows 8

Investimentos da Plataforma

Page 9: Desenvolvendo Aplicações para Windows 8

Investimentos Principais

Nova Windows Runtime (WinRT)

Novo ambiente de execução

Nova Experiência do Usuário

Windows Store

Page 10: Desenvolvendo Aplicações para Windows 8

Plataforma

Windows Store Apps

HTMLJavaScri

pt

CC++

C#VB

Desktop Apps

Win32

.NET / SL

Internet Explore

r

Communication

& Data

Application Model

Devices & Printing

WinRT APIsGraphics &

Media

Syst

em

Serv

ices

JavaScript(Chakra)

CC++

C#VB

XAML HTML / CSSVie

wM

od

el

Contr

olle

r

Windows Core OS ServicesCore

Page 11: Desenvolvendo Aplicações para Windows 8

Windows Run-time (WinRT)

Page 12: Desenvolvendo Aplicações para Windows 8

demo Hello WinRT com C++

Page 13: Desenvolvendo Aplicações para Windows 8

Pontos chaves APIs do Windows Runtime são nativas

C++ com nova camada de apresentação (XAML)

Código C++ enxuto

Page 14: Desenvolvendo Aplicações para Windows 8

Windows Runtime APIs

FundamentalsApplication

Services Threading/Timers Memory Management Authentication Cryptography Globalization

Devices

Geolocation Portable Sensors NFC

User Interface

SVG Tiles Input Accessibility Printing

HTML5/CSS XAML DirectX Controls Data Binding

Communications & Data

Memory Management XML Networking SMS

Notifications Streams

Contracts Local & Cloud Storage Web

Media

Playback Capture PlayTo Visual Effects

Page 15: Desenvolvendo Aplicações para Windows 8

demo Hello WinRT com C#

Page 16: Desenvolvendo Aplicações para Windows 8

Pontos Chaves APIs da WinRT APIs são assíncronas

APIs da WinRT APIs permitem rico acesso ao dispositivo e serviços do SO

APIs da WinRT APIs funcionam igualmente em em C#, Javascript , C++ ou VB.

Page 17: Desenvolvendo Aplicações para Windows 8

Projeções das Linguagens

WindowsRuntime

Object(or Component)

Writtenin C++, C#, VB

Windows Metadata

C++ App

Pro

jecti

on

CLR

C#/VB App

Pro

jecti

on

HTML AppCh

akra

Pro

jecti

on

Page 18: Desenvolvendo Aplicações para Windows 8

Experiência do Usuário

Page 19: Desenvolvendo Aplicações para Windows 8

Novos Controles Suportados

Page 20: Desenvolvendo Aplicações para Windows 8

Novos Controles Suportados

Page 21: Desenvolvendo Aplicações para Windows 8

Novos Controles Suportados

Page 22: Desenvolvendo Aplicações para Windows 8

Layouts Diferentes

Full screen FillSnap

Page 23: Desenvolvendo Aplicações para Windows 8

Preocupação com Orientação

Page 24: Desenvolvendo Aplicações para Windows 8

Gestos suportados

Page 25: Desenvolvendo Aplicações para Windows 8

Controles Típicos

Page 26: Desenvolvendo Aplicações para Windows 8

Traços de um bom aplicativo

Princípios do Design Metro

Ser rápido e fluidoEscalável a diferentes tamanhosElementos alinhados

Investimento num bom tile

Bons feedbacks ao usuário

Uso correto da nuvem

Page 27: Desenvolvendo Aplicações para Windows 8

Ambiente de Execução

Page 28: Desenvolvendo Aplicações para Windows 8

Estrutura de uma aplicação App Manifest contem todas as informações necessárias para instalação da aplicação

Blockmap informações de todos os arquivos que compõem a aplicação

Signature validação da aplicação

AppXManifest.xml

BlockMap

Signature

Zip Central Directory

Files / Assets

.appx package

Page 29: Desenvolvendo Aplicações para Windows 8

Arquivo de Manifesto Declaração de todos os pontos de integração File capabilities (music/pictures/videos/documents libraries,

removable storage) Devices (webcam, microphone, location, sms, proximity);

extensible to new device classes Network and identity (internet, private network, credentials) File type associations App contracts (search, share, etc.)

appxmanifest.xml;

Page 30: Desenvolvendo Aplicações para Windows 8

Execução Isolada

OS

User data Devices Communications Handlers Tiles Cryptography … …

Bro

ker

s

Process1Local context

Web contextAppData

Local Temp Roaming

Contracts

Process2Local context

Web contextAppData

Local Temp Roaming

Dire

ct A

PIs

Page 31: Desenvolvendo Aplicações para Windows 8

Estados da Aplicação

App rodando

App suspensa

suspendendo App

finalizadafinalizando

Códigos em execuçãoNenhum código

executandoApp não está executando

retornando

App NÃO são notificadas antes

da finalização

Eventos são lançandos neste

momento

Usuário inicia a aplicaç

ão

Splash screen

Page 32: Desenvolvendo Aplicações para Windows 8

Acesso aos Dados

User data

Documents Photos Music Videos

App data

Settings FilesSession State

Local Cache

Page 33: Desenvolvendo Aplicações para Windows 8

Integração com Windows Azure

Page 34: Desenvolvendo Aplicações para Windows 8

Windows Azure Mobile Services

Data

Notifications

Auth

Server LogicLogging & Diag

ScaleScheduler

Page 35: Desenvolvendo Aplicações para Windows 8

Windows Store

Page 36: Desenvolvendo Aplicações para Windows 8

Alcance sem precedentes

Otimizada para pesquisa

Processo de aprovação transparente

Modelos de negócios flexíveis

Maximização da receita parao desenvolvedor

Windows Store

Page 37: Desenvolvendo Aplicações para Windows 8

Downloads pagos, trials, e app pagas. Você recebe 70% até os primeiros $25k, 80% do restante.

Microsoft Confidential 37

Analytics robusto, de graça, incluindo dados demográficos, comentários, referências e estatísticas de uso e desempenho.

Você pode utilizar sua própria engine de comércio e ter 100% ou utilizar a plataforma de comércio Windows Store’s

The Windows Store

Propagandas com o Microsoft Advertising ou do seu próprio parceiro.

Page 38: Desenvolvendo Aplicações para Windows 8

demo Windows Store

Page 39: Desenvolvendo Aplicações para Windows 8
Page 40: Desenvolvendo Aplicações para Windows 8

Windows Phone 8

Kernel baseado no Windows 8

Uso de XAML para apresentação

Uso de C# ou VB para codificar

.NET APIs compatíveis com WinRT

Page 41: Desenvolvendo Aplicações para Windows 8

demo Windows Phone 8

Page 42: Desenvolvendo Aplicações para Windows 8

MercadoSistema Operacional

2011 Market Share

2015 Market Share

2011-2015Unit

CAGR

Android 38.9% 43.8% 23.7%

BlackBerry OS 14.2% 13.4% 18.3%

Symbian 20.6% 0.1% -68.8%

iOS 18.2% 16.9% 17.9%

Windows Phone 3.8% 20.3% 82.3%

Outros 4.3% 5.5% 27.6%

Fonte: IDC 2012

Android: 38,9% para 43,8%IOS: 18,2% para 16,9%Windows Phone: 3,8% para

20,3%

Page 43: Desenvolvendo Aplicações para Windows 8

Como começar

dev.windowsphone.com

dev.windows.com

Page 44: Desenvolvendo Aplicações para Windows 8

Obrigado!

Daniel Ferreira@dfsdaniel