34
Microsoft and Mobile Jennifer Marsman Principal Developer Evangelist, Microsoft http://blogs.msdn.com/jennifer Twitter: @JenniferMarsman

Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Microsoft and Mobile Jennifer Marsman

Principal Developer Evangelist, Microsoft

http://blogs.msdn.com/jennifer

Twitter: @JenniferMarsman

Page 2: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

There is an app store for Windows 8.

Page 3: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals
Page 4: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Why Windows?

Page 5: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Opportunity

As of March 2012, IDC

Page 6: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals
Page 8: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Windows 8 Intro

Page 9: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Windows 8 Architecture

Windows Kernel Services

.NET

SL Win32

Internet

Explorer

C#

VB C / C++

HTML

JavaScript

Desktop Apps

(x86/x64 Devices Only)

Windows Runtime APIs (WinRT)

Application Model

Communication

& Data

Graphics &

Media

Devices &

Printing

C /C++ C# / VB.NET JavaScript

XAML HTML5

Modern Windows 8 Apps

(ARM & x86/x64 Devices)

The New Way Works on ARM Devices as Well The Old Way Still Works

Page 10: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Full Fill Snap

Page 11: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

• Support communication between Apps

• Even though apps don’t know each other

• Many exposed via the “Charms Bar”

• Contracts include:

• Search to allow users to search data from your app

• Share to provide information to another app

• Settings to store Application Settings

• File Picker provides App to App file services

• Play To to play Media to connected DNLA devices

Page 12: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

A front door A complete picture

Draw you in Remind you Personal

While you were away

Connected

Next up An extension to the App

Page 13: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals
Page 14: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Multiple Devices

App Settings

App State

Users will likely have multiple devices

• Desktop, Laptop

• Tablet

• Phone

Save settings to the cloud so that applications that run on multiple

devices have consistent configuration. When user changes a setting

on one device, it should be reflected on their other devices

Application state should be persisted to the cloud and consumed by

all devices:

• Current page in a document

• Current level in a game

• Etc.

Page 15: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

How to get started with Windows 8 Dev

Contoso Cookbook hands-on lab:

http://aka.ms/ContosoCookbook

Download:

Win8CS.Setup.exe – lab in XAML and C#

Win8JS.Setup.exe – lab in HTML5 and JavaScript

Page 16: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Windows Phone 8 Intro

Page 17: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Windows Phone 8 Programming APIs

Windows Phone 8 supports

• Managed app dev using

the WP7.1, WP8.0 .NET

and WinPRT APIs

• Native app dev using

WinPRT and Win32

• Games dev using the

WP7.1 XNA framework

• Games dev using

Direct3D or DirectX

.NET API for

Windows

Phone

Windows

Phone

Runtime

Win32 &

COM

Managed Managed &

Native

Native

WP7.1 XAML & C#/VB

WP8.0 XAML & C#/VB

WP8.0 Games DirectX/Direct 3D & C++

WP7.1 XNA & C#/VB

WP8.0 XAML & C#/VB with Direct3D Graphics

+ C++

+ C++

Page 18: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

• MVVM Pattern with Data Binding (to abstract logic from UI)

• Linked files

• #if conditionals

• Portable Class Libraries

• Using Extension methods to bridge implementation differences

• A common user experience bringing high-quality experiences to the

user.

Best Practices for Windows 8 / Windows Phone 8

4/16/2013 Microsoft confidential 21

Page 19: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

4/16/2013 Microsoft confidential 22

Different Form Factors Require Different UX

Windows Phone 8 Windows 8

Screen Size

800x480

1280x720

1280x768

Screen Size

1024x768

2,560x1,440

everything

in between

Page 20: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

4/16/2013 Microsoft confidential 23

Different Form Factors Require Different UX

Windows Phone 8 Windows 8

Orientation

Portrait

Landscape

Orientation

Portrait

Landscape

Snapped

Page 21: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Microsoft confidential 24

Different Controls

GridView

Group-able

Array of Tiles

Dynamic item size

Page 22: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Microsoft confidential 25

Different Controls

FlipView

Browsing View

Touch-optimized for

left-right navigation

Page 23: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Microsoft confidential 26

Different Controls

Semantic Zoom

Pinch-zoom through

grouped list of items

Page 24: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Microsoft confidential 27

Different Form Factors Require Different UX

Panorama

Introduction and

exploratory content

Page 25: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Microsoft confidential 28

Different Form Factors Require Different UX

Pivot

Scanning views

Grouped information

Page 26: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Microsoft confidential 29

Different Form Factors Require Different UX

LongListSelector

Headers and Footers

Group header

navigation

Page 27: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Resources

Page 28: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

• You must be running Windows 8!

• Go to dev.windows.com or dev.windowsphone.com

• Visual Studio 2012 Express for Win 8/Windows Phone *

• Online documentation

• Windows, Live, and Advertising SDKs

• Sample Apps

• Full Versions of Visual Studio can be used

• Windows 8 simulator and Windows Phone

emulator is provided with free tools

* Get Visual Studio from http://aka.ms/JenVS2012

Visual Studio

2012

Page 29: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Porting apps from iOS and Android

MSDN Resources (includes API mappings): •http://aka.ms/Android •http://aka.ms/iOS My blog: http://blogs.msdn.com/jennifer • iOS post: http://aka.ms/JeniOS •Android posts coming…

Page 30: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Join App Builder.

Build apps. Get rewarded.

http://aka.ms/AppBuilderCR

Get 30 days of expert-guided support and motivation.

Get connected with your local Microsoft Technical Evangelist.

Page 31: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

1 2 Publish your app(s) in the Windows Store and/or Windows Phone Store from March 8th to June 30th, 2013.

Enter up to 10 apps per Store and get a $100 virtual Visa card for each that qualifies (up to $2000*).

Enter Now: http://aka.ms/CashForApps *Offer terms and conditions apply

Page 32: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Build 3 apps and get a Windows Phone 8!

• Publish apps by June 30, 2013

• Email [email protected] if interested

Page 33: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Office Hours Jennifer Marsman: http://ohours.org/jennifermarsman

US DPE: http://usdpe.ohours.org

Page 34: Microsoft and Mobile - Meetupfiles.meetup.com/1698110/MicrosoftMobileIntro - Marsman.pdf• MVVM Pattern with Data Binding (to abstract logic from UI) • Linked files • #if conditionals

Questions?