Mobile Applications..
Vision Vision In 1975 A computer on every desk and in every home Vision Today Empower people through great software any time, any place, and on any device Mobility Group Empower people through intelligent mobile communication devices and software solutions
Mobile Growth In 2002, 80-100 million cellular phones on the Internet. (CNet) By 2002, handhelds will start outselling PCs (Forrester) By 2003, 150 million wireless networked devices (Dataquest) By 2003, more people interacting with the Web via wireless devices than traditional PCs (multiple analysts quoted by BBC News)
Devices
What is PocketPC Improved UI Improved software Pocket Office Internet Explorer Windows Media Player Terminal Services Better Security Corporate Network Access Network Browse Better Connectivity Hardware ARM Standardization FLASH ROM in all devices
Current Mobile Development Approaches Client App. App on device Device specific Fewer devices Offline options Richest UI Harder to deploy Web App App on Server Runs in browser Many devices Online only Less UI choice Easy to deploy
Mobile Development Tools WinCE Handheld PC PocketPC SmartPhone Embedded Tools evc++ evb WindowsCE Visual Studio.NET C# PocketPC +Phone Edition VB.NET Mobile Internet Toolkit Visual Studio.NET C# VB.NET
Mobile Development Tools WinCE Handheld PC PocketPC SmartPhone Embedded Tools evc++ evb WindowsCE Visual Studio.NET C# PocketPC +Phone Edition VB.NET Mobile Internet Toolkit Visual Studio.NET C# VB.NET
Design Goals Target mobile and embedded devices Portable subset of.net Framework No new compact namespaces Visual Basic and C# compiler support in V.1 Leverage Visual Studio.NET Run managed.exes and.dlls directly Debug with Visual Studio.NET
Creating A PocketPC Project VS.NET Templates for devices in New Project dialog Template sets device and project type Template types Templates for Windows CE.NET and Pocket PC applications Default set of references that are appropriate for your platform
What s in SDE? Smart Device Extensions (SDE) integrates into Visual Studio.NET Enables Visual Studio to support rich device development Visual Basic.NET and Visual C#.NET Remote debugging Emulation Targets the.net Compact Framework XML, Web Services and ADO.NET Rich Forms and Drawing
Windows Form Designer Same rapid development as the desktop Only shows controls and properties available on the device Generates C# or VB code for all of the controls in the designer Extensible for 3 rd party controls
Supported Controls Supported controls Button CheckBox ComboBox ContextMenu DomainUpDown FileOpenDialog HScrollBar ImageList Label ListBox ListView FileSaveDialog MainMenu NumericUpDown Panel PictureBox ProgressBar RadioButton StatusBar TabControl TextBox Timer ToolBar VScrollBar Currently Unsupported controls GroupBox TreeView DataGrid RichTextBox PocketPC Specific Controls Print Controls Unavailable controls CheckedListBox ColorDialog ErrorProvider HelpProvider LinkLabel NotifyIcon ToolTip Splitter FontDialog
Supported Class Libraries System.Web System.Web Configuration Configuration SessionState SessionState Caching Caching Security Security Services Services Description Description Discovery Discovery Protocols Protocols UI UI HtmlControls HtmlControls WebControls WebControls System.Drawing System.Drawing Imaging Imaging Drawing2D Drawing2D Text Text Printing Printing System.WinForms System.WinForms Design Design ComponentModel ComponentModel System System System.Data System.Data System.Xml System.Xml Globalization Globalization Text Text Security Security Collections Collections Resources Resources Reflection Reflection Net Net IO IO Threading Threading Diagnostics Diagnostics ServiceProcess ServiceProcess Configuration Configuration Design Design ADO.NET ADO.NET SqlServerCe SqlServerCe SqlClient SqlClient Xslt/XPath Xslt/XPath XmlDocument XmlDocument Runtime Runtime InteropServices InteropServices Remoting Remoting Serialization Serialization Serialization Serialization Configuration Configuration SessionState SessionState Imaging Imaging Text Text Reader/writers Reader/writers
F5 Deploy Same user experience as desktop Compiles application for device Output Window used for deployment messages Visual Studio deploys the framework to device if Visual Studio deploys the framework to device if needed
Debugging Same user experience as desktop Supported features include On-device debugging Breakpoints Multi-language debugging Call Stack, Watch windows Command window Immediate Multiple device transports TCP/IP, IrDA, USB, Bluetooth, Serial
Emulation Robust, accurate device emulation Runs Windows CE operating system on Windows XP Emulates localized versions of the operating system Emulates any Windows CE image Supports device skins
.NET CLR Common Features Verifiable type safe execution No uninitialized variables, unsafe casts bad array indexing, bad pointer math Garbage Collection No ref-counting, no leaks JIT compilation Error handling with exceptions Common type system Call, inherit, and source-level debug across different languages
.NET Framework Features Not Supported in the Compact Version ASP.NET COM Interop P/Invoke enables calls to Win32 DLLs No support for writing a COM object Remoting (but Client Web Services is fully supported) Generic serialization Install-time JIT (ngen)
Other Differences Class libraries are a subset (about 25%) Different size and scalability characteristics Compact Additions IrDA support SQL Server CE managed classes PocketPC controls
.NET Compact Framework Platform.NET Framework for smart devices Optimized for resource economy Compatible: Same programming model Same binary file format Exposes device-specific features Device, CPU, OS independent Platform Abstraction Layer (PAL) Enable rich client Web Services and line of business applications Target devices without being a device specialist
Which Tool When? In general, use the Smart Device Extensions for Visual Studio: To target the Pocket PC, Pocket PC 2002, or any Windows CE.NET-based device. When you need to integrate XML Web services. To allow the same code to run on many different devices.
Resources General Microsoft Mobile information www.microsoft.com/mobile/ Development resources, including free SDK download www.microsoft.com/mobile/developer/ Microsoft Partner Program information and sign-up www.microsoft.com/mobile/partners/
.NET Compact Framework Benefits Enables a range of truly mobile applications Small amounts of code for real apps Easy Deployment via PC, IR or Web Great UI Smart local web service aggregation Offline/online data through ADO.NET & SQL CE Transparent connection state Single binary deployment for all PocketPC & Windows CE.NET CPUs Just-in-Time compiler provides close-to-native rather than interpreted performance.net Framework compatibility
Questions?