Dr.*_*ABT 47 c# mobile xamarin.ios windows-phone-7 xamarin.android
这个问题与推荐的架构和人们以前分别使用C#,Monotouch和Monodroid开发的跨平台WP7,iOS,Android应用程序的体验有关.我在这里,这里和这里都研究过以前的问题.他们提供了很好的答案,但不是我想要的.我也发现这个优秀的问题确实涉及成本效益,因此存在一些重叠.
我需要为健康和健身公司开发一个跨平台的iPhone/iPad,WP7和Android应用程序,它将与他们的网站集成.当网络可用时,该应用程序需要少量本地数据存储用于离线模式和与网站同步.我是一个Windows(C#/ C++)开发人员,并且不想真正想要沿着三个Objective C,Java和C#应用程序的路线走下去,尽管我会这样做.我还将担任技术主管,并为该项目的团队开展一些工作.
我想知道是否有人在使用Monotouch,Monodroid和WP7进行跨平台开发方面的经验,并分享他们在应用程序架构方面的经验,以尽可能多地重用代码.我正在考虑的架构如下:

我的问题如下:
最好的祝福,
mig*_*aza 25
您可能需要查看MonoCross项目,该项目旨在帮助您重用多个表示层的C#代码:
http://code.google.com/p/monocross/
MonoCross(ITR Mobility)的作者为各种客户创建了多个移动跨平台解决方案,并撰写了两本关于该主题的书籍,一本是"企业中的iPad"(http://amzn.to/zAhQK6)和即将推出的"使用C#进行跨平台移动开发"(http://amzn.to/wM6RsF).
与此同时,您可以观看Scott Olson在Monospace 2011上所做的演示,该演示描述了如何使用MonoCross同时重用业务逻辑来定位多个移动和桌面平台:
http://www.infoq.com/presentations/The-Rise-of-Mono-in-the-Enterprise
他们在代码中强制执行严格的MVC拆分:
MonoCross MVC模式http://tirania.org/s/0e187c1c.png
使用此模型设计应用程序的最大好处是,您可以在每个平台上使用本机用户界面运行相同的应用程序.您可以获得原生的iOS,Android,Windows UI,甚至还有一个ASP.NET前端,它允许您发布相同业务逻辑的Web版本.
这项技术被Apple公司在其iPad业务中展示的Medtronic示例应用程序成功使用:
http://www.apple.com/ipad/business/profiles/medtronic/
我建议您查看Scott的博客,他定期发布有关跨平台架构经验的文章.
根据您的意见,您的要求适用于将与其现有服务集成的跨移动平台,但也可以脱机工作.您对C#通过Mono特别感兴趣,但是您已经表明您没有对其他方法进行折扣.
我觉得HTML/PhoneGap/JavaScript是一条你应该详细探索的路线.该框架的WP7版本刚刚发布,我有使用这种方法向市场发布应用程序的经验.
PhoneGap包装您的HTML/JavaScript代码,在WP7的情况下,它被加载到本地存储中.这使应用程序可以完全脱机工作.这适用于所有版本(iOS,Android等...)
PhoneGap/HTML5的最大问题可能与我们为浏览器开发复杂的基于Web的应用程序时遇到的问题相同.JavaScript的工具不是很好,浏览器差异是一个不变的问题.但是,它是一个久经考验的解决方案.
最后,可以为每个平台创建完全不同的应用程序UI.通过使用MVVM模式,我设法在WP7和iOS应用程序之间共享所有JavaScript业务逻辑,同时具有完全不同的UI:

将其与WP7屏幕进行比较:

注意:我计划很快在AppStore上安装iOS版本的Property Finder,我只需要弄清楚如何使用PhoneGap Build!
只需添加另一种替代方案 - mvvmcross
该项目是基于monocross,mvvmlight和opennetcf的经验开发的.
这是一个相当自以为是的mvvm框架(我的意见在其中!),它包括对Droid和Touch的数据绑定支持,它确实鼓励平台之间的代码重用.
该来源可从https://github.com/slodge/MvvmCross获得,它至少已用于几个大型项目中,并且仍在积极开发中.
有关幻灯片共享的介绍性介绍:http://www.slideshare.net/cirrious/dev-evening-monotouch-monodroid-mvvm-mvvmcross-and-databinding
其中一个功能更齐全的样本是会议应用:
| 归档时间: |
|
| 查看次数: |
5895 次 |
| 最近记录: |