net compact framework a mostly straight path, but with some interesting curves richard kucia kucia...

32
.Net Compact Framework .Net Compact Framework A Mostly Straight A Mostly Straight Path, but with Some Path, but with Some Interesting Curves Interesting Curves Richard Kucia Richard Kucia Kucia Associates Kucia Associates 440-892-3838 440-892-3838 [email protected] [email protected] 2003.09.09

Upload: colin-hogan

Post on 27-Mar-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.Net Compact Framework.Net Compact Framework

A Mostly Straight Path, but A Mostly Straight Path, but with Some Interesting Curveswith Some Interesting Curves

Richard KuciaRichard Kucia

Kucia AssociatesKucia Associates

440-892-3838440-892-3838

[email protected]@att.net2003.09.09

Page 2: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

AgendaAgenda

What is the .Net Compact Framework?What is the .Net Compact Framework?

Developing in a Compact WorldDeveloping in a Compact World

Inclusions and ExclusionsInclusions and Exclusions

ExamplesExamples

Page 3: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

What is the .Net CF?What is the .Net CF?

Target: Mobile DevicesTarget: Mobile Devices

The Same Framework – but “optimized”The Same Framework – but “optimized”

Integrated into VS.Net 2003Integrated into VS.Net 2003

Formerly: “Smart Device Extensions”Formerly: “Smart Device Extensions”

Page 4: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.NET CF Design Goals.NET CF Design Goals

Portable and small .NET CLR for devicesPortable and small .NET CLR for devices– Enable Visual Basic® and C# Enable Visual Basic® and C#

Leverage Visual Studio® .NETLeverage Visual Studio® .NET– Run managed .EXEs and .DLLs directlyRun managed .EXEs and .DLLs directly– Debug with Visual Studio .NETDebug with Visual Studio .NET

Enable rich client Web Services and line of Enable rich client Web Services and line of business applications on devicesbusiness applications on devices– Class libs for forms, drawing, storage, net, data access, Class libs for forms, drawing, storage, net, data access,

XMLXML

Peacefully co-exist with host OSPeacefully co-exist with host OS– Run on native threads, P/Invoke to call native codeRun on native threads, P/Invoke to call native code

Page 5: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

Target: Mobile DevicesTarget: Mobile Devices

Compaq, HP, Dell, Toshiba, …Compaq, HP, Dell, Toshiba, …

PocketPC 2000, 2002PocketPC 2000, 2002

Windows Mobile (aka PPC 2003)Windows Mobile (aka PPC 2003)– .Net CF in ROM!.Net CF in ROM!

Windows CEWindows CE

SmartPhoneSmartPhone

No Palm/HandspringNo Palm/Handspring

Page 6: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

The Framework – “Optimized”The Framework – “Optimized”

20mb 20mb 1.5mb 1.5mb

True subset – no breaking changesTrue subset – no breaking changes

Same languages, same code, same MSILSame languages, same code, same MSIL

Multiple target CPUsMultiple target CPUs

Page 7: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

How Rich is the Working How Rich is the Working Environment?Environment?

CLRCLR

JITJIT

Garbage CollectionGarbage Collection

Type safety; exceptionsType safety; exceptions

ThreadingThreading

Windows OS (PInvoke)Windows OS (PInvoke)

SQL Server CE including SQL Server CE including replicationreplication

ActiveSyncActiveSync

Remote ViewerRemote Viewer

Web ServicesWeb Services

Sockets/StreamsSockets/Streams

ADO.NetADO.Net

GraphicsGraphics

Page 8: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.NET Framework.NET Framework

SystemSystem

System.DataSystem.Data System.XmlSystem.Xml

System.WebSystem.Web

GlobalizationGlobalization

TextText

SecuritySecurity

CollectionsCollections

ResourcesResources

ReflectionReflection

NetNet

IOIO

ThreadingThreading

DiagnosticsDiagnostics

ServiceProcessServiceProcess

ConfigurationConfiguration

DesignDesign

ADO.NETADO.NET SqlClientSqlClient

Xslt/XPathXslt/XPath

XmlDocumentXmlDocument

RuntimeRuntimeInteropServicesInteropServices

RemotingRemoting

SerializationSerialization

SerializationSerialization

ConfigurationConfiguration SessionStateSessionState

CachingCaching SecuritySecurity

ServicesServicesDescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

UIUIHtmlControlsHtmlControls

WebControlsWebControls

System.DrawingSystem.Drawing

ImagingImaging

Drawing2DDrawing2D

TextText

PrintingPrinting

System.WinFormsSystem.WinForms

DesignDesign ComponentModelComponentModel

Reader/WritersReader/Writers

Page 9: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.NET Compact Framework.NET Compact Framework

SystemSystem

System.DataSystem.Data System.XmlSystem.Xml

System.WebSystem.Web

GlobalizationGlobalization

TextText

SecuritySecurity

CollectionsCollections

ResourcesResources

ReflectionReflection

NetNet

IOIO

ThreadingThreading

DiagnosticsDiagnostics

ServiceProcessServiceProcess

ConfigurationConfiguration

DesignDesign

ADO.NETADO.NET

SqlServerCeSqlServerCe

SqlClientSqlClient

Xslt/XPathXslt/XPath

XmlDocumentXmlDocument

RuntimeRuntimeInteropServicesInteropServices

RemotingRemoting

SerializationSerialization

SerializationSerialization

ConfigurationConfiguration SessionStateSessionState

CachingCaching SecuritySecurity

ServicesServicesDescriptionDescription

DiscoveryDiscovery

ProtocolsProtocols

UIUIHtmlControlsHtmlControls

WebControlsWebControls

System.DrawingSystem.Drawing

ImagingImaging

Drawing2DDrawing2D

TextText

PrintingPrinting

System.WinFormsSystem.WinForms

DesignDesign ComponentModelComponentModel

Reader/WritersReader/Writers

Page 10: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

AgendaAgenda

What is the .Net Compact Framework?What is the .Net Compact Framework?

Developing in a Compact WorldDeveloping in a Compact World

Inclusions and ExclusionsInclusions and Exclusions

ExamplesExamples

Page 11: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

Developing in a Compact WorldDeveloping in a Compact World

VS.Net 2003 installation optionVS.Net 2003 installation option

C#, VB.NetC#, VB.Net

True on-device debuggingTrue on-device debugging– If you can get it connected…If you can get it connected…

EmulatorEmulator

DeploymentDeployment

Page 12: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

Developing in a Compact World Developing in a Compact World VS.NET IntegrationVS.NET Integration

Templates for devices in New Project dialogTemplates for devices in New Project dialog– Template sets device and project typeTemplate sets device and project type

Template typesTemplate types– Pocket PC ApplicationPocket PC Application– Pocket PC Class LibraryPocket PC Class Library– Pocket PC Control LibraryPocket PC Control Library– Windows CE .NET Application Windows CE .NET Application – Mobile Phone ApplicationMobile Phone Application

Default set of references that are appropriate Default set of references that are appropriate for your platformfor your platform

Page 13: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

Developing in a Compact WorldDeveloping in a Compact WorldOverview of ControlsOverview of Controls

Use Windows Forms DesignerUse Windows Forms Designer

Drag-and-drop, property-basedDrag-and-drop, property-based

Rich subset of desktop controlsRich subset of desktop controls– User Interface controlsUser Interface controls

Data EntryData Entry

DisplayDisplay

– Formatting & RAD controlsFormatting & RAD controlsOrganizational controlsOrganizational controls

Helper controlsHelper controls

Page 14: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

Data EntryData Entry

Check BoxCheck Box

Combo BoxCombo Box

Command ButtonCommand Button

Domain Up/DownDomain Up/Down

List BoxList Box

Numeric Up/DownNumeric Up/Down

Radio ButtonRadio Button

Text BoxText Box

Track BarTrack Bar

DisplayDisplay

LabelLabel

Picture BoxPicture Box

Progress BarProgress Bar

Status BarStatus Bar

HelperHelper

Context MenuContext Menu

Scroll BarsScroll Bars

Image ListImage List

Main MenuMain Menu

Open & Save File Open & Save File DialogsDialogs

TimerTimer

Tool BarTool Bar

Organizational Organizational List ViewList ViewPanelPanelTab ControlTab ControlTree ViewTree View

Developing in a Compact WorldDeveloping in a Compact WorldSubset of Desktop ControlsSubset of Desktop Controls

Controls Controls NotNot Supported SupportedChecked List BoxChecked List BoxData GridData GridDateTime PickerDateTime Picker

Group BoxGroup BoxMonth CalendarMonth Calendar

SplitterSplitter

Page 15: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

Developing in a Compact WorldDeveloping in a Compact WorldCustomizing Emulator SettingsCustomizing Emulator Settings

Fully Functional PocketPC 2002 OS EmulatorFully Functional PocketPC 2002 OS Emulator

Options to change device configurations and connectivityOptions to change device configurations and connectivity– Resolution & Color DepthResolution & Color Depth– MemoryMemory– COM & LPT ports!COM & LPT ports!

Page 16: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

Developing in a Compact WorldDeveloping in a Compact WorldDeploymentDeployment

Same user experience as desktopSame user experience as desktop

Compiles application for deviceCompiles application for device

Output Window used for deployment Output Window used for deployment messagesmessages

Visual Studio deploys the framework to Visual Studio deploys the framework to device if neededdevice if needed

Page 17: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

AgendaAgenda

What is the .Net Compact Framework?What is the .Net Compact Framework?

Developing in a Compact WorldDeveloping in a Compact World

Inclusions and ExclusionsInclusions and Exclusions

ExamplesExamples

Page 18: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.NET Compact Framework.NET Compact FrameworkWhat’s Different?What’s Different?

Specific performance issuesSpecific performance issues– XMLXML– Form loadingForm loading– SQL Server CESQL Server CE

Emphasis on File SizeEmphasis on File Size

Emphasis on Memory FootprintEmphasis on Memory Footprint

Page 19: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.NET Compact Framework.NET Compact FrameworkWhat’s Different?What’s Different?

Controls unimplementedControls unimplemented

Control properties removedControl properties removed

Control properties unimplementedControl properties unimplemented

Method overloads removedMethod overloads removed

No Console or Debug objectsNo Console or Debug objects

No Serial Port supportNo Serial Port support

Page 20: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.NET Compact Framework.NET Compact FrameworkWhat’s Different?What’s Different?

Form-factor and GUI guideline issuesForm-factor and GUI guideline issues

No MDI applicationsNo MDI applications

No ActiveX controls in formsNo ActiveX controls in forms

Applications that don’t really closeApplications that don’t really close

Open/Save dialog for “\My Documents”Open/Save dialog for “\My Documents”

No file system (C:/?)No file system (C:/?)

.resx file format.resx file format

Page 21: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.NET Compact Framework.NET Compact FrameworkWhat’s Different?What’s Different?

Can’t deploy to subdirectoriesCan’t deploy to subdirectories

No Merge modulesNo Merge modules

““My Company” .cab filesMy Company” .cab files

No pre-compiling (NGen)No pre-compiling (NGen)

Page 22: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.NET Compact Framework.NET Compact FrameworkWhat’s Different?What’s Different?

No designer for custom controlsNo designer for custom controls

No support for Pocket AccessNo support for Pocket Access

No support for Pocket OfficeNo support for Pocket Office

Expensive licensing for SQL Server CEExpensive licensing for SQL Server CE

Page 23: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.NET Compact Framework.NET Compact FrameworkWhat’s Different?What’s Different?

Debugging: remarkable yet frustratingDebugging: remarkable yet frustrating

Single-in, step-thruSingle-in, step-thru

CommandCommand

WatchWatch

BreakpointBreakpoint

No Console or Debug objectsNo Console or Debug objects

No “set next instruction to execute”No “set next instruction to execute”

Page 24: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

.NET Compact Framework.NET Compact FrameworkWhat’s Different?What’s Different?

Reflection EmitReflection Emit

Remoting Remoting

SerializationSerialization

Code DomCode Dom

PrintingPrinting

COM InteroperabilityCOM Interoperability

Server side functionalityServer side functionality

XPath/XSLTXPath/XSLT

Page 25: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

AgendaAgenda

What is the .Net Compact Framework?What is the .Net Compact Framework?

Developing in a Compact WorldDeveloping in a Compact World

Inclusions and ExclusionsInclusions and Exclusions

ExamplesExamples

Page 26: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

For More Information…For More Information…

MSDN Web site at MSDN Web site at – msdn.microsoft.commsdn.microsoft.com

Page 27: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

How-To ResourcesHow-To ResourcesSimple, Step-By-Step ProceduresSimple, Step-By-Step Procedures

Embedded Development How-To ResourcesEmbedded Development How-To ResourcesGeneral How-To Resources General How-To Resources integration How-To Resources integration How-To Resources JScript .NET How-To Resources JScript .NET How-To Resources .NET Development How-To Resources .NET Development How-To Resources office Development Resources office Development Resources Security How-To Resources Security How-To Resources Visual BasicVisual Basic®® .NET How-To Resources .NET How-To Resources Visual C#Visual C#®® .NET How-To Resources .NET How-To Resources Visual StudioVisual Studio®® .NET How-To Resources .NET How-To Resources Web Development How-To Resources (ASP, IIS, XML) Web Development How-To Resources (ASP, IIS, XML) Web Services How-To Resources Web Services How-To Resources Windows Development How-To Resources Windows Development How-To Resources

http://msdn.microsoft.com/howtohttp://msdn.microsoft.com/howto

Page 28: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

MSDN WebcastsMSDN WebcastsInteractive, Live Online EventInteractive, Live Online Event

Interactive, Synchronous, Live Online EventInteractive, Synchronous, Live Online EventDiscuss the Hottest Topics from MicrosoftDiscuss the Hottest Topics from MicrosoftOpen and Free For The General PublicOpen and Free For The General PublicTakes Place Every TuesdaysTakes Place Every Tuesdays

http://www.microsoft.com/usa/webcastshttp://www.microsoft.com/usa/webcasts

Page 29: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

MS PressMS PressEssential Resources for DevelopersEssential Resources for Developers

Microsoft® Visual Studio® .NET is here!Microsoft® Visual Studio® .NET is here!This is your chance to start building the next big This is your chance to start building the next big

thing. Develop your .NET skills, increase your thing. Develop your .NET skills, increase your productivity with .NET Books from Microsoft Press®productivity with .NET Books from Microsoft Press®

www.microsoft.com/mspresswww.microsoft.com/mspress

Page 30: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

TrainingTrainingTraining Resources for DevelopersTraining Resources for Developers

Course Title: Course Title: Developing Smart Device Applications with Developing Smart Device Applications with the .NET Compact Frameworkthe .NET Compact Framework– Course Number: Course Number: 25562556– Availability: 9/2002Availability: 9/2002– Detailed Syllabus: Detailed Syllabus: www.microsoft.com/www.microsoft.com/traincerttraincert

To locate a training provider for this course, please accessTo locate a training provider for this course, please access

www.microsoft.com/traincert Microsoft Certified Technical Education Centers Microsoft Certified Technical Education Centers

are Microsoft’s premier partners for training servicesare Microsoft’s premier partners for training services

Page 31: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09

SpecificationsSpecificationsTRS Series Rotary with

Planetary GearTLS Series Linear

Page 32: Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates 440-892-3838rjkucia@att.net 2003.09.09