.NET Compact Framework - PowerPoint PPT Presentation

About This Presentation
Title:

.NET Compact Framework

Description:

Title.NET Compact Framework Subject.NET CF App Developer Last modified by: Valued Sony Customer Created Date: 3/6/2001 12:02:35 AM Document presentation format – PowerPoint PPT presentation

Number of Views:329
Avg rating:3.0/5.0
Slides: 30
Provided by: 3gppOrgf
Learn more at: https://www.3gpp.org
Category:
Tags: net | compact | framework

less

Transcript and Presenter's Notes

Title: .NET Compact Framework


1
(No Transcript)
2
Visual Studio.NET and .NET Compact Framework
Application Development Mike D. SmithGroup
Program ManagerDeveloper Division Microsoft
Corporation
3
Agenda
  • Design Goals
  • Profiles and Extensions
  • Class Library Architecture
  • Base Class Libraries
  • Networking and Web Services
  • Creating a simple Web Service

4
Design Goals
  • Compatibility
  • Strict compatibility with .NET Framework
  • Subset functionality
  • Appropriateness
  • Give the developer a known target
  • Minimize arbitrary division
  • Balance cross device with device specific
  • Size / Functionality
  • Support for Innovation
  • Feature set evolution
  • Device differentiation
  • Security
  • Standardization

5
Library Groupings
  • Libraries are grouped in two ways
  • Platform Extensions
  • Core Profiles

PlatformExtension
Core Profile
6
Two Ways to Target .NET CF
PlatformExtension
Core Profile
7
Core Profiles
PlatformExtensions
Core Profiles
  • Coherent collection of class libraries and
    underlying EE support
  • Offered for any device, OS, CPU
  • By Microsoft
  • By Implementers from standards specs
  • Basic foundation / reference starting point for
    building devices
  • Enables broad range of scenarios and VS Project
    types
  • Broadest Reach / Lowest-Common Denominator
    platform target for apps

8
Core Profiles
PlatformExtensions
Core Profiles
  • Kernel Profile
  • Minimal language support
  • Compact Profile
  • Foundation profile for all connected devices
  • Others to come
  • TV
  • Automotive

9
Platform Extensions
PlatformExtensions
Core Profiles
  • Coherent collection of class libraries
  • Vendor and/or Device-specific
  • Relies on one or more Core Profiles
  • Value-add building block for devices (added atop
    Profiles)
  • Enables more specialized range of scenarios and
    VS Project types
  • Targeted Reach / Deep Integration platform
    target for apps

10
Class Library Organization
  • Namespace scoping mechanism
  • System.IO.FileStream.Open()
  • Profiles System namespace only
  • Extensions Vendor namespace

11
Details the Compact Profile
PlatformExtensions
Core Profiles
12
Compact Profile
  • Contents
  • Minimal set of classes for device scenarios
  • Support for .NET CF execution engine
  • Effective functionality for resource- constrained
    devices
  • Appropriate subset of .NET Framework System
    classes

13
Class Library Architecture
Application
Vendor Extensions
Application
Compact Profile Class Libraries
Execution Engine
PAL
Managed Code
Native Code
Host operating system
14
.NET Framework Namespace
System.Web
System.WinForms
Services
UI
Design
ComponentModel
Description
HtmlControls
Discovery
WebControls
Protocols
System.Drawing
Caching
Security
Drawing2D
Printing
Text
Configuration
SessionState
Imaging
System.Data
System.Xml
ADO
SQL
XSLT
Serialization
Design
SQLTypes
XPath
Reader/Writers
System
Collections
IO
Configuration
Runtime
InteropServices
Security
Net
ServiceProcess
Remoting
Text
Reflection
Diagnostics
Serialization
Globalization
Resources
Threading
15
Base Data Types
  • Signed and unsigned 8, 16, 32, and 64 bit
    integers
  • System.Int16, System.UInt32,
  • Optional floating point
  • Included in richer profiles, used appropriately
  • Strings
  • System.String, System.Text.StringBuilder
  • Arrays
  • System.Array
  • Additional value types supported
  • System.DateTime
  • System.TimeSpan
  • System.URI

16
Input / Output
  • Stream based I/O model
  • Synchronous and Asynchronous
  • ltstreamgt.Read(), , ltstreamgt.BeginRead(),
  • Included Streams
  • Files (System.IO.FileStream, )
  • Memory (System.IO.MemoryStream, )
  • Network (System.Net.NetworkStream, )
  • Readers and Writers
  • High level stream processing
  • Multiple / complex formats
  • Helper classes
  • Regular Expressions System.Text.RegularExpressions
    ,

17
Collections
  • Mutable Arrays
  • System.ArrayList
  • Key-value pair data structures
  • System.Hashtable
  • All collections may be made strongly typed by
    following a well defined design pattern

18
Globalization
  • Unicode implementation throughout
  • Culture
  • Globally selectable at runtime
  • System.Globalization.CultureInfo
  • String based resources for simple localization
  • System.Resources
  • Support for
  • Retrieving Unicode information about a character
  • System.Globalization.CharacterInfo.
  • Sorting strings based on specified culture
  • Formatting of dates, currency and other data
    types
  • Determined by current culture
  • Overridable by System.Globalization.DateTimeFormat
    Info

19
Networking
  • Socket level support has full parity with .NET
    Framework
  • Multi-protocol sockets
  • HTTP client server
  • Web services client
  • Connection management
  • High level Request / Response model
  • System.Net.WebRequest,WebResponse
  • SSL
  • Secure code download support

20
Reflection
  • Convenient access to class/method meta-data
  • System.Reflection.
  • Allows for late-binding and activation

21
Security
  • Permission classes
  • Control access to system resources
  • File System
  • Network
  • Other resources
  • Method level granularity
  • Configurable Policy

22
XML
  • Includes pull model XML parser
  • Easy but powerful XML access
  • System.XML.XMLTextReader
  • System.XML.XMLTextWriter

23
Web Services
  • Supports web services as defined by .NET
    Framework
  • Remote stateless method calls with SOAP formatted
    XML over HTTP
  • Allows for rich object based interoperability
    between all .NET platforms and SOAP compliant
    environments
  • Seamless to use
  • Uses client proxy code generated by Visual
    Studio.NET
  • Based on open standards

24
Language access to Libraries
  • The .NET Platform is Language Neutral
  • All .NET languages are first class players
  • Leverage your existing skills and code
  • Access largest community of developers
  • API access example
  • Generic public virtual Int32 Read(Char
    buffer, Int32 index, Int32 count)
  • C public virtual int Read(Char buffer, int
    index, int count)
  • VB Public Overridable Function Read(ByVal
    buffer() As char, ByVal index As Char, ByVal
    count as Char) As Integer
  • ECMAScript public override function Read(buffer
    char, index int, count int) int
  • Managed C
  • COBOL

25
Demo
  • Multiple languages (VB, C)
  • Regular Expression handling
  • Simple web service access
  • System.Net.HTTPWebRequest
  • Easy Deployment to the device

26
Details Platform Extensions
PlatformExtensions
Core Profiles
27
Platform Extension Examples
  • OS-specific or Device/Model-specific
  • .NET Extensions for MyCompany OS
  • .NET Extensions for MyCompany Device
  • Tradeoffs to consider
  • Pro Increased depth of integration
  • Pro Increased amount of specialization
  • Con Reduced reach for apps
  • Con Reduce reach for Developers

28
Summary
  • Class library design goals
  • Developer and Tool Oriented View
  • Profiles and Extensions
  • Compact Profile overview
  • Class library details
  • Web services demonstrations
  • Platform Extension examples

29
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com