Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "June 2003 Beginning Compact Framework Mohammad Faridi (faridianslip) Umer Faruq."— Presentation transcript:

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

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

3 June 2003 Introduction to Compact Framework

4 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++

5 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

6 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

7 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

8 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#

9 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

10 June 2003 Compact Framework

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

12 A large number of devices…

13 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

14 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

15 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

16 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

17 .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

18 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

19 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

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

21 June 2003 Smart Devices Extension

22 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

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

24 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)

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

26 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)

27 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

28 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

29 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

30 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

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

32 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

33 June 2003 Data Access

34 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

35 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

36 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

37 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

38 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

39 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

40 June 2003 Design Considerations

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

42 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

43 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.

44 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.

45 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.

46 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

47 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

48 June 2003 Upgrading

49 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

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

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

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

53 June 2003 Demos

54 June 2003 Questions?


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

Similar presentations


Ads by Google