Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Windows Mobile UI Architecture

I am tasked with rewriting the a mobile client (Win CE, Win Mobile 6 and later) application, because our current implemetation, based on MCSF is no longer usable. I have found this MVC framework: http://blogs.msdn.com/priozersk/archive/2008/10/10/mobile-mvc-framework-part-1.aspx

Is this the current hotness?

Our needs include:
- support for different langauges
- support for different resolutions (QVGA, VGA, but possibly 640x200, 800x600)
- editable grids
- preferably having a local database on the devices, perhaps SQL Server CE
- it has to be fast, so the infrastructure needs to come with a minimal amount of gunk
- is the best backend still an asmx web service? WCF does not seem to support very many bindings for Compact Framework out of the box.

I would like an MVC approach so we can replace the views if needed. The data model is very extensive, and the client needs to be able to handle quite a bit of data.

Any pointers or suggestions would be greatly appreciated.

Cheers

like image 949
Big Endian Avatar asked Nov 06 '22 13:11

Big Endian


1 Answers

FWIW, I use (and wrote, so I'm partial) the public-domain-licensed OpenNETCF.IoC framework specifically for smart device use. It follows the CAB/SCSF object model, generally speaking, so if you're familiar with SmartParts, Workspaces, etc then it should be no stretch to move into it.

As for your laundry list:

  • Different language support: No framework really provides this, but neither do they prevent or hinder it. We have a loose framework we use internally, but it's not really something that can be packaged and shared as it's more a methodology.
  • Different Resolutions: Again, no frameworks that I'm aware of do this. There are different styles for handling this too. I prefer separate UI Views for each resolution, especially for portrait v. landscape. Docking and anchoring can only get you so far, but they might get you from, say, 320x240 to 640x480.
  • editable grids: Again, not really a framework issue, but a control one. There are a few commercial grids that you can look at (like Resco)
  • local database: We almost always use SQLCE. The query parser tends to be slow, but when you need speed that's what TableDirect and indexes are for
  • needs to be fast: Define "fast". These devices are inherently slow. The IoC framework does a lot of work for you by caching things. It's as fast as I could make it considering all it does (and I'm always thinking about perf).
  • best back-end: when was an ASMX service decreed the "best" backend? There is no right answer here. If an ASMX worked well before for you, then it probably will again. WCF is great for some things. Azure is great for others. It really depends on your requirements and topology.

See Also:

  • Compact Framework Best Practices: Building a GUI
like image 160
ctacke Avatar answered Nov 15 '22 12:11

ctacke