仅使用部分移动应用程序块社区版本进行WM 6.x开发

时间:2011-03-21 12:54:43

标签: windows-mobile windows-ce application-blocks handhelddevice

我正在为一系列业务分布式系统规划架构,在非常相似的用例场景中必须支持许多不同类型的不同设备。

其中,我需要支持

  • 基于Windows Mobile 6.x的PDA
  • PC工作站

这些应用程序将提供非常简单的业务逻辑,因此我不想使用过度的架构。但是,我需要支持:

  • 远程更新
  • 主要用于PDA的客户端场景(以及可选的PC)

在研究适当的参考架构时,我偶然发现了该版本的Mobile Application Blocks Community ReleaseMobile Contribute扩展。让我感兴趣的是:

  • 断开连接的代理和连接监视器以支持大多数断开连接的客户端方案
  • 支持更新的移动更新程序应用程序阻止

我也知道桌面平台的SCSF版本。

现在,这是我的问题

  1. 根据您的经验,MCSF对VS2008 / WM6.x / .NET CF 3.5的扩展是否成熟且足够稳定以供生产使用?我不想成为一个知道的受害者,它不适合商业用途,而我正处于项目的中间。
  2. 由于应用程序非常简单,我不想让MVP模式和其他CAB相关框架添加过于复杂。我只需要支持上述场景。是否可以使用MCSF Community Release组件而无需以MCSF方式构建整个应用程序(使用命令,依赖注入,MVP等)?我想我会希望简单的应用程序保持简单。
  3. 桌面PC应用程序相同。我还认为,对于完整的CAB / SCSF而言,这将是一个重大的过度杀伤,因为这实际上是一组非常简单的功能,但我希望通过利用更新程序来减少开发时间,并且可能会断开连接客户端块。没有复杂的UI部分(我将为UI创建简单的WinForms)。会有可能吗?
  4. 我也在研究分享与PC和PDA之间断开连接的客户端/远程更新相关的一些代码的可能性,但我不认为MCSF / SCSF可以实现这一点。

    我很感激在我之前走过那条路的人的建议:)

1 个答案:

答案 0 :(得分:1)

  1. MCSF绝对可怕。似乎微软的某个人只是告诉一个没有经验的开发人员,可以在Compact Framework上使用SCSF并“使其工作”。这被翻译为“如果它编译,那就没关系”,因为这似乎已经发生了。

    它运行吗?当然,但神圣的慢蝙蝠侠!它在任何真实场景中都完全无法使用。 I wrote a replacement from the ground up维持(大部分)界面兼容性并且只包含一小部分功能,这已经够糟糕了。

  2. 我发现如果一个应用包含2个或更多视图,那么值得使用MVP模式。在某些时候,您需要添加另一个视图,并且您已经为它构建了它。此外,将您的对象放入DI / IoC框架通常会启用事件聚合等功能,即使在无头应用程序中也是如此,即使没有任何MVP,我也最终会使用它。

  3. 桌面在我的书中没有什么不同。我创建的IoC库同样支持CF和FFx(以及MonoTouch和Phone 7),因为我跨平台进行了大量的代码共享。我很少创建一个我不使用它的桌面项目。

  4. 现在我不是说你必须使用我的IoC项目。我发现它对我遇到的所有问题都很有用,而且我非常清楚,当我遇到一个缺失的功能区域时,我可以快速添加它(尽管我几个月都没有发现它)。如果您感觉舒适或者更喜欢其他DI / IoC框架,那就太好了,请使用它。我所说的是a)远离任何与MCSF有关的东西,并且b)使用DI / IoC框架,即使你认为应用程序太简单了,因为没有真正的应用程序这样的东西这太简单了,不能从中受益。