340 likes | 783 Views
.Net Compact Framework. A Mostly Straight Path, but with Some Interesting Curves. Richard Kucia Kucia Associates 440-892-3838 rjkucia@att.net. 2003.09.09. Agenda. What is the .Net Compact Framework? Developing in a Compact World Inclusions and Exclusions Examples. What is the .Net CF?.
E N D
.Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838 rjkucia@att.net 2003.09.09
Agenda • What is the .Net Compact Framework? • Developing in a Compact World • Inclusions and Exclusions • Examples
What is the .Net CF? • Target: Mobile Devices • The Same Framework – but “optimized” • Integrated into VS.Net 2003 • Formerly: “Smart Device Extensions”
.NET CF Design Goals • Portable and small .NET CLR for devices • Enable Visual Basic® and C# • Leverage Visual Studio® .NET • Run managed .EXEs and .DLLs directly • Debug with Visual Studio .NET • Enable rich client Web Services and line of business applications on devices • Class libs for forms, drawing, storage, net, data access, XML • Peacefully co-exist with host OS • Run on native threads, P/Invoke to call native code
Target: Mobile Devices • Compaq, HP, Dell, Toshiba, … • PocketPC 2000, 2002 • Windows Mobile (aka PPC 2003) • .Net CF in ROM! • Windows CE • SmartPhone • No Palm/Handspring
The Framework – “Optimized” • 20mb 1.5mb • True subset – no breaking changes • Same languages, same code, same MSIL • Multiple target CPUs
CLR JIT Garbage Collection Type safety; exceptions Threading Windows OS (PInvoke) SQL Server CE including replication ActiveSync Remote Viewer Web Services Sockets/Streams ADO.Net Graphics How Rich is the Working Environment?
System.Web System.WinForms Services UI Design ComponentModel Description HtmlControls Discovery WebControls System.Drawing Protocols Caching Security Drawing2D Printing Text Configuration SessionState Imaging System.Data System.Xml ADO.NET SqlClient XmlDocument Serialization Reader/Writers Design Xslt/XPath System Collections IO Configuration Runtime InteropServices Security Net ServiceProcess Remoting Text Reflection Diagnostics Serialization Globalization Resources Threading .NET Framework
.NET Compact Framework System.Web System.WinForms Services UI Design ComponentModel Description HtmlControls Discovery WebControls System.Drawing Protocols Caching Security Drawing2D Printing Text Configuration SessionState Imaging System.Data System.Xml ADO.NET SqlClient XmlDocument Serialization Reader/Writers Design SqlServerCe Xslt/XPath System Collections IO Configuration Runtime InteropServices Security Net ServiceProcess Remoting Text Reflection Diagnostics Serialization Globalization Resources Threading
Agenda • What is the .Net Compact Framework? • Developing in a Compact World • Inclusions and Exclusions • Examples
Developing in a Compact World • VS.Net 2003 installation option • C#, VB.Net • True on-device debugging • If you can get it connected… • Emulator • Deployment
Developing in a Compact World VS.NET Integration • Templates for devices in New Project dialog • Template sets device and project type • Template types • Pocket PC Application • Pocket PC Class Library • Pocket PC Control Library • Windows CE .NET Application • Mobile Phone Application • Default set of references that are appropriate for your platform
Developing in a Compact WorldOverview of Controls • Use Windows Forms Designer • Drag-and-drop, property-based • Rich subset of desktop controls • User Interface controls • Data Entry • Display • Formatting & RAD controls • Organizational controls • Helper controls
Developing in a Compact WorldSubset of Desktop Controls Helper • Context Menu • Scroll Bars • Image List • Main Menu • Open & Save File Dialogs • Timer • Tool Bar Data Entry • Check Box • Combo Box • Command Button • Domain Up/Down • List Box • Numeric Up/Down • Radio Button • Text Box • Track Bar Display • Label • Picture Box • Progress Bar • Status Bar Organizational • List View • Panel • Tab Control • Tree View Controls Not Supported • Checked List Box • Data Grid • DateTime Picker • Group Box • Month Calendar • Splitter
Developing in a Compact WorldCustomizing Emulator Settings • Fully Functional PocketPC 2002 OS Emulator • Options to change device configurations and connectivity • Resolution & Color Depth • Memory • COM & LPT ports!
Developing in a Compact WorldDeployment • Same user experience as desktop • Compiles application for device • Output Window used for deployment messages • Visual Studio deploys the framework to device if needed
Agenda • What is the .Net Compact Framework? • Developing in a Compact World • Inclusions and Exclusions • Examples
.NET Compact FrameworkWhat’s Different? • Specific performance issues • XML • Form loading • SQL Server CE • Emphasis on File Size • Emphasis on Memory Footprint
.NET Compact FrameworkWhat’s Different? • Controls unimplemented • Control properties removed • Control properties unimplemented • Method overloads removed • No Console or Debug objects • No Serial Port support
.NET Compact FrameworkWhat’s Different? • Form-factor and GUI guideline issues • No MDI applications • No ActiveX controls in forms • Applications that don’t really close • Open/Save dialog for “\My Documents” • No file system (C:/?) • .resx file format
.NET Compact FrameworkWhat’s Different? • Can’t deploy to subdirectories • No Merge modules • “My Company” .cab files • No pre-compiling (NGen)
.NET Compact FrameworkWhat’s Different? • No designer for custom controls • No support for Pocket Access • No support for Pocket Office • Expensive licensing for SQL Server CE
.NET Compact FrameworkWhat’s Different? • Debugging: remarkable yet frustrating • Single-in, step-thru • Command • Watch • Breakpoint • No Console or Debug objects • No “set next instruction to execute”
.NET Compact FrameworkWhat’s Different? • Reflection Emit • Remoting • Serialization • Code Dom • Printing • COM Interoperability • Server side functionality • XPath/XSLT
Agenda • What is the .Net Compact Framework? • Developing in a Compact World • Inclusions and Exclusions • Examples
For More Information… • MSDN Web site at • msdn.microsoft.com
How-To ResourcesSimple, Step-By-Step Procedures • Embedded Development How-To Resources • General How-To Resources • integration How-To Resources • JScript .NET How-To Resources • .NET Development How-To Resources • office Development Resources • Security How-To Resources • Visual Basic® .NET How-To Resources • Visual C#® .NET How-To Resources • Visual Studio® .NET How-To Resources • Web Development How-To Resources (ASP, IIS, XML) • Web Services How-To Resources • Windows Development How-To Resources http://msdn.microsoft.com/howto
MSDN WebcastsInteractive, Live Online Event • Interactive, Synchronous, Live Online Event • Discuss the Hottest Topics from Microsoft • Open and Free For The General Public • Takes Place Every Tuesdays http://www.microsoft.com/usa/webcasts
MS PressEssential Resources for Developers Microsoft® Visual Studio® .NET is here! This is your chance to start building the next big thing. Develop your .NET skills, increase your productivity with .NET Books from Microsoft Press® www.microsoft.com/mspress
TrainingTraining Resources for Developers • Course Title: Developing Smart Device Applications with the .NET Compact Framework • Course Number: 2556 • Availability: 9/2002 • Detailed Syllabus: www.microsoft.com/traincert To locate a training provider for this course, please access www.microsoft.com/traincert Microsoft Certified Technical Education Centers are Microsoft’s premier partners for training services
Specifications TRS Series Rotary with Planetary Gear TLS Series Linear