【问题标题】:Using only parts of Mobile Application Blocks Community Release for WM 6.x development仅使用部分 Mobile Application Blocks Community Release 进行 WM 6.x 开发
【发布时间】:2011-07-19 16:02:36
【问题描述】:

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

除此之外,我需要支持

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

这些应用程序将提供非常简单的业务逻辑,所以我不想为此使用过分夸大的架构。然而,我需要支持:

  • 远程更新
  • PDA(以及 PC 可选)的大多数断开连接的客户端场景

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

  • 断开连接的代理和连接监视器以支持大部分断开连接的客户端场景
  • 支持更新的移动更新程序应用程序块

我也知道SCSF 对应桌面平台。

现在,这是我的问题

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

我还在研究在 PC 和 PDA 之间共享一些与断开连接的客户端/远程更新相关的代码的可能性,但我认为这对于 MCSF/SCSF 来说是不可能的。

我会感谢在我之前走这条路的人的建议:)

【问题讨论】:

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


    【解决方案1】:
    1. MCSF 太可怕了。似乎微软的某个人只是告诉一个经验不足的开发人员采用 SCSF 并在 Compact Framework 上“使其工作”。这被翻译为“如果它可以编译,那就没问题”,因为这似乎就是发生的一切。

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

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

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

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

    【讨论】:

    • 嗯...这有点不鼓励使用 MCSF。然而,我会尝试更深入地挖掘。我相信你的话,因为 MCSF 实在是太可怕了。我会远离它。然而,VS2008/CF 3.5 的端口似乎解决了这些问题,至少其中一些问题。正如 Daniel 在此处 blogs.clariusconsulting.net/kzu/… 所写,他们所做的是从块中删除复合 UI 应用程序块 (CAB),因为它对移动应用程序的性能影响太大,他们设计了移动应用程序块。
    • 还有一件事——我想我可以接受你的建议,也许即使在这个简单的场景中也可以为 DI/IoC/MVP 建模,甚至使用你的框架,我仍然会一无所有我最关心的是,“大部分断开连接的客户端”和“远程应用程序更新”场景的现成实现。您对如何解决这些问题有什么建议吗?
    • 微软的断开连接和远程更新应用程序块仍然非常有效和有用。真正糟糕的只是他们对 SCSF/CAB 的厌恶。
    • 谢谢。很高兴知道。有人评论移动应用程序块 - mobile.codeplex.com,CAB 的替代品吗?
    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多