net compact framework development
Skip this Video
Download Presentation
.NET Compact Framework Development

Loading in 2 Seconds...

play fullscreen
1 / 38

Compact Framework Development - PowerPoint PPT Presentation

  • Uploaded on

.NET Compact Framework Development. With VB.NET. Don Sorcinelli Microsoft MVP – Mobile Devices Editor-In-Chief Club Pocket PC - Boston. Agenda. Introduction A Brief History of Windows Mobile Development Introduction to .NET Compact Framework Development

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Compact Framework Development' - Samuel

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
net compact framework development

.NET Compact Framework Development


Don Sorcinelli

Microsoft MVP – Mobile Devices


Club Pocket PC - Boston

  • Introduction
  • A Brief History of Windows Mobile Development
  • Introduction to .NET Compact Framework Development
  • .NET CF Tips, Tricks and Recommendations
  • .NET CF “Futures”
  • Q & A
  • Windows Mobile “Evangelist”
    • Consumer
    • Enterprise
    • Developer
  • Developer
    • Enterprise focus
    • Multiple languages, platforms and technologies
a brief history of windows mobile development
A Brief History of Windows Mobile Development
  • Embedded Tools for Visual Studio
    • VS 6
    • Tools for VB, C++
  • eMBedded Tools
    • Standalone and free
    • eVB
    • eC++
  • .NET Compact Framework (First Pass)
    • Visual Studio.NET
    • Smart Device Extensions
current state of the net compact framework
Current State of the .NET Compact Framework
  • Visual Studio.NET 2003
  • Smart Device Projects
  • .NET Compact Framework 1.1
introduction to the net compact framework
Introduction to the .NET Compact Framework
  • What is the .NET CF?
  • What can I do with the .NET CF?
  • What can’t I do with the .NET CF?
what is the net cf
What is the .NET CF?
  • Essentially, the .NET CF is an “extended subset” of the .NET Framework
    • “Subset”: Some non-essential classes are not included
    • “Extended”: Functionality specific to the Windows Mobile platform
  • High-level goal: Extend the .NET developer platform to the Windows Mobile device platform
what can i do with the net cf
What can I do with the .NET CF?
  • Simple answer –
    • Much of what you would do with regards to .NET client development
  • Possibilities
    • Rich client applications
    • Web services
    • Extending enterprise applications to Windows Mobile devices
what can t i do with the net cf
What can’t I do with the .NET CF?
  • Simple answer: “Not much”
  • Limitations are mostly restricted to the classes not included in the .NET CF
    • .NET Remoting
    • Web server/ASP.NET
  • Some of the limitations can be overcome by third-party supplements
    • More on that later
net cf tips tricks and recommendations
.NET CF Tips, Tricks and Recommendations
  • “Fill In The Holes”
  • UI Design Considerations
  • Extending Enterprise Applications
fill in the holes
“Fill In The Holes”
  • Notable gaps in the .NET CF:
    • Managed access to “Pocket Outlook”
    • XML Serialization
    • Managed access to platform APIs
  • Third-Party Tools can fill the gap
opennetcf org smart device framework – Smart Device Framework
  • Open source .NET CF library
  • Designed to fill the gaps in the .NET CF
pocket outlook in the hand
Pocket Outlook In-The-Hand
  • Managed access to Pocket Outlook
    • Contacts
    • Tasks
    • Appointments
pocket pc magazine best software awards
Pocket PC Magazine Best Software Awards
  • Includes a Developer category
  • Dozens of third-party tools for .NET CF development
ui design considerations
UI Design Considerations
  • UI Usability
  • Performance
ui usability
UI Usability
  • Three device categories within the Windows Mobile platform:
    • Windows Mobile for Pocket PC
    • Windows Mobile for Pocket PC Phone Edition
    • Windows Mobile for Smartphone
  • Smartphone does not support stylus entry
    • T9 input and key navigation
  • IMPACT: Screen layouts for Smartphone should be carefully considered
    • Tab Order
ui usability1
UI Usability
  • Windows Mobile 2003 Second Edition
    • Supports:
      • Landscape and portrait orientations
      • HiDPI resolution (VGA)
    • IMPACT: Applications should be orientation- and resolution-aware
    • For more information:
      • MSDN Mobile and Embedded Developer Center
      • ARTICLE: Developing Orientation and dpi Aware Applications for the .NET Compact Framework
ui usability2
UI Usability
  • Limited Screen “Real Estate”
    • Pocket PC, Phone Edition
      • VGA – 480 x 640
      • QVGA (Most Common) – 240 x 320
    • Smartphone (Smaller Screen)
      • VGA – 480 x 640
      • QVGA (Most Common) – 240 x 320
  • IMPACT: UIs should be designed and tested for usability
    • Analogy: Early days of GUI and web application development
  • Windows Mobile Architecture “Primer”
  • Performance Techniques
device cpus
Device CPUs
  • Intel XScale
    • Designed for battery life (ULV)
    • Fastest production model – 624 MHz
    • Designed for use in Phone Edition and Smartphone
      • Even more emphasis on battery life
    • 200 MHz
  • Samsung Mobile CPU
    • Multiple clock speeds; fastest = 533 MHz
device cpus1
Device CPUs
  • All are ARM Instruction Set compatible
    • You do not have to worry about device CPU differences
    • CPUs are not as powerful as desktop computers
    • Processor-intensive applications will run more slowly
    • Consider offloading “heavy lifting”
      • Web services/Server
memory model
Memory Model
  • Non-volatile ROM
    • System ROM
    • “FileStore”
    • Data will persist beyond a hard reset
  • Volatile ROM
    • “Main Memory”
    • Data will not persist beyond a hard reset
  • Smartphone OS
    • Volatile ROM will not persist beyond a soft reset
memory management
Memory Management
  • Volatile ROM is broken into two categories:
    • Storage Memory: Application and data stored in the file system
    • Program Memory: Memory space for running applications
      • “Virtual RAM”
  • The more that is stored in Storage Memory, the less that is available for Program Memory
  • IMPACT: Memory can be constrained. Applications should be designed for maximum memory management.
performance tips
Performance Tips
  • UI Usability
  • Memory Management/Performance
ui usability3
UI Usability
  • Avoid graphics-intensive screens
    • Real Estate
    • Processing
  • Consider tabs rather than multiple forms
    • There is an initial performance hit
    • Less need for opening multiple forms
  • Preloading of forms
    • There is an initial performance hit
    • Showing rather than initializing saves time during execution
memory management1
Memory Management
  • When done with objects, dispose of them
    • Do not rely solely on garbage collection
  • When connecting via the network, connect only as long as you need to
  • For enterprise and Internet applications: Plan for an “occasionally connected” model of data management
    • There is no perfect wireless technology
    • Consider:
      • SQL Server CE
      • XML
sql server ce
SQL Server CE
  • Limited subset of SQL Server functionality
  • Good for:
    • Persistent storage locally
    • Persistent storage for occasionally-connected applications and large sets of data
    • Merge Replication
  • Currently, SQL Server CE requires an additional installation
  • Good for:
    • Persistent storage of smaller sets of data
      • Local storage
      • Occasionally-connected computing
    • Not as secure as SQL Server CE
net cf futures
.NET CF “Futures”
  • Whidbey – Visual Studio.NET 2005
  • .NET Compact Framework 2.0
visual studio net 2005
Visual Studio.NET 2005
  • New Packaging
    • “Express” versions: Will not include .NET CF development
    • “Professional” version will provide .NET CF support
  • Native Emulators
    • Previously, an x86 emulator ran on the desktop
  • Integrated support for landscape development
  • Complete deployment support
    • Installation wizard support for Windows Mobile
net compact framework 2 0
.NET Compact Framework 2.0
  • Additional classes
    • Serialization
  • Event Notification API
    • Publish/Subscribe methodology
    • Applications can subscribe to a variety of system events
    • Applications can publish events
      • SMS Interception
      • Device-side real-time application integration