2011-03-22 34 views
5

我即将开始构建一个将在所有平台上使用的应用程序。我将使用monotouch和monodriod,这样我就可以保存东西了.net构建一个应用程序来迎合WP7,Iphone和Android

我有点懒,所以我想尽可能地重复使用尽可能多的代码。

可以说我想创建一个存储联系信息的应用程序。例如名称&电话号码

我的应用程序需要能够从Web服务检索数据并在本地存储数据。

MVVM模式看起来像的路要走,但林不知道我下面的方法是100%正确的

这是正确的吗?

  1. 包含我的模型
  2. 包含我的看法,本地存储的方法和还可以查看我结合我的看法模型一个项目一个项目。在这种情况下,将是用于绑定的服务和本地数据存储

任何建议将是巨大的基础上,3个操作系统的

  • 数据访问层项目3个不同的项目。

    感谢您的时间

  • +0

    尝试搜索SO,最近这个问题已经被问了几次(我懒得自己搜索:)) – Praetorian 2011-03-22 22:55:56

    回答

    5

    未进行具体回答你的问题,但这里有一些懒惰的三分球......

    • 你绝对可以重复使用跨所有三个平台(加MonoWebOS大量的代码? )
    • 重用代码是很容易的,但你需要保持单独的项目文件中每个平台上的每个库(这可能是件苦差事)
    • MVVM肯定适用于WP7。这不是很以及在MonoTouch的照顾和MonoDroid的
    • 一些你需要为每个设备单独代码的主要领域有:
      • UI抽象 - 每个平台都有自己的“标签”的理念,以“列表”, “烤面包” 等
      • 网络业务 - System.Net能力每个
      • 文件IO
      • 多任务处理能力
      • 装置相互作用稍有不同(例如,位置,进行呼叫等)
    • 接口抽象和IOC(Ninject?)可以与所有这些
    • 同样的单元测试的帮助应该能够运行所有3个平台?

    更新 - 我不能相信我只是碰到我自己的答案跌跌撞撞...:)除了这个答案,你可能想看看MonoCross和MvvmCross - 毫无疑问,很多其他的混合平台的方式:

    1

    我认为一次编写代码并在所有三个平台上都能正常工作的最简单方法可能是基于Web的应用程序。例如,请查看Untappd

    1

    您可以先看看Robert Kozak的MonoTouch MVVM框架。这只是一个开始。

    MonoTouch MVVM

    +0

    有一个GitHub项目可以让你使用Visual Studio编写除UI之外的所有内容。 https://github.com/follesoe/VSMonoTouch 另外,他有一个关于做跨平台移动开发的非常好的教程https://github.com/follesoe/FlightsNorway/tree/workshop – 2011-06-07 17:57:40

    2

    Jonas Follesoe's cross platform development talk:有此刻是最全面的资源在那里。他谈到了如何最好地共享代码和资源,抽象出UI和UX的许多差异,展示跨平台MVVM的可重复使用的可行性以及将几乎自动构建的好技术。 (是的,这包括一种方法可以让你编译你在Visual Studio上单击的东西)

    最重要的是,他有一个可用的成品源代码和一些主要组件分别放置在自己的车间项目和一份50页以上的pdf格式,详细说明了这样做的步骤。 FlightsNorway on github

    IMO唯一缺少的是如何最好地处理跨所有平台的本地数据存储。在这种情况下,我会告诉你Vici Cool Storage是一个ORM,可以与WP7,MonoTouch和MonoDroid(虽然不是官方支持)一起工作。

    *免责声明*网站文档不是最新的,但源代码可用。 (因为文档是许多程序员的Kriptonite)

    相关问题