Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Studio.NET and.NET Compact Framework Application Development Mike D. Smith Group Program Manager Developer Division Microsoft Corporation.

Similar presentations


Presentation on theme: "Visual Studio.NET and.NET Compact Framework Application Development Mike D. Smith Group Program Manager Developer Division Microsoft Corporation."— Presentation transcript:

1

2 Visual Studio.NET and.NET Compact Framework Application Development Mike D. Smith Group Program Manager Developer 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 Core Profile Platform Extension  Libraries are grouped in two ways…  Platform Extensions  Core Profiles

6 Two Ways to Target.NET CF Core Profile Platform Extension Your App

7 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 Platform Extensions Core Profiles

8  Kernel Profile  Minimal language support  Compact Profile  Foundation profile for all connected devices  Others to come  TV  Automotive  … Core Profiles Platform Extensions

9  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 Core Profiles Platform Extensions

10 Class Library Organization  Namespace scoping mechanism  System.IO.FileStream.Open()  Profiles – System namespace only  Extensions – Vendor namespace Namespace NamespaceClassMethod

11 Details: the Compact Profile Core Profiles Platform Extensions

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 Host operating system PAL Execution Engine Compact Profile Class Libraries Vendor ExtensionsApplication Native Code Managed Code Application

14 System System.DataSystem.Xml System.Web Globalization Text Security Collections Resources Reflection Net IO Threading Diagnostics ServiceProcess Configuration Design ADO SQLTypes SQL XPath XSLT Runtime InteropServices Remoting Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel.NET Framework Namespace Reader/Writers

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 .Read(), …,.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.DateTimeFormatInfo

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 Core Profiles Platform Extensions

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


Download ppt "Visual Studio.NET and.NET Compact Framework Application Development Mike D. Smith Group Program Manager Developer Division Microsoft Corporation."

Similar presentations


Ads by Google