NET Compact Framework for Mobile Developers Marcus Perryman marcpe@microsoft.com http://blogs.msdn.com/marcpe
Agenda Orientation Mobile Platform .NET Compact Framework Windows Mobile Roadmap
Smart device projects Visual Studio .NET 2003 includes tight integration for mobile developers
Smart Personal Objects Mobility platforms 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 Smartphone Information consumption Primarily data viewing Integrated phone with PDA Interoperability with Exchange .NET Compact Framework ASP.NET mobile controls 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 Smart Personal Objects One-way network Information consumption 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 CE + Windows Mobile Windows XP
Pocket PC devices Typical specifications: Processor 300MHz – 624MHz RAM 32Mb – 128Mb Up to 4.8Gb via CompactFlash Up to 1.0Gb via SD PDA form factor RAM based storage Touch screen with stylus input .NET Compact Framework in ROM Pocket Office, Internet Explorer and Media Player Connectivity via Bluetooth, IrDA and WiFi Phone Edition devices add GSM and GPRS
Smartphone devices Typical specifications: Processor 132MHz – 206MHz RAM 16Mb – 32Mb Up to 1.0Gb via SD Phone form factor Non-volatile flash storage Rigid screen (keypad input) .NET Compact Framework in ROM Pocket Outlook, Internet Explorer, Media Player, SMS and MMS Connectivity via Bluetooth and IrDA Tri-band GSM and GPRS
Mobile application approaches Microsoft mobile development ASP.NET Mobile Controls Mobile Web Pages Local Code Mobile Web Browser .NET Compact Framework and Native APIs Software Platform (Pocket PC, Smartphone, etc.)
Mobile application approaches Microsoft mobile development Smart Device Programmability Local Code Mobile Web Browser .NET Compact Framework and Native APIs Software Platform (Pocket PC, Smartphone, etc.)
Device emulators Visual Studio .NET 2003 includes a Pocket PC 2002 emulator as standard Other emulators are available via SDKs
Tools matrix WinCE OS 3.0 4.2 eVC 4.0 (SP2) eVB - VS .NET 2003 .NET CF Pocket PC 2002 Smartphone 2002 Pocket PC 2003 Smartphone 2003 WinCE OS 3.0 4.2 eVC 4.0 (SP2) eVB - VS .NET 2003 .NET CF 1.0 1.0 SP1 MFC X ATL eVB (runtime) X (RAM) SQL CE ADO .NET MSMQ Web Server
Agenda Orientation Mobile Platform .NET Compact Framework Windows Mobile Roadmap
Brief history for Developers April 00 October 01 October 02 June 2002 January 02 June 00
Brief history for Developers Smartphone 2002 Pocket PC 2002 Pocket PC April 00 October 01 October 02 June 2002 SP 1 4.1 4.2 January 02 June 00 Win CE 3.0
Brief history for Developers Smartphone 2002 Pocket PC 2003 Smartphone 2003 Pocket PC 2002 Pocket PC April 00 October 01 October 02 June 2002 SP 1 4.1 4.2 January 02 June 00 Win CE 3.0 Win CE .NET (4.0)
Brief history for Developers Pocket PC 2003 Smartphone 2002 Pocket PC 2002 Pocket PC Smartphone 2003 April 00 October 01 October 02 June 2002 SP 1 4.1 4.2 January 02 June 00 Win CE 3.0 Win CE .NET (4.0)
Windows CE Hard real-time pre-emptive multitasking kernel Interprocess communication (IPC), sync objects Memory mapped files, message queues and fibres Virtual memory with hardware access protection Installable ISRs, multimedia timers, DMA APIs More flexibility for drivers and applications Componentised Tuneable for resource constrained devices Specialised through Platform Builder Pocket PC and Smartphone are specialisations AutoPC and others…
Enhancements since CE 3.0 Security Trustworthy Computing Initiative L2TP and IPSec 802.11 native support (802.1x, TKIP, WEP re-keying) User feedback (consumer and enterprise) Windows Media 9 codes / DMO wrapper Synchronise with latest Messenger technologies Device Management Configuration Manager, Push Router hooks Industry movement IPv6 protocol and applications Browser File system Filters
Windows Mobile SE Enable OEM innovation Minimise developer impact Native use: GetSystemMetrics SCALEX, SCALEY macros WM_SETTINGCHANGE and WM_SIZE ChangeDisplayOrientationEx Managed use: Form.Resize
Pocket PC screen sizes (support for .24 .22 and .18 dot pitch)
Pocket PC screen sizes
Smartphone screen sizes
Agenda Orientation Mobile Platform .NET Compact Framework Windows Mobile Roadmap
Compact Framework design goals Target mobile and embedded devices Portable subset of .NET Framework No new ‘compact’ namespaces C# and Visual Basic .NET compiler support Leverage Visual Studio .NET Run managed .EXEs and .DLLs directly Debug with Visual Studio .NET Peacefully co-exist with host OS Run on native threads, P/Invoke to native code
Compact CLR common features Verifiable type safe execution No uninitialised variables, unsafe casts, bad array indexing or bad pointer arithmetic Garbage collection No reference counting and no leaks JIT compilation Error handling with exceptions Common type system Call, inherit, and source-level debug across different languages
Compact CLR differences No COM Interop Good support for calling native DLLs Can call COM objects through DLL wrappers Can’t write COM / ActiveX in C# or Visual Basic No install-time JIT (nGen) No reflection emit No remoting Client web services are fully supported No generic serialisation DataSets can be serialised to XML Subsets of other areas of functionality
DEMO Create a Web Service Create a Pocket PC 2003 client application Deploy the application to the Pocket PC 2003 emulator
Agenda Orientation Mobile Platform .NET Compact Framework Windows Mobile Roadmap
Windows Mobile roadmap eVC 3 (C++) eVC 4 (C++) VS .NET 2003 (C#, VB.NET) eVC 3 (C++) eVB 3 (VB) eVC 3 (C++) eVB 3 (VB) VS 2005 (C#, VB.NET, C++) Tools Devices PPC + PE v Next VGA, Landscape, Square, Standard Platforms PPC 2000 SP v Next QVGA, Standard PPC + PE 2002 SP 2002 PPC + PE 2003 SP 2003 + .NET CF Whidbey, New native runtimes, 1st class managed code, Notification Manager, DirectX, Location APIs, Dr Watson Win32, POOM APIs + MFC, Connection Manager + .NET Compact Framework, Bluetooth, SMS CE OS 3.0 3.0 4.2 Macallan
Windows Mobile Futures In the OS eDB – a step forward from CEDB Location Services API Update to WebServer (ASP support) Pocket Watson DirectX (D3D, modular Media Player) For the developer Combined IDE for Native and Managed Mobile SOAP toolkit .NET CF V2 development COM Interop, XPath, Crypto, Registry, Generics etc. Hosting Interface New Libraries System.Messaging Unified Notifications POOM – SMS, Mail, Calendar, Tasks etc. Telephony, all Phone related functions
SQL CE Futures Laguna code name for SQL CE 3.0 Runtime Improvements: Performance – remove OLEDB for managed code Re-use spent storage pages Query hints Updateable scrollable cursors. Multi User Tools: Integration to Workbench DTS Data Designer in Whidbey
Questions?
Summary Rich platform and hardware Windows Mobile 2003 Rich and robust platform on which to build and deploy Mobile applications Visual Studio .NET 2003 State of the art development tools for targeting the .NET Compact Framework .NET Compact Framework Brings mobile device development to mainstream developer community
Windows Mobile Resources Windows Mobile Developer Tools and Resources www.microsoft.com/windowsmobile/developer Windows Mobile Developer Resource Kit msdn.microsoft.com/mobility/prodtechinfo/platforms/ windowsmobile/resourcekit 20 new technical articles and 20 new case studies eMbedded Visual C++ 3.0, 4.0 and 4.0 SP3 Resources for Windows Mobile 2003 Second Edition Pocket PC 2002, 2003 and 2003 Second Edition Emulators Smartphone 2002, 2003 and 2003 Second Edition Emulators Compact Framework 1.0 SP2 Redistributable Developer Power Toys Free (just pay $16 shipping)
Windows Mobile Resources Windows Mobile Developer Communities www.microsoft.com/windowsmobile/resources/ communities/developer Windows Mobile Application Developer Centre www.msdn.com/mobility Mobile2Market www.microsoft.com/windowsmobile/mobile2market Online Learning www.learn247.net www.learn247.net/werock247 Online European Community www.codezone.info
© 2003-2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.