【发布时间】:2012-01-06 09:32:14
【问题描述】:
这个问题具体与推荐的架构和人们以前分别使用 C#、Monotouch 和 Monodroid 开发的跨平台 WP7、iOS、Android 应用程序的经验有关。我研究过之前的问题here、here 和here。他们提供了很好的答案,但不是我想要的。我还发现 this excellent question 确实包含成本效益,因此存在一些重叠。
我需要为一家健康和健身公司开发一款跨平台的 iPhone/iPad、WP7 和 android 应用程序,该应用程序将与他们的网站集成。该应用程序需要少量本地数据存储以用于离线模式并在网络可用时与网站同步。我是一个彻头彻尾的 Windows (C#/C++) 开发人员,我真的不想走三个 Objective C、Java 和 C# 应用程序的路线,尽管如果我必须这样做的话。我还将担任技术主管,并将一些工作分配给该项目的团队。
我想知道这里是否有人有使用 Monotouch、Monodroid 和 WP7 进行跨平台开发的经验,并分享他们在应用程序架构方面的经验,以尽可能多地重用代码。我正在考虑的架构如下:
我的问题如下:
- 这里有人试过这样的吗?
- 这些框架(Monotouch、monodroid)对这类工作来说是否值得?
- 我能否在 Visual Studio 2010 中为 Monotouch、Monodroid 和 Wp7 目标设置单独的项目 (dlls/exe) 中的整个项目(但使用“添加为链接”共享代码)?
- 对于这种(或类似的)架构,我实际上可以期待什么样的代码重用?即,我可以使用哪些策略/模式来重用本地数据访问、Web 服务和业务逻辑?
【问题讨论】:
-
我喜欢你的云图
-
如果您是架构师,那么采用一种不受您自己的技术专长(C#/C++)限制的方法不是更有意义吗?正如您引用的问题所表明的那样,HTML / PhoneGap / JavaScript 是解决此问题的久经考验的方法。当然,这并非没有陷阱,而且骑行并不容易,但它肯定可以并且已经完成。我对您可能收到的答案很感兴趣。
-
业务逻辑有多复杂?我敢打赌,你最好在没有单声道包装器的情况下编写本机应用程序。
-
我发现在 MonoTouch 应用程序、Android 应用程序和 Windows Phone 7 应用程序之间共享代码的最佳示例来自 Jonas - jonas.follesoe.no/2011/07/22/cross- platform-mobile-ndc-2011/ 所以这可能值得一看。
-
我正在开发一个应用程序,它有一个统一的代码库,支持 windows、android 和 wp7 应用程序,ios/OSX 即将推出。全部由单声道供电,到目前为止一切顺利。对于所有“为了表现而去本土”的人——你错了。我是一名原生 android 开发人员,并且在 ios 和 android 上大放异彩。不能说关于 html 框架。我为这个特定平台选择单声道而不是原生的原因是为了避免代码库碎片化以及需要处理 3 组单独的错误。对我的选择非常满意。
标签: c# windows-phone-7 mobile xamarin.ios xamarin.android