June 2003 Beginning Compact Framework Mohammad Faridi (faridianslip) Umer Faruq.

Slides:



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

1 Unit 1: Introduction To.Net. 2 Introduction to.Net Integrated Development Environment (IDE) Languages in the.NET Framework The Common Language Runtime.
.Net Compact Framework A Mostly Straight Path, but with Some Interesting Curves Richard Kucia Kucia Associates
Developing Windows ® CE Applications With Visual Basic ® Larry Roof tonked
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.
CS Body of Knowledge (ACM) Discrete Structures Programming Fundamentals Algorithms & Complexity Operating Systems Architecture & Organization Social &
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.
.Net Overview Giuseppe Attardi Università di Pisa.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
Thursday Evening 6.30VB.NET Introduction 7.30Break for food 8.00VB.NET Migration 8.45Q & A 9.00Done.
What’s New for Smart Client Developers in Visual Studio 2005? Mike Pelton Systems Engineer Microsoft Ltd
Module 1: Overview of the Microsoft.NET Framework.
J2EE vs..NET Nigam Patel. Topics Background –Web Services, J2EE and.NET Similarities Differences Conclusion –Pros and Con (J2EE and.NET)
SQL Server 2005 CLR Integration ADO.NET 2.0 Mike Taulty
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.
Using.NET Skills To Build Mobile Applications In Compact Framework Punit Shah Technical Lead | Microsoft |
INTRODUCTION TO WEB DATABASE PROGRAMMING
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
1 Introduction to.NET Framework. 2.NETFramework Internet COM+ Orchestration Orchestration Windows.NET Enterprise ServersBuildingBlockServices Visual Studio.NET.
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.
Classroom User Training June 29, 2005 Presented by:
ASP.NET INTRODUCTION INTO وزارة التربية و التعليم العالي كلية العلوم و التكنولوجيا قسم علوم الحاسوب و تكنولوجيا المعلومات اعداد الاستاذ: عبد الله محمد.
VS.NET Syllabus By Peter Huang.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Microsoft.NET Framework Overview Abidi Mahmoud Seminarium on Component -based Software Engineering.
 2002 Prentice Hall. All rights reserved. 1 Introduction to Visual Basic.NET,.NET Framework and Visual Studio.NET Outline 1.7Introduction to Visual Basic.NET.
Introduction to .NET Rui Ye.
ASP.NET  ASP.NET is a web development platform, which provides a programming model, a comprehensive software infrastructure and various services required.
1 Developing Apps For The Pocket PC Platform Anup Mistry Technology Manager D-2 (22 nd May ’03)
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Overview of System Development. Overview Selecting a Windows Embedded Operating System The Windows CE Platform Development Cycle The Application Development.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
 Evolution of Smart Client  What is Smart client?  Types of Smart client  Architectural challenges  Smart Client Architecture  Demo application.
What is.NET? CS 351 Ed Gellenbeck. Today What is.NET? What Problems Does.NET Solve? What are.NET Framework Components?
CF and.NET Working Together Using Web Services Geoff Snowman Developer Community Champion Microsoft Corporation.
.Net Framework Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
1 Hammad Khan. COURSE CONTENTS.NET Framework And C# SQL Server 2008 ADO.NET LINQ ASP.NET Dynamics Data ASP.NET MVC framework 2 Advance C# Concepts Windows.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 17 Microsoft’s Approach 1 –.NET Mobile Framework Rob Pooley.
Rajiv and Shipra Introduction to.NET (asp.net,c#,vb)
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
INFO 355Week #71 Systems Analysis II User and system interface design INFO 355 Glenn Booker.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
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,
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
.NET Compact Framework Per Ahlberg. Agenda.NET CF vs.NET Framework Major Areas Base Classes Drawing/Forms Data/XML Web Services Application Development.
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.
Introduction to.NET Building.NET Applications Mike Taulty Developer & Platform Group Microsoft Ltd
Exploring Networked Data and Data Stores Lesson 3.
Working in a Mobile App Development Environment Lesson 2.
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Introducing the Microsoft® .NET Framework
Introducing the Windows Mobile development
Introduction to .NET Framework Ch2 – Deitel’s Book
Mobile Application Development 2005 By Sam Nasr July 25, 2006
Windows Forms and Smart Device Extensions in the End-to-End Application Hans Verbeeck Developer Consultant Microsoft EMEA.
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Overview of System Development for Windows CE.NET
.NET Framework Design Goals
Presentation transcript:

June 2003 Beginning Compact Framework Mohammad Faridi (faridianslip) Umer Faruq

Agenda Introduction to Compact Framework Compact Framework Smart Device Extensions Data Access Design Considerations Upgrading

June 2003 Introduction to Compact Framework

Introduction to CF.NET Evolution of PDA – PDA (Personal Digital Assistant) – Windows CE 1996 – PocketPC 2002 (Current Version) – Previous Development : Environment: Embedded Toolkit Languages: VB, VC++

Introduction to CF.NET eVC – Native Code – Targets SmartPhone – Drivers for the Pocket PC/CE – Applications run natively – Games using high-speed graphics – COM Servers or ActiveX Controls

Introduction to CF.NET eVB – Resulting pcode is interpreted at runtime – Based on VB Scripting rather than VB – Build Enterprise Apps that consist mainly of ActiveX and COM Controls – RAD prototypes – Create Utilities

Introduction to CF.NET What is Compact Framework ? – A subset of the.NET Framework designed to run on devices with limited capabilities (Window CE) but without targeting specific hardware

Introduction to CF.NET Compact Framework – Managed Code – Write once, deploy to multiple devices – OOP – XML Web Services – ADO.NET – Apps that work Connected or Disconnected – VB.NET or C#

eMbedded Visual C 3.0 eMbedded Visual Basic 3.0 eMbedded Visual C 4.0 SDE Native CodeXX Managed Code X (Not based on.NET) X Pocket PC or Pocket PC 2002 XXX Smartphone 2002 X Embedded Devices XXXX COM Development XX (Cannot create ActiveX) X Driver Development XX Debug Drivers XX

June 2003 Compact Framework

CF.NET and.NET Framework Infrastructure Servers Tools XML Web Services Clients User Experiences & Solutions AuthenticationSMSVoice Calls Subscriber DBMMSData Calls PersonalizationBillingetc…

A large number of devices…

Making Applications Truly 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

CF.NET 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

CF.NET 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 libraries for forms, drawing, storage, net, data, XML Peacefully co-exist with host OS – Run on native threads, P/Invoke to call native code

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

.NET Framework Components 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 Serialization ConfigurationSessionState CachingSecurity Services Description Discovery Protocols UI HtmlControls WebControls System.Drawing Imaging Drawing2D Text Printing System.WinForms DesignComponentModel Reader/Writers

CF.NET Framework Components 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

Common CLR Features Compact Framework supports all the core CLR features – Exceptions – Constructors and Finalizers IDisposable – Remote Debugging – App Domains Applications can start another application domain in-process – P/Invoke

Common CLR Features not included Reflection Emit Remoting Serialization Printing COM Interoperability Server side functionality XPath/XSLT

June 2003 Smart Devices Extension

Local Code Remote Web Pages Visual Studio.NET.NET Framework Mobile Web Browser.NET Compact Framework Client-side Rich Apps Server-side Web Apps Smart Device Extensions and MIT Development Platform Overview

Visual Studio.NET.NET Framework Mobile Web Browser.NET Compact Framework Local Code Remote Web Pages MIT (Mobile Internet Toolkit)

SOAP XML Web Services Common Language Runtime (CLR) Base Framework Data and XML Web Services User Interface ASP.NET, Mobile Internet Toolkit VB C++ C# Perl Python … … Visual Studio.NET Windows Mobile Web Pages Mobile Web Browser Device OS MIT (Mobile Internet Toolkit)

Visual Studio.NET.NET Framework Mobile Web Browser.NET Compact Framework Local Code Remote Web Pages SDE (Smart Devices Extension)

Local Code SOAP XML Web Services Visual Studio.NET.NET Compact Framework Windows.NET Compact Framework Device OS Smart Device Extensions SDE (Smart Devices Extension)

SDE versus MIT MIT – Advantage Support a broad range of devices Browser access MIT handles the device differences – Disadvantage Doesn’t work offline No local processing power Limited user interface SDE – Advantage The best way to do online and offline Takes full advantage of Pocket PC Excellent integration with SQL Server™ CE Powerful local processing and rich graphics, multimedia – Disadvantage Limited device support

SDE: Intro to the CF environment 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

SDE Controls: A 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 Display Label Picture Box Progress Bar Status Bar Helper Context Menu Scroll Bars Image List Main Menu Open & Save File Dialogs Timer Tool Bar Organizational List View Panel Tab Control Controls Not Supported Checked List Box DateTime Picker Group Box Month Calendar Splitter

SDE: 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

SDE: 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

SDE: 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

June 2003 Data Access

Data Access: Included 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

Data Access: ADO.NET DataSet DataAdapter DataReader Command DataParameter Connection Transaction Opens ‘pipeline’ to data source Configures commands sent to source Used for parameterized commands Configures transactions on connection Serializes to and from DataSet Forward-only reader with typing Disconnected cache object

Data Access: Direct DB Access SQL Server Windows Server ADO.NET Data Provider.NET Compact Framework ADO.NET WindowsForms 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

Data Access: SQLCE SQL CE Replication (HTTP).NET Compact Framework SQL CE ADO.NET WindowsForms 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

Data Access: DataSets 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

Supported XML Classes 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

June 2003 Design Considerations

Key Factors to keep in mind: Simplicity Consistency User Control Feedback Accessibility Aesthetics

Design Considerations: Simplicity Show the most frequently used controls directly on the interface Hide secondary controls in menus Automate as many processes as you can Show only relevant data Group related tasks Allow users to navigate to data by selecting options Reduce the amount of data entry users must perform Reduce number of steps needed to complete a task

Design Considerations: Consistency Reuse existing user interface concepts and design guidelines. Use controls, such as scroll bars, that behave similarly regardless of context. Extend existing concepts to cover new situations. Design a new control or concept if you cannot extend your solution.

Design Considerations: User Control Allow users to complete tasks in fewer steps. Provide ways for users to customize your application. Give users the opportunity to reverse or continue their actions despite non-critical errors.

Design Considerations: Feedback Users need and should receive clear and immediate feedback on their actions. Such feedback can enhance the presentation of written and graphical information. Two types of Feedback are: – Visual Feedback achieved through: Messages Animation – Audio Feedback achieved through: A piece of music or voice message. Alert messages.

Design Considerations: Accessibility To improve accessibility, give higher priority to these factors: – Tasks that affect large numbers of users – Frequently performed tasks – Accommodate a wide variety of user needs – Make your application predictable and consistent – Screen enlargers and screen magnifiers – On-screen keyboards that use a pointing device or a switch

Design Considerations: Aesthetics Select interface elements carefully Create a tidy appearance Establish a design strategy and style convention before you begin development Respect user settings and preferences Select the fewest elements needed to communicate information

June 2003 Upgrading

Upgrading eVB to VB.NET No Implicit Late Binding – E.g., No Variants, No CreateObject() Forms object model different – Windows.Forms vs. eVB 3.0 Forms ADOCE superceded by ADO.NET – Programming models differ significantly No ActiveX controls/components

Upgrading Porting Advice Will port: – Core business logic Rewrite: – Data Access code (ADO -> ADO.NET) – Forms (eVB 3.0 -> Windows.Forms) – COM component access

Upgrading New applications? VS.NET Existing applications? – In maintenance mode? Keep as eVB 3.0 – Adding significant features? VB.NET

Agenda Introduction to Compact Framework Compact Framework Smart Device Extensions Data Access Design Considerations Upgrading

June 2003 Demos

June 2003 Questions?