Profundizando las capacidades y el modelo de aplicación de Windows 8

40
Platform for building Windows Store Apps Pablo García Principal Platform Specialist Microsoft

description

 

Transcript of Profundizando las capacidades y el modelo de aplicación de Windows 8

Page 1: Profundizando las capacidades y el modelo de aplicación de Windows 8

Platform for buildingWindows Store AppsPablo GarcíaPrincipal Platform SpecialistMicrosoft

Page 2: Profundizando las capacidades y el modelo de aplicación de Windows 8

Windows reimagined

New fast and fluid Start screen

Everything great about Windows 7 we made even better

Touch, mouse, keyboard

Page 3: Profundizando las capacidades y el modelo de aplicación de Windows 8

Windows 8 Platform

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 4: Profundizando las capacidades y el modelo de aplicación de Windows 8

Windows 8 HTML5 Application

demo

Page 5: Profundizando las capacidades y el modelo de aplicación de Windows 8

HTML5 & Windows 8

Page 6: Profundizando las capacidades y el modelo de aplicación de Windows 8

IE10 hardware-accelerated platformCSS 2D Transforms

CSS 3D Transforms

CSS Animations

CSS Backgrounds & Borders

CSS Color

CSS Flexbox

CSS Fonts

CSS Grid

CSS Hyphenation

CSS Image Values (Gradients)

CSS Media Queries

CSS multi-column Layout

CSS Namespaces

CSS OM Views

CSS Positioned Floats (Exclusions)

CSS Selectors

CSS Transitions

CSS Values and Units

Data URI

DOM Element Traversal

DOM HTML

DOM Level 3 Core

DOM Level 3 Events

DOM Style

DOM Traversal and Range

DOMParser and XMLSerializer

ECMAScript 5

File Reader API

File Saving

FormData

HTML5 Application Cache

HTML5 async

HTML5 BlobBuilder

HTML5 Canvas

HTML5 Drag and drop

HTML5 Forms and Validation

HTML5 Geolocation

HTML5 History API

HTML5 Parser

HTML5 Sandbox

HTML5 Selection

HTML5 semantic elements

HTML5 track

HTML5 video and audio

JavaScript Typed Array

ICC Color Profiles

IndexedDB

Page Visibility

Pointer (Mouse, Pen, and Touch) Events

RequestAnimationFrame

Navigation Timing

Selectors API Level 2

SVG Filter Effects

SVG, standalone and in HTML

Web Messaging

Web Sockets

Web Workers

XHTML/XML

XMLHttpRequest (Level 2)

XMLHttpRequest CORS

Page 7: Profundizando las capacidades y el modelo de aplicación de Windows 8

Popular CSS3 features in Windows 8

2D & 3D transforms

Transforms Animations

Transitions

MotionGrid

Flexbox

Layout

Gradients

Filter Effects

Text-shadow

GraphicsMulti-column, hyphenation

Pagination

Position float

Content flow

Windows hardware acceleration makes these beautiful and fast

Page 8: Profundizando las capacidades y el modelo de aplicación de Windows 8

Context in HTML/JS Windows appsFeature Local context Web context

Windows Run-time Yes No

Windows Library for Javascript

Yes No

External script references

No Yes

Cross-domain XHR requests

Yes No

Automatic filtering for script injection on DOM

Yes No

There are ways to communicate across contexts, ways to give websites access to some web standards features and ways to skip automatic filtering within a function.

Page 9: Profundizando las capacidades y el modelo de aplicación de Windows 8

WinJSHelpers for Namespaces, Constructor Definition

Promises

App Model

Navigation

Page & User controls

Data binding

Controls

Animations

Templates

Utilities

Default CSS Styles

Page 10: Profundizando las capacidades y el modelo de aplicación de Windows 8

WinJS controls SettingsFlyout

Flyout

Appbar

Semantic Zoom

Flipview

SemanticZoomListview

Menu

Rating

Slide does not include all WinJS controls (Tooltip, ViewBox, ToggleSwitch, HTMLControl, etc.)

DatePicker

Page 11: Profundizando las capacidades y el modelo de aplicación de Windows 8

Windows Run-time (WinRT)

Page 12: Profundizando las capacidades y el modelo de aplicación de 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 13: Profundizando las capacidades y el modelo de aplicación de Windows 8

WinRT WinRT APIs are asychronous

WinRT APIs provide rich access to device, OS and services

WinRT APIs feel natural in C#, Javascript and C++

Page 14: Profundizando las capacidades y el modelo de aplicación de Windows 8

Language projections

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 15: Profundizando las capacidades y el modelo de aplicación de Windows 8

App Execution Environment

Page 16: Profundizando las capacidades y el modelo de aplicación de Windows 8

Windows Store app acquisition

Windows Store

backend

Package ManagerWindows

Store install

Execution Engine

Extension

Handler

stage Single instance store

register Registration Information

Page 17: Profundizando las capacidades y el modelo de aplicación de Windows 8

Building blocks of an app package App Manifest contains all information needed to deploythe app

Blockmap contains hashes of all files within the app package

Signature validates the integrity of the app package

AppXManifest.xml

BlockMap

Signature

Zip Central Directory

Files / Assets

.appx package

Page 18: Profundizando las capacidades y el modelo de aplicación de Windows 8

App manifest and capabilities Explicitly declares the app integration endpoints 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.)

Contained in appxmanifest.xml; Visual Studio provides editor

Page 19: Profundizando las capacidades y el modelo de aplicación de Windows 8

Process Isolation

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 20: Profundizando las capacidades y el modelo de aplicación de Windows 8

Process state transitions

RunningApp

Suspended

App

suspending Terminated

App

Low Resources

Code gets to runNo code

runs App not running

resuming

App gets 5s to handle suspend

App is not notified before

termination

Apps are notified when they have been resumed

User Launches App

Splash screen

Page 21: Profundizando las capacidades y el modelo de aplicación de Windows 8

App data vs. User data

User data

Documents Photos Music Videos

App data

Settings FilesSession State

Local Cache

Page 22: Profundizando las capacidades y el modelo de aplicación de Windows 8

Roaming

App uses data normally

Data syncs for the user’s Microsoft account

LocalStorage

Page 23: Profundizando las capacidades y el modelo de aplicación de Windows 8

Recap: App execution

Connected

Seamless data access Data Roaming

Powerful

PerformantNative platform

Confident

Capabilities driven High isolation

Page 24: Profundizando las capacidades y el modelo de aplicación de Windows 8

Push Notifications with Windows Azure Mobile Services

Page 25: Profundizando las capacidades y el modelo de aplicación de Windows 8

What is Windows Azure Mobile Services?

Data

Notifications

Auth

Server Logic

Scale

Logging

Diagnostics

Page 26: Profundizando las capacidades y el modelo de aplicación de Windows 8

Elementos de diseño

Page 27: Profundizando las capacidades y el modelo de aplicación de Windows 8
Page 28: Profundizando las capacidades y el modelo de aplicación de Windows 8
Page 29: Profundizando las capacidades y el modelo de aplicación de Windows 8
Page 30: Profundizando las capacidades y el modelo de aplicación de Windows 8

Hub

Contoso Travel Featured destinations Last minute deals

Spoke

sD

eta

ils

7 night Alaska Cruise

Last Minute Deals

Featured destinations Barcelona, Spain

Last Minute Deals 7 Night Alaska Cruise

Ocean View Cabins

Upgrade from an inside cabin and save $43/night/person!Picture windows with ocean and port viewsFrom $2,099 — only $150/night/person based on double occupancy

Suites

Upgrade from an inside cabin and save $43/night/person!Picture windows with ocean and port viewFrom $2,099 — only $150/night/person do

My Trips Weather

7 daysChicago (3/11 – 3/19)

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Attractions

My Trips

Featured Destinations Top Destinations for 2012

Barcelona, Spain

My Trips City Guide

Page 31: Profundizando las capacidades y el modelo de aplicación de Windows 8

Hub

Contoso Travel Featured destinations Last minute deals My Trips

Spoke

sD

eta

ils

7 night Alaska Cruise

Last Minute Deals

Featured destinations Barcelona, Spain

Last Minute Deals 7 Night Alaska Cruise

Ocean View Cabins

Upgrade from an inside cabin and save $43/night/person!Picture windows with ocean and port viewsFrom $2,099 — only $150/night/person based on double occupancy

Suites

Upgrade from an inside cabin and save $43/night/person!Picture windows with ocean and port viewFrom $2,099 — only $150/night/person do

My Trips Weather

7 daysChicago (3/11 – 3/19)

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Today54/43 Mostly Sunny

Attractions

My Trips

Featured Destinations Top Destinations for 2012

Barcelona, Spain

Page 32: Profundizando las capacidades y el modelo de aplicación de Windows 8

Design for touch first

Press and hold to learn

Tap for primary action Slide to pan Swipe to select

Turn to rotateSwipe from edge for app commandsPinch to zoom

Swipe from edge for system commands

Follow the Windows 8 touch language and use only the prescribed gesture set

Page 33: Profundizando las capacidades y el modelo de aplicación de Windows 8

Design for Touch FirstDesign with hands and fingers in mindHit targets should be sized and spaced for touch, your finger is not a pointerDesign with comfort, ergonomics and occlusion in mind

Page 34: Profundizando las capacidades y el modelo de aplicación de Windows 8

Design for Multiple Views

Widescreen (1366x768+) Snap view (required)Minimum (1024x768)

Portrait

People multi-task. An application can be displayed any one of these layouts:

Page 35: Profundizando las capacidades y el modelo de aplicación de Windows 8

Windows 8 Contracts

http://msdn.microsoft.com/en-us/library/windows/apps/hh464906(v=VS.85).aspx

1+1=3. Leverage other apps to complete scenariosCharms provide a consistent invocation model that users can always confidently rely onStart with the VS Item Template (available for Search, Share, File Picker extension)

Page 36: Profundizando las capacidades y el modelo de aplicación de Windows 8

Share

http://msdn.microsoft.com/en-us/library/windows/apps/hh465251(v=VS.85).aspx

Share Source Share a link to online contentShare a copy of the actual content

Share Target Keep interactions simple Use inline controls for errors or progress

Page 37: Profundizando las capacidades y el modelo de aplicación de Windows 8

Lorem IpsumLorem Ipsum dolor sit amet

Page 38: Profundizando las capacidades y el modelo de aplicación de Windows 8

Search

http://msdn.microsoft.com/en-us/library/windows/apps/hh465233(v=VS.85).aspx

Leverage search so users can search your content from anywhere in WindowsSearch vs FindSearch (use the contract)

Scope is across your app’s content setResult is usually a list of items containing the search term. From the search results page, you can then navigate to the view the item

Find (use in-app UI)Scope is within the current view (ex: Ctrl+F in IE or Word)Result is usually already on the page you are viewing. You just need help locating it

Page 39: Profundizando las capacidades y el modelo de aplicación de Windows 8
Page 40: Profundizando las capacidades y el modelo de aplicación de Windows 8