Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 99523
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T00:24:14+00:00 2026-05-11T00:24:14+00:00

We work extensively in the .Net Compact Framework and Windows Mobile. I’ve seen plenty

  • 0

We work extensively in the .Net Compact Framework and Windows Mobile. I’ve seen plenty of questions come up regarding specifics to development of ASP.Net apps or other .Net based desktop apps but nothing CF specific.

Anyone else a mobile developer out there that can share some things to start doing, stop doing, and avoid doing when developing in the Compact Framework?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T00:24:15+00:00Added an answer on May 11, 2026 at 12:24 am

    Sure:

    • Use a physical device whenever possible (not the emulator)
    • Test with multiple devices (different vendors, different models)
    • Concentrate testing around sleep/wakeup behaviors
    • When using MSTEST unit tests, never use private accessors
    • Avoid ActiveSync like the plague – debug using CoreCon direct
    • Get familiar with RPM and start using it early
    • Reuse objects when possible
    • Avoid doing a lot of work in a Form’s ctor – off load it for lazy load or in a background thread
    • Load Forms on demand when possible (not all of them at once)
    • Cache the frequently used Forms, create infrequent ones on demand
    • Keep image resolutions low
    • If a class exposes Dispose use it. Always.
    • No app is too small to benefit from MVC/MVP patterns
    • Don’t use the Microsoft CAB/SCSF port for the CF (the people who ported it obviously never actually used a resource-limited device)
    • Get familiar with the concept of ‘occasionally connected’ if you will be doing any remote data/service activity
    • Docking and Anchoring are your friend and your enemy – test run-time screen rotations and multiple resolutions (even if you think you won’t target them, because you’re probably wrong in that thinking)
    • Look at, but don’t heavily invest in the device deployment package project type. It has major limitations that will likely bite you. A batch file works surprisingly well or a custom MSBUILD task to call CabWiz
    • Brush up on your C++ and P/Invoke skills. You will need them. It’s almost impossible to write a useful CF app without P/Invoking something.
    • Code to the lowest common denominator for targets.
    • Partial classes are your friend, especially for dividing logic between target types (PPC, Phone, non-mobile CE).
    • Avoid running an app from persistent storage, especially for CE and pre-WInMo 5. Copy to RAM and run from there to prevent demand-paging from killing you, especially after a sleep/wake cycle.
    • Apps should not care about sleep/wake transitions, but that’s pure theory. Sleep wake **will* change your app behavior, so again test, test, test.
    • Did I mention test? Especially on every device you can get your hands on? Buy cheap hardware off of eBay for your test lab. Having more devices is more important than having the latest unless you intend to use a specific feature of a newer device.
    • Ask for divine intervention if you plan to use bluetooth programmatically. Get familiar with the Widcomm and Microsoft stacks and understand that they aren’t the same.
    • Watch the MSDN webcast on memory management in the Compact Framework. Watch it again for the stuff you missed the first time.
    • Watch out for sleep/wake invalidating internal handles and causing access violations. This is more esoteric but certainly happens. For example, if you’re running an application off of a storage card, the entire app isn’t loaded into RAM. Pieces in use are demand-paged in for execution. This is all well and good. Now if you power the device off, the drivers all shut down. When you power back up, many devices simply re-mount the storage devices. When your app needs to demand-page in more program, it’s no longer where it was and it dies. Similar behavior can happen with databases on mounted stores. If you have an open handle to the database, after a sleep/wake cycle the connection handle may no longer be valid.
    • Install the evaluation version of Platform Builder. The source code for a whole lot of things is in there (like the network UI, many drivers, etc) and when your P/Invoke code isn’t doing what you expect you’ll at least have a place to go look for the ‘why’.

    added 5/25/10

    • Don’t expect the power management APIs under WinMo to work consistenly or properly (or even at all) across devices. In fact even with the same hardware it might change from OS build to OS build.

    added 7/27/10

    • If you’re after a aesthetic UI, be prepared to do a lot of custom or manual drawing.
    • If you’re doing custom or manual drawing and you need to use transparency, get ready for a load of frustrations and having to write wacky code or call native code directly to work around shortcomings in the CF.

    added 11/22/11

    • Don’t assume that just because a namespace or class exists in the BCL that it is actually implemented in any useful manner. Certificates certainly aren’t.

    I’m simply adding to the list as they occur to me…

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 61k
  • Answers 61k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer That's the focusing border added by the browser. For usability… May 11, 2026 at 9:38 am
  • added an answer From Google Code FAQ - Creating a Store Locator with… May 11, 2026 at 9:38 am
  • added an answer except Exception: pass Python docs for the pass statement May 11, 2026 at 9:38 am

Related Questions

We work extensively in the .Net Compact Framework and Windows Mobile. I've seen plenty
In the company where I work we have major releases twice every year. Extensive
We work heavily with serialization and having to specify Serializable tag on every object
We use ASP.NET / C#. We work locally, test locally, check in our code
My company is about to hire .NET developers . We work on a variety
At work we are currently still using JUnit 3 to run our tests. We
At work we are being asked to create XML files to pass data to
At work we have an application to play 2K (2048*1556px) OpenEXR film sequences. It
At work we have two competing theories for salts. The products I work on
At work we write a small to moderate amount of scripts to aid us

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.