Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
任何人都有跨平台WP7 Android iOS移动开发架构的经验(monotouch、monodroid、C#)_C#_Windows Phone 7_Mobile_Xamarin.ios_Xamarin.android - Fatal编程技术网

任何人都有跨平台WP7 Android iOS移动开发架构的经验(monotouch、monodroid、C#)

任何人都有跨平台WP7 Android iOS移动开发架构的经验(monotouch、monodroid、C#),c#,windows-phone-7,mobile,xamarin.ios,xamarin.android,C#,Windows Phone 7,Mobile,Xamarin.ios,Xamarin.android,这个问题与推荐的体系结构以及人们以前分别使用C#、Monotouch和Monodroid开发的跨平台WP7、iOS和Android应用程序的经验有关。我已经研究了以前的问题,并且。他们提供了很好的答案,但不是我想要的。我还发现了成本效益中的哪些因素,因此存在一些重叠 我需要为一家健康和健身公司开发一个跨平台的iPhone/iPad、WP7和android应用程序,该应用程序将与他们的网站集成。该应用程序需要少量本地数据存储,用于离线模式,并在网络可用时与网站同步。我是一个彻头彻尾的Windows

这个问题与推荐的体系结构以及人们以前分别使用C#、Monotouch和Monodroid开发的跨平台WP7、iOS和Android应用程序的经验有关。我已经研究了以前的问题,并且。他们提供了很好的答案,但不是我想要的。我还发现了成本效益中的哪些因素,因此存在一些重叠

我需要为一家健康和健身公司开发一个跨平台的iPhone/iPad、WP7和android应用程序,该应用程序将与他们的网站集成。该应用程序需要少量本地数据存储,用于离线模式,并在网络可用时与网站同步。我是一个彻头彻尾的Windows(C#/C++)开发人员,我不想走三个目标C、Java和C#应用程序的道路,尽管如果有必要,我会这样做。我还将作为技术负责人,在这个项目上为团队分配一些工作

我想知道这里是否有人有使用Monotouch、Monodroid和WP7进行跨平台开发的经验,并分享他们在应用程序架构方面的经验,以尽可能多地重用代码。我正在考虑的架构如下:

我的问题如下:

  • 这里有人试过这样的东西吗
  • 这些框架(Monotouch、monodroid)值得做这种工作吗
  • 我是否可以在Visual Studio 2010中为Monotouch、Monodroid和Wp7目标(但使用“添加为链接”共享代码)使用单独的项目(DLL/exe)设置整个项目
  • 对于这种(或类似的)体系结构,我可以实际期望什么样的代码重用?i、 e.我可以使用什么策略/模式来重用本地数据访问、Web服务和业务逻辑

致以最诚挚的问候,

根据您的评论,您的需求是一个跨移动平台,该平台将与其现有服务集成,但也可以脱机工作。您对C#via 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构建

这个问题很难回答,但我想分享一些想法

移动发展的情况与90年代上半年的发展非常相似。手机和电脑一样,资源有限,移动操作系统正在起步,因此生态系统相对较小。他们有自己的哲学、工具甚至语言。这是一件好事,但会给跨平台开发带来麻烦。因此,有许多人试图稍微澄清这一点。人们构建框架、包装器等,这是一种抽象和抽象。这对于移动设备非常重要,不仅是CPU周期数的性能,还有电池的性能,这对用户来说更为重要

如果我是你,我会在本地环境中构建应用程序,特别是在你有一些性能考虑的情况下。最佳支持、工具、教育资源等为复制的业务逻辑付费。总之,它不是一个操作系统或数据库管理系统,代码库不会很大;)

话虽如此。关于Monotouch和Monodroid,我会非常小心,因为我并不真正关心开发人员。很有可能mono会被专利侵权或专有软件供应商推到穷途末路。这让我很难过,因为C#是我最喜欢的语言


另外,我不相信很快就会发生这种情况。

您可能需要研究MonoCross项目,该项目旨在帮助您在多个表示层中重用C代码:

MonoCross(ITR Mobility)的作者为各种客户创建了多种移动跨平台解决方案,并就这一主题编写了两本书,一本是《企业中的iPad》(iPad in The Enterprise)和即将出版的《C#跨平台移动开发》(cross platform mobile Development with C#)

与此同时,您可以观看Scott Olson在Monospace 2011上所做的演示,该演示描述了如何使用Monoscross同时针对多个移动和桌面平台重用业务逻辑:

他们在代码中强制执行严格的MVC拆分:


(来源:)

使用此模型设计应用程序的最大好处是,您可以在每个平台上使用本机用户界面运行相同的应用程序。您可以使用本机iOS、Android和Windows UI,它们甚至有一个ASP.NET前端,允许您发布相同业务逻辑的Web版本

这项技术已成功应用于苹果在其iPad业务中展示的Medtronic示例应用程序:

我建议你也去斯科特家看看