.Net Compact Framework - C#/VB.Net Special Interest Group

Download Report

Transcript .Net Compact Framework - C#/VB.Net Special Interest Group

.Net Compact Framework
A Mostly Straight Path, but
with Some Interesting Curves
2003.09.09
Richard Kucia
Kucia Associates
440-892-3838
[email protected]
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
How Rich is the Working
Environment?
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
.NET Framework
System.Web
Services
Description
UI
HtmlControls
Discovery
WebControls
System.WinForms
Design
ComponentModel
System.Drawing
Protocols
Caching
Security
Drawing2D
Printing
Configuration
SessionState
Imaging
Text
System.Data
ADO.NET
System.Xml
SqlClient
Design
XmlDocument
Serialization
Xslt/XPath
Reader/Writers
System
Collections
IO
Configuration
Security
Net
ServiceProcess
Runtime
InteropServices
Text
Reflection
Diagnostics
Remoting
Globalization
Resources
Threading
Serialization
.NET Compact Framework
System.Web
Services
Description
UI
HtmlControls
Discovery
WebControls
System.WinForms
Design
ComponentModel
System.Drawing
Protocols
Caching
Security
Drawing2D
Printing
Configuration
SessionState
Imaging
Text
System.Data
System.Xml
ADO.NET
SqlClient
XmlDocument
Serialization
Design
SqlServerCe
Xslt/XPath
Reader/Writers
System
Collections
IO
Configuration
Security
Net
ServiceProcess
Runtime
InteropServices
Text
Reflection
Diagnostics
Remoting
Globalization
Resources
Threading
Serialization
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 World
Overview 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 World
Subset of Desktop Controls
Data Entry
Check Box
Combo Box
Command Button
Domain Up/Down
List Box
Numeric Up/Down
Radio Button
Text Box
Track Bar
Controls Not Supported
Checked List Box
Data Grid
DateTime Picker
Display
Label
Picture Box
Progress Bar
Status Bar
Organizational
List View
Panel
Tab Control
Tree View
Group Box
Month Calendar
Helper
Context Menu
Scroll Bars
Image List
Main Menu
Open & Save File
Dialogs
Timer
Tool Bar
Splitter
Developing in a Compact World
Customizing 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 World
Deployment
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 Framework
What’s Different?
Specific performance issues
– XML
– Form loading
– SQL Server CE
Emphasis on File Size
Emphasis on Memory Footprint
.NET Compact Framework
What’s Different?
Controls unimplemented
Control properties removed
Control properties unimplemented
Method overloads removed
No Console or Debug objects
No Serial Port support
.NET Compact Framework
What’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 Framework
What’s Different?
Can’t deploy to subdirectories
No Merge modules
“My Company” .cab files
No pre-compiling (NGen)
.NET Compact Framework
What’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 Framework
What’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 Framework
What’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 Resources
Simple, 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 Webcasts
Interactive, 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 Press
Essential 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
Training
Training 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