.NET Compact Framework Per Ahlberg. Agenda.NET CF vs.NET Framework Major Areas Base Classes Drawing/Forms Data/XML Web Services Application Development.

Slides:



Advertisements
Similar presentations
Unit 1: Overview of the Microsoft.NET Platform
Advertisements

.Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates
OneBridge Mobile Data Suite Product Positioning. Target Plays IT-driven enterprise mobility initiatives Extensive support for integration into existing.
Introduction to .NET Framework
Tahir Nawaz Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a.
Platform Architecture Mike Zintel Development Manager.NET Compact Framework Microsoft Corporation.
Developing with the.NET Framework Rob Howard Program Manager.NET Framework Team Microsoft Corporation.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
.Net Compact Framework. Microsoft.Net is often referred as Plateform for web services But.net vision is more than web services – It talks about how people.
Introduction. What is.Net? The hype: “Microsoft.Net is a set of Microsoft software technologies for connecting information, people, systems, and devices.
.Net Overview Giuseppe Attardi Università di Pisa.
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
Module 1: Overview of the Microsoft.NET Framework.
Mobile.Net & Mappoint Service. .NET Mobile Overview Imran Muhammad CS 898T Mobile and Wireless Networks Summer 2005 Wichita State University.
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Developing International Applications for Mobile Devices with.NET Achim Ruopp International Program Manager Microsoft Corporation.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 18 Microsoft’s Approach 1 –.NET Mobile Framework Rob Pooley.
Real-time HMI and SCADA software for .NET applications.
Using.NET Skills To Build Mobile Applications In Compact Framework Punit Shah Technical Lead | Microsoft |
September 2008 IT Software Development Guide.
1 An Overview Of Microsoft's.NET Mobility Technologies Presentation By: Derek Ferguson, Chief Technology Evangelist
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Overview of.NET Framework Carlotta Eaton Associate Professor of IST New River Community College Dublin, VA Slides created by Microsoft Modified by Carlotta.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
June 2003 Beginning Compact Framework Mohammad Faridi (faridianslip) Umer Faruq.
Visual Studio.NET and.NET Compact Framework Application Development Mike D. Smith Group Program Manager Developer Division Microsoft Corporation.
IBSS Inc (International Business Software Solutions Inc.) Microsoft.NET.
VS.NET Syllabus By Peter Huang.
Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering.
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Introduction to.NET Framework. .NET – What Is It? Software platform Language neutral In other words:.NET is not a language (Runtime and a library for.
Creating and Running Your First C# Program Svetlin Nakov Telerik Corporation
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
Overview of System Development. Overview Selecting a Windows Embedded Operating System The Windows CE Platform Development Cycle The Application Development.
What is.NET? CS 351 Ed Gellenbeck. Today What is.NET? What Problems Does.NET Solve? What are.NET Framework Components?
.Net Framework Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
Globalization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation.
Introduction to the Compact Framework Marcus Perryman Principal Consultant Microsoft.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 17 Microsoft’s Approach 1 –.NET Mobile Framework Rob Pooley.
Fundamentals of.NET NYU-SCPS. Session 7 MS Certification Exams in brief MS Certification Exams in brief Custom Attributes Custom Attributes More on Collections.
.Net – The First Glance What Is.Net, Why Use.Net.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
Lesson 2 What is ASP.NET? What is ASP.NET? What is Web Matrix? What is Web Matrix? What are the features of Web Matrix? What are the features of Web Matrix?
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
Windows CE 시스템 개발 개요. 모바일운영체제 - Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle  The.
Localization Support in Microsoft.NET Framework François Liger Program Manager Microsoft Corporation.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
ASP.NET in Definition: 1.ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites,
Key Components of.NET Framework  Common Language Runtime  CLR at Design time  CLR at Runtime  Class Library  Assemblies  Namespaces  ASP.NET  Applications.
Module 1: Overview of the Microsoft .NET Framework
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
ASP.NET (Active Server Page) SNU OOPSLA Lab. October 2005.
Module 3: Working with Local Data. Overview Using DataSets Using XML Using SQL Server CE.
The 100% Inspiration Tour. An Introduction to Building Connected Mobile Applications Gavin King Academic Team, Microsoft UK
.NET Mobile Application Development XML Web Services.
Exploring Networked Data and Data Stores Lesson 3.
Advanced Managed Code Development Features Marcus Perryman
Working in a Mobile App Development Environment Lesson 2.
Introducing the Microsoft® .NET Framework
Object Orientated Programming using C#
Mobile Application Development 2005 By Sam Nasr July 25, 2006
Module 1: Getting Started
Windows Forms and Smart Device Extensions in the End-to-End Application Hans Verbeeck Developer Consultant Microsoft EMEA.
Overview of System Development for Windows CE.NET
Developing Managed Code for Smartphone 2003
.NET Framework Design Goals
Presentation transcript:

.NET Compact Framework Per Ahlberg

Agenda.NET CF vs.NET Framework Major Areas Base Classes Drawing/Forms Data/XML Web Services Application Development Emulation and deployment Communication and data Security

Agenda.NET CF vs.NET Framework Major Areas Base Classes Drawing/Forms Data/XML Web Services Application Development Emulation and deployment Communication and data Security

The Mobile Device Universe Infrastructure Servers, e.g. Network Operators Tools XML Web Services Clients User Experiences & Solutions AuthenticationSMSVoice Calls Subscriber DBMMSData Calls PersonalizationBillingetc…

A large number of devices…

code web pages Visual Studio.NET 2003.NET Framework Mobile Web Browser.NET Compact Framework client-side applications web applications Application models for devices

Making Applications Mobile Mobility involves more than just being wireless Truly mobile applications go anywhere Data useful when offline State of connectedness transparent to user and/or application

.NET CF design goals Compatibility Strict compatibility with.NET Framework Subset functionality Subsetting for devices Give the developer a known target Enable skills and code transfer Size/functionality Provide critical mass needed for “real apps”.NET Compact Framework.NET Framework

.NET Compact Framework Lightweight version of.NET Framework Designed for resource-constrained devices Compatible with VS.NET, C#, VB.NET Runs applications securely on-device High performance JIT compiler Guarantees robustness and security Highly interactive, offline, and networked experiences Makes it easy to consume web services Tuned for size and performance

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

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

.NET CLR Common Features Verifiable type safe execution No uninitialized variables, unsafe casts, bad array indexing, bad pointer math Garbage Collection No ref-counting, no leaks JIT compilation Error handling with exceptions Common type system Call, inherit, and source-level debug across different languages

.NET CF CLR Differences COM Interop Good support for calling native DLLs Support for calling a COM object through DLL wrappers No support for writing a COM / ActiveX object in C# or Visual Basic No install-time JIT (nGen) No remoting Client web services is fully supported No generic serialization Datasets can be serialized to XML Subsets of other areas of functionality…

Agenda.NET CF vs.NET Framework Major Areas Base Classes Drawing/Forms Data/XML Web Services Application Development Emulation and deployment Communication and data Security

Base data types are the same as the desktop Formatting StringBuilder Arrays Value types (Int16, Int32, Int64, UInt16, etc…) Floats and doubles Collections Classes for storing sets of objects Arraylists and Hashtables Basic Data Types

Networking Common Language Runtime.NET Compact Framework Web Services HTTP Request/Response, Network Stream Sockets Applications Sockets Synchronous and asynchronous Multiple protocols Streams Built on top of sockets Synchronous and asynchronous HTTP request and response Use stream model

Threading Applications start with an initial thread Applications can start new threads Using threads Responsive UI Program function segregation Thread synchronization primitives

Globalization Culture-correct string comparison Calendar math DateTime and numeric formatting /parsing External data Encodings.NET CF CLR is fully globalized

Windows Forms Support Layout Manual positioning Drawing Polygons, lines, arcs, ellipses, rectangles JPEG, BMP images Text and images TrueType bitmap fonts Most desktop controls Designer support

Supported Controls Button CheckBox ComboBox ContextMenu DataGrid* DomainUpDown FileOpenDialog Supported controls HScrollBar ImageList Label ListBox ListView FileSaveDialog MainMenu NumericUpDown Panel PictureBox ProgressBar RadioButton GroupBoxRichTextBox NotificationBubble Print Controls StatusBar TabControl TextBox Timer ToolBar TreeView VScrollBar Unsupported controls Unsupported controls – not available in CE CheckedListBox ColorDialog ErrorProvider HelpProvider LinkLabel NotifyIcon ToolTip Splitter FontDialog

Data ADO.NET DataSet Databound controls Managed providers SQL Server for Windows CE SQL Server (remote connection)

XML XmlTextReader and XmlTextWriter Forward-only parsers of XML data Better performance, no in-memory caching Low memory requirements XmlDocument Parse entire document In memory traversal Higher memory requirements; more functionality

Unsupported XML Classes XmlDataDocument Relational and hierarchical views of XML XPath Query over unstructured XML data XSLT Transform XML data to other forms XML Validation Verifies correctness of XML document

Web Services For Devices Web Services Synchronous and asynchronous invocation HTTP/SOAP Support calling into web services Why? Rich local UI Aggregate services Cache data locally for offline use Important considerations Bandwidth (How much? or WWAN?) Use suitable subset of types

Agenda.NET CF vs.NET Framework Major Areas Base Classes Drawing/Forms Data/XML Web Services Application Development Deployment and emulation Communication and data Security

Application Deployment Application install uses Windows CE installer technology Visual Studio will auto-generate simple CAB files for device Installer Include application and dependant references Does not include the runtime or SQL-CE Application Install will check for the runtime when installing Temporary files are kept if user wants to customize the cab file contents

Framework Size Framework size (RAM or ROM) ~1.5 MB Running RAM needs 0.5 MB+ (depends on app) Typical application sizes KB Apps often smaller due to use of platform features in the framework

Emulation Robust, accurate device emulation Runs Windows ® CE/PocketPC 2002 operating system on Windows XP Emulates localized versions of the operating system Can add images created in Platform Builder Configurable in Device Settings in Tools Options Configure RAM availability Map PC hardware to the emulator

.NET Framework.NET Compact Framework ActiveSync File Replication DataSet XML ADO.NET Windows Forms DataSet XML ADO.NET Service Cons Bound to single PC for data transfer No synchronization model; works best with flood synchronizing Pros Good for casually connected applications Back end agnostic Local caching for offline Active Sync Replication

SQL Server Windows Server ADO.NET Data Provider.NET Compact Framework ADO.NET Windows Forms Cons Must be constantly connected Not scalable on server; classic “two tier” design No synchronization model for typical dynamic data Pros Rich query into a large data source Access to entire data source; device queries for and uses what’s relevant Direct Database Access

Database ADO.NET ASP.NET.NET Framework.NET Compact Framework XML Web Service Cons Complex state and synchronization logic gets unwieldy Carries bulk of XML data transfer Pros Well deployed infrastructure (HTTP) Information cached; Synchronization logic on server Device communicates directly with source; no PC bridge Local Data WS Client Windows Forms Web Service Application

SQL CE Replication (HTTP).NET Compact Framework SQL CE ADO.NET Windows Forms SQL Server Windows Server Cons Server configuration required Engine footprint on device Pros Very robust local store Complex SQL querying Advanced/performant synchronization Utilizes HTTP SQL CE With Replication

Database ADO.NET ASP.NET.NET Framework.NET Compact Framework XML Web Service SQL CE WS Client Windows Forms Web Service with SQL CE Cons Carries bulk of XML data transfer Mapping of XML to SQL CE Footprint considerations Pros Well deployed infrastructure (HTTP) Information cached Structured storage Secure storage of sensitive information

DataSets on Devices In-memory cache of a relational database Aggregating multiple sources Reading and writing XML Remoted between tiers with XML Web Services Foundation for consistent data model from server tiers, desktop applications and now devices

Data Providers Providers included with.NET CF System.Data.SqlClient System.Data.SqlServerCe Custom Data Providers Follow interfaces to provide connection to custom data sources Developer creates custom code translating remote structure to DataSet

Security While transferring data HTTP authentication Secure sockets No encryption for System.Data.SqlClient While persisting data SQL Server CE Devices have the habit of disappearing; design for it No caching of passwords Encrypt sensitive data – SQL Server CE

When to choose? Windows CE.NET Supports the Win32 API Will support.NET Compact Framework Consider Win32 API when… Low-level driver code Operating system extensions Legacy code Combination will serve you well Leverage PInvoke

Summary Leverage your knowledge: Build device apps! Desktop framework & tools.NET languages (C#, VB.NET) Choose the appropriate project template Compile, debug, and deploy in Visual Studio.NET 2003 Internet msnews.microsoft.com microsoft.public.dotnet.framework.compactframework