Introduction to Windows Mobile Development Tony Whitter [email protected].

29
Introduction to Introduction to Windows Mobile Windows Mobile Development Development Tony Whitter Tony Whitter [email protected] [email protected]

Transcript of Introduction to Windows Mobile Development Tony Whitter [email protected].

Page 1: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Introduction to Windows Introduction to Windows Mobile DevelopmentMobile Development

Tony WhitterTony [email protected]@microsoft.com

Page 2: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

AgendaAgenda

OrientationOrientation Mobile PlatformMobile Platform .NET Compact Framework.NET Compact Framework Windows Mobile RoadmapWindows Mobile Roadmap

Page 3: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

OrientationOrientation

Page 4: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Developing for DevicesDeveloping for Devices

Device development is now easierDevice development is now easier Can use existing skills and tools for many tasksCan use existing skills and tools for many tasks

Visual Studio .NET 2003Visual Studio .NET 2003 C# and Visual Basic .NETC# and Visual Basic .NET .NET (Compact) Framework.NET (Compact) Framework

Some tasks still better suited to Embedded C++Some tasks still better suited to Embedded C++

Can target multiple platformsCan target multiple platforms Personal Digital Assistants (PDAs)Personal Digital Assistants (PDAs)

Windows Mobile Pocket PC 2003Windows Mobile Pocket PC 2003 Windows Mobile Pocket PC 2003 Phone EditionWindows Mobile Pocket PC 2003 Phone Edition

SmartphonesSmartphones Windows Mobile Smartphone 2003Windows Mobile Smartphone 2003

Page 5: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Smart Device ProjectsSmart Device Projects Visual Studio .NET 2003 has a Smart Visual Studio .NET 2003 has a Smart

Device Application project typeDevice Application project type

Page 6: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Smartphone• Information

consumption

• Primarily data viewing

• Integrated phone with PDA

• Interoperability with Exchange

• .NET Compact Framework

• ASP.NET mobile controls

Notebook PC• Complex document

authoring, editing and reading

• Keyboard centric at the desk

• Keyboard and mouse input methods

• Full .NET framework available

Windows CE + Windows MobileWindows CE + Windows Mobile

Windows XPWindows XP

Tablet PC• Complex document

authoring, editing and active reading

• Note taking and ink annotating

• Keyboard centric at the desk, pen & keyboard away from the desk

• Keyboard, mouse plus pen, ink, and speech input methods

• Full .NET framework preinstalled

Pocket PC Phone• Information

consumption

• View and enter data

• Integrated with phone

• Interoperability with Office, Exchange and SQL Server

• .NET Compact Framework

• ASP.NET mobile controls

Windows CEWindows CE

Smart Personal Objects

• One-way network

• Information consumption

Mobility PlatformsMobility Platforms

Page 7: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Pocket PC DevicesPocket PC Devices

Typical specifications:Typical specifications: Processor 300MHz – 624MHzProcessor 300MHz – 624MHz RAM 32Mb – 128MbRAM 32Mb – 128Mb

Up to 4.8Gb via CompactFlashUp to 4.8Gb via CompactFlash Up to 1.0Gb via SDUp to 1.0Gb via SD

PDA form factorPDA form factor RAM based storageRAM based storage Touch screen with stylus inputTouch screen with stylus input .NET Compact Framework in ROM.NET Compact Framework in ROM Pocket Office, Internet Explorer and Media PlayerPocket Office, Internet Explorer and Media Player Connectivity via Bluetooth, IrDA and WiFiConnectivity via Bluetooth, IrDA and WiFi Phone Edition devices add GSM and GPRSPhone Edition devices add GSM and GPRS

Page 8: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Smartphone DevicesSmartphone Devices

Typical specifications:Typical specifications: Processor 132MHz – 206MHzProcessor 132MHz – 206MHz RAM 16Mb – 32MbRAM 16Mb – 32Mb

Up to 1.0Gb via SDUp to 1.0Gb via SD Phone form factorPhone form factor Non-volatile flash storageNon-volatile flash storage Rigid screen (keypad input)Rigid screen (keypad input) .NET Compact Framework in ROM.NET Compact Framework in ROM Pocket Outlook, Internet Explorer,Pocket Outlook, Internet Explorer,

Media Player, SMS and MMSMedia Player, SMS and MMS Connectivity via Bluetooth and IrDAConnectivity via Bluetooth and IrDA Tri-band GSM and GPRSTri-band GSM and GPRS

Page 9: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Smart Device Smart Device ProgrammabilityProgrammability

Mobile Application ApproachesMobile Application Approaches Microsoft Mobile DevelopmentMicrosoft Mobile Development

Local Local CodeCode

Mobile Web Mobile Web PagesPages

Software Platform (Pocket Software Platform (Pocket PC, Smartphone, etc.)PC, Smartphone, etc.)

Mobile Web Mobile Web BrowserBrowser

ASP.NET Mobile ASP.NET Mobile ControlsControls

.NET Compact .NET Compact Framework and Framework and

Native APIsNative APIs

Page 10: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Device EmulatorsDevice Emulators Visual Studio .NET 2003 includes a Visual Studio .NET 2003 includes a

Pocket PC 2002 emulator as standardPocket PC 2002 emulator as standard Other emulators are available via SDKsOther emulators are available via SDKs

Page 11: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

PPC 2002PPC 2002 SP 2002SP 2002 Pocket PC Pocket PC 20032003

Smartphone Smartphone 20032003

WinCE OSWinCE OS 3.03.0 3.03.0 4.24.2 4.24.2

eVCeVC 3.03.0 3.03.0 4.0 (SP2)4.0 (SP2) 4.0 (SP2)4.0 (SP2)

eVBeVB 3.03.0 -- -- --

VS .NETVS .NET 20032003 -- 20032003 20032003

.NET CF.NET CF 1.01.0 -- 1.01.0 1.0 SP11.0 SP1

MFCMFC XX -- XX --

ATLATL XX -- XX XX

eVB eVB (runtime)(runtime) XX -- X (RAM)X (RAM) --

SQL CESQL CE XX -- XX --

ADO .NETADO .NET XX -- XX XX

MSMQMSMQ XX -- XX XX

Web ServerWeb Server XX -- XX --

Tools MatrixTools Matrix

Page 12: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Mobile PlatformMobile Platform

Page 13: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Pocket PC

April 00 October 01 June 2002

Pocket PC2002

Win CE 3.0Win CE 3.0 Win CE .NET (4.0)Win CE .NET (4.0)

4.24.1SP 1January 02June 00

Smartphone

2002

October 02

Smartphone

2003

Pocket PC

2003

Brief History ofBrief History ofWindows MobileWindows Mobile

Page 14: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Hard real-time pre-emptive multitasking kernelHard real-time pre-emptive multitasking kernel Interprocess communication (IPC), sync objectsInterprocess communication (IPC), sync objects Memory mapped files, message queues and fibresMemory mapped files, message queues and fibres Virtual memory with hardware access protectionVirtual memory with hardware access protection

Installable ISRs, multimedia timers, DMA APIsInstallable ISRs, multimedia timers, DMA APIs More flexibility for drivers and applicationsMore flexibility for drivers and applications

ComponentisedComponentised Tuneable for resource constrained devicesTuneable for resource constrained devices Specialised through Platform BuilderSpecialised through Platform Builder

Pocket PC and Smartphone are specialisationsPocket PC and Smartphone are specialisations AutoPC and Smart Display (Mira)AutoPC and Smart Display (Mira)

Windows CEWindows CE

Page 15: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

SecuritySecurity Trustworthy Computing InitiativeTrustworthy Computing Initiative L2TP and IPSecL2TP and IPSec 802.11 native support (802.1x, TKIP, WEP re-keying)802.11 native support (802.1x, TKIP, WEP re-keying)

User feedback (consumer and enterprise)User feedback (consumer and enterprise) Windows Media 9 codes / DMO wrapperWindows Media 9 codes / DMO wrapper Synchronise with latest Messenger technologiesSynchronise with latest Messenger technologies Device ManagementDevice Management

Configuration Manager, Push Router hooksConfiguration Manager, Push Router hooks

Industry movementIndustry movement IPv6 protocol and applicationsIPv6 protocol and applications BrowserBrowser

urlmon6, mshtml6urlmon6, mshtml6 Cascading style sheetsCascading style sheets

File system Filters File system Filters

Enhancements Since CE 3.0Enhancements Since CE 3.0

Page 16: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Enable OEM innovationEnable OEM innovation Minimise developer impactMinimise developer impact Native use:Native use:

GetSystemMetricsGetSystemMetrics SCALEX, SCALEY macrosSCALEX, SCALEY macros WM_SETTINGCHANGE and WM_SIZEWM_SETTINGCHANGE and WM_SIZE ChangeDisplayOrientationExChangeDisplayOrientationEx

Managed use:Managed use: Form.ResizeForm.Resize

Windows Mobile SEWindows Mobile SE

Page 17: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Pocket PC Screen SizesPocket PC Screen Sizes

(support for .24 .22 and .18 dot pitch)

Page 18: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Pocket PC Screen SizesPocket PC Screen Sizes

Page 19: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Smartphone Screen SizesSmartphone Screen Sizes

Page 20: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

.NET Compact Framework.NET Compact Framework

Page 21: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Target mobile and embedded devicesTarget mobile and embedded devices Portable subset of .NET FrameworkPortable subset of .NET Framework

No new ‘compact’ namespacesNo new ‘compact’ namespaces C# and Visual Basic .NET compiler supportC# and Visual Basic .NET compiler support

Leverage Visual Studio .NETLeverage Visual Studio .NET Run managed .EXEs and .DLLs directlyRun managed .EXEs and .DLLs directly Debug with Visual Studio .NETDebug with Visual Studio .NET

Peacefully co-exist with host OSPeacefully co-exist with host OS Run on native threads, P/Invoke to native codeRun on native threads, P/Invoke to native code

Compact Framework Design GoalsCompact Framework Design Goals

Page 22: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Verifiable type safe executionVerifiable type safe execution No uninitialised variables, unsafe casts, bad No uninitialised variables, unsafe casts, bad

array indexing or bad pointer arithmeticarray indexing or bad pointer arithmetic

Garbage collectionGarbage collection No reference counting and no leaksNo reference counting and no leaks

JIT compilationJIT compilation Error handling with exceptionsError handling with exceptions Common type systemCommon type system

Call, inherit, and source-level debug across Call, inherit, and source-level debug across different languagesdifferent languages

Compact CLR Common FeaturesCompact CLR Common Features

Page 23: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

No COM InteropNo COM Interop Good support for calling native DLLsGood support for calling native DLLs Can call COM objects through DLL wrappersCan call COM objects through DLL wrappers Can’t write COM / ActiveX in C# or Visual BasicCan’t write COM / ActiveX in C# or Visual Basic

No install-time JIT (nGen)No install-time JIT (nGen) No reflection emitNo reflection emit No remotingNo remoting

Client web services are fully supportedClient web services are fully supported No No genericgeneric serialisation serialisation

DataSets can be serialised to XMLDataSets can be serialised to XML Subsets of other areas of functionalitySubsets of other areas of functionality

Compact CLR DifferencesCompact CLR Differences

Page 24: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Windows Mobile RoadmapWindows Mobile Roadmap

Page 25: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

DevicesDevices

VS 2005VS 2005(C#, VB.NET, C++)(C#, VB.NET, C++)

eVC 3 (C++)eVC 3 (C++)eVC 4 (C++)eVC 4 (C++)

VS .NET 2003VS .NET 2003(C#, VB.NET)(C#, VB.NET)

eVC 3 (C++)eVC 3 (C++)eVB 3 (VB)eVB 3 (VB)

eVC 3 (C++)eVC 3 (C++)eVB 3 (VB)eVB 3 (VB)ToolsTools

PPC + PE 2003PPC + PE 2003SP 2003SP 2003

PPC + PE 2002PPC + PE 2002SP 2002SP 2002

PPC 2000PPC 2000

PlatformsPlatforms

+ .NET CF Whidbey,+ .NET CF Whidbey,New native runtimes,New native runtimes,

11stst class managed code, class managed code,Notification Manager, DirectX, Notification Manager, DirectX,

Location APIs, Dr WatsonLocation APIs, Dr Watson

+ .NET Compact + .NET Compact Framework,Framework,Bluetooth,Bluetooth,

SMSSMS

+ MFC,+ MFC,Connection ManagerConnection Manager

Win32,Win32,POOMPOOMAPIsAPIs

MacallanMacallan4.24.23.03.03.03.0CE OSCE OS

Windows Mobile RoadmapWindows Mobile RoadmapWindows Mobile RoadmapWindows Mobile Roadmap

SP v NextSP v NextQVGA, QVGA, StandardStandard

PPC + PE v NextPPC + PE v NextVGA, Landscape, VGA, Landscape, Square, StandardSquare, Standard

Page 26: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

SummarySummary

Rich platform and hardwareRich platform and hardware Windows Mobile 2003Windows Mobile 2003

Rich and robust platform on which to build and Rich and robust platform on which to build and deploy Mobile applicationsdeploy Mobile applications

Visual Studio .NET 2003Visual Studio .NET 2003 State of the art development tools for targeting the State of the art development tools for targeting the

.NET Compact Framework.NET Compact Framework

.NET Compact Framework.NET Compact Framework Brings mobile device development to mainstream Brings mobile device development to mainstream

developer communitydeveloper community

Page 27: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Windows MobileWindows MobileResourcesResources Windows Mobile Developer Tools and ResourcesWindows Mobile Developer Tools and Resources

www.microsoft.com/windowsmobile/developerwww.microsoft.com/windowsmobile/developer

Windows Mobile Developer Resource KitWindows Mobile Developer Resource Kit msdn.microsoft.com/mobility/prodtechinfo/platforms/msdn.microsoft.com/mobility/prodtechinfo/platforms/

windowsmobile/resourcekitwindowsmobile/resourcekit 20 new technical articles and 20 new case studies20 new technical articles and 20 new case studies eMbedded Visual C++ 3.0, 4.0 and 4.0 SP3eMbedded Visual C++ 3.0, 4.0 and 4.0 SP3 Resources for Windows Mobile 2003 Second EditionResources for Windows Mobile 2003 Second Edition Pocket PC 2002, 2003 and 2003 Second Edition EmulatorsPocket PC 2002, 2003 and 2003 Second Edition Emulators Smartphone 2002, 2003 and 2003 Second Edition EmulatorsSmartphone 2002, 2003 and 2003 Second Edition Emulators Compact Framework 1.0 SP2 RedistributableCompact Framework 1.0 SP2 Redistributable Developer Power ToysDeveloper Power Toys Free (just pay $16 shipping)Free (just pay $16 shipping)

Page 28: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

Windows Mobile Developer CommunitiesWindows Mobile Developer Communities www.microsoft.com/windowsmobile/resources/www.microsoft.com/windowsmobile/resources/

communities/developercommunities/developer

Windows Mobile Application Developer CentreWindows Mobile Application Developer Centre www.msdn.com/mobilitywww.msdn.com/mobility

Mobile2MarketMobile2Market www.microsoft.com/windowsmobile/mobile2marketwww.microsoft.com/windowsmobile/mobile2market

Online LearningOnline Learning www.learn247.netwww.learn247.net www.learn247.net/werock247www.learn247.net/werock247

Online European CommunityOnline European Community www.codezone.infowww.codezone.info

Windows MobileWindows MobileResourcesResources

Page 29: Introduction to Windows Mobile Development Tony Whitter v-tonyw@microsoft.com.

© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.