Introduction to Windows Mobile Development Tony Whitter [email protected].
-
Upload
silas-blair -
Category
Documents
-
view
216 -
download
2
Transcript of Introduction to Windows Mobile Development Tony Whitter [email protected].
Introduction to Windows Introduction to Windows Mobile DevelopmentMobile Development
Tony WhitterTony [email protected]@microsoft.com
AgendaAgenda
OrientationOrientation Mobile PlatformMobile Platform .NET Compact Framework.NET Compact Framework Windows Mobile RoadmapWindows Mobile Roadmap
OrientationOrientation
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
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
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
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
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
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
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
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
Mobile PlatformMobile Platform
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
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
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
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
Pocket PC Screen SizesPocket PC Screen Sizes
(support for .24 .22 and .18 dot pitch)
Pocket PC Screen SizesPocket PC Screen Sizes
Smartphone Screen SizesSmartphone Screen Sizes
.NET Compact Framework.NET Compact Framework
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
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
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
Windows Mobile RoadmapWindows Mobile Roadmap
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
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
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)
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
© 2003-2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.