330 likes | 529 Views
Windows Mobile Today. David Goon Consultant Microsoft Limited. Agenda. Compact Framework 2.0 SP1 Windows Mobile 5.0 Windows Mobile 6 Summary. Compact Framework 2.0 SP1. Common Language Runtime for devices Managed Code Execution for applications Memory, thread and security management
E N D
Windows Mobile Today David Goon Consultant Microsoft Limited
Agenda • Compact Framework 2.0 SP1 • Windows Mobile 5.0 • Windows Mobile 6 • Summary
Compact Framework 2.0 SP1 • Common Language Runtime for devices • Managed Code Execution for applications • Memory, thread and security management • Code compilation and verification • Just-In-Time compilation • Applications are in MSIL • Not interpreted so no speed penalties • All programming languages are equal
Framework for Devices • Framework optimized for limited resources • Small footprint of 2-5MB installable to SD • Native components written from ground up • Managed bits adapted from full framework • Designed for portability • Base Class Library • Subset of desktop .NET Framework library • Additional classes for device-specific functions • Same programming model as Desktop
Technology Examples • Web Services • Database Access • XML Documents • Message Queuing • Serial Port Programming • Much, much more
Large Range of Controls • Date and Time Pickers • Document List • Notification Bubble • Link-Label • Web Browser • DataGrid • IME switching
Display and Layout • Orientation Support • Docking • Anchoring • AutoScroll property • Automatic scaling
Direct 3D Mobile • Managed APIs DX9 inspired
Security Enhancements • Identical security experience to native apps
Native Interop • Enhanced P/Invoke Type Marshalling • Additional types – arrays, strings, structures • Embedded arrays – structs with char[], array[] • MarshalAs – type hinting • Use COM objects in your managed code • Call from managed applications into COM • Callbacks from native to managed code • Support for late-bound and early-bound calls
Performance Biggeris better Smalleris better
Performance Measurement • <My App>.stat • Enable through Device registry setting • HKLM\SOFTWARE\Microsoft\ .NETCompactFramework\ PerfMonitor • Counters (DWORD) = 1 • Remote Performance Monitor
Performance David Goon Consultant Microsoft Limited
Windows Mobile 5.0 • Based on Windows CE 5.0 • Goals • Improve productivity and stability • Leverage images and sound to communicate • Drive Operator and OEM costs down
Additions to Pocket PC • Persistent Store • Protects user data against battery loss • Battery reserve no longer required • Batch file/database/registry reads and writes • Single-tier Security • Either run Full Trust or not at all • Requires modules to be signed • Defaults to prompt for unsigned applications • Soft-keys
Pocket PC Soft-keys • Designer menu support • Soft-keys if two items • Menu for three items above • Left button is default action • Menu restriction removed • Right button for menu
Windows Mobile 5.0 APIs • ActiveSync • Component Services • Device Configuration • File System and Data Stores • Messaging • Networking • Power Management • Shell and UI
Common Dialogs • Operating System has common tasks • Windows Mobile 5.0 exposes these • Developers can use in applications
Managed Outlook Mobile • New Managed Model • Far simpler than using the COM interfaces • Access • Contacts • Calendar • Tasks • Messaging • Notifications • Be alerted when PIM items change
State & Notification Broker • Unification of device states • Examples (see SnAPI.h for full list) • Phone (e.g. Missed Call, Phone Status) • Network Connections (e.g. WiFi, GPRS) • Calendar (e.g. Next Appointment) • Messaging (e.g. Unread Mail Count, SMS) • Many others (e.g. Orientation, Cradled) • Extensible
Notification Types • Transient Notifications • Application notified only while running • Notification methods • Window Message, CE Message Queue, Callback • Persistent Notifications • Application launched if not already running • Notification methods • Command line, Window Message • Persists across reboot
Global Positioning Systems • Access through GpsApi.h • Parses, multiplexes, notifies • API Examples • GPSOpenDevice() • GPSCloseDevice() • GPSGetPosition() • GPSGetDeviceState() #include <GpsApi.h> HANDLE h; GPS_POSITION pos; h = GPSOpenDevice( heventNewPos, heventDeviceStateChange, NULL, 0); GPSGetPosition(h, &pos, 60000, 0); // Get back pos.dblLongitude, // pos.dblLatitude
Sample Walkthrough • Business Requirement • Company employs field sales personnel to pursue leads • Customer calls Sales Office • Office obtains details and locates sales person • Sales person needs to be alerted with accurate information
Sample Solution Tasks • Sending an SMS message to the device. • Intercepting the SMS message. • Creating the Contact and Appointment entries • Alert the application on next Appointment • Do something special when alerted.
Sample Walkthrough David GoonConsultant Microsoft Limited
Windows Mobile 6 • Also based on Windows CE 5.0 • Goals • Advanced Mobile Communication • Improved Productivity • Integrated Business Performance • Evolution of Windows Mobile 5.0 • Better Email experience with IRM and Fetch • Office Mobile now on Standard (Smartphone) • Increased security e.g. SD encrypt and wipe
New for Developers • In ROM • Compact Framework 2.0 SP1 • SQL Server Compact Edition • Additional Native APIs • WISP Lite Inking API • Eventual replacement for Rich Ink • New Sound APIs • Support for WMV, WAV, MID and MP3
Summary • Compact Framework 2.0 SP1 • Powerful Runtime • Easy-to-use Base Class Libraries • Windows Mobile 5.0 and 6 • Great Platform Features • Managed Code Access • Combined • Flexible and Productive Solutions • Rapid Application Development
Questions • dgoon@microsoft.com • Developer Centre • http://msdn.microsoft.com/mobility/ windowsmobile
© 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.