【问题标题】:Write once deploy on Windows Mobile 6, Windows Phone 7, Android and iPhone? [closed]在 Windows Mobile 6、Windows Phone 7、Android 和 iPhone 上编写一次即可部署? [关闭]
【发布时间】:2011-03-04 04:21:43
【问题描述】:

只是想知道是否有任何跨平台开发平台可以很好地在各种移动设备上运行企业类型的应用程序。

如果语言是 C# 会很理想,但请随意推荐其他语言。

【问题讨论】:

  • 但是答应我一件事:为每个平台完全重写用户界面。
  • 现在您可以在 Windows 中使用 xamarin 甚至 iOS 调试、开发和部署 可以在 Windows 中使用 Xamarin Live Player 在没有 Apple 系统帮助的情况下完成,但就签署和发布应用程序到 appstore 而言,需要 Apple 系统

标签: iphone android windows-phone-7 windows-mobile windows-phone


【解决方案1】:

如果您乐于重用业务逻辑并编写特定于设备的用户界面(更多的工作,但每个设备上的用户体验更好),您可以考虑各种 Mono 框架。

将核心业务逻辑编写为类库,然后使用 MonoTouchMonoDroid 和使用 .NET Framework 的 Windows 编写特定的用户界面,您将在 C# 中拥有一个跨平台应用程序(尽管具有单独的 UI)。

【讨论】:

  • 嗨,Michael,你能推荐一个适合这类事情的架构吗?显然,MVVM 作为一种模式是不可能的,因为只有 Wp7 会支持它。对于特定硬件的视图编码的 MVP 模式呢?
【解决方案2】:

你在http://www.appcelerator.com查看了 Titanium

然后是http://www.phonegap.com/的PhoneGap

【讨论】:

  • 但是这些工具有用吗?这对我来说是真正的问题。因为如果它们很好,那么每个人都应该尽可能多地使用它们。但我的感觉是,很少有个人开发者会走这条路。
  • 这些工具中的任何一个都可以与 wp7 一起使用吗?
  • PhoneGap 支持 Windows Phone 。这里有一些关于 WP 和 PhoneGap windowsphonerocks.com/category/developerarticles/phonegap 入门的文章。目前不确定 Titanium 或 Sencha Touch 是否支持 WP7...
  • 它有效,但您可能会发现您最终会对它感到沮丧。你并不总是能生产出高质量的应用程序,或者更确切地说,你会受到你无法控制的事情的摆布......
【解决方案3】:

值得注意的是,您会为 PLATFORM 编写一次,但由于手机供应商种类繁多、他们定制的平台实现以及特定于设备。

查看这些相关问题...否则称为重复...

Developing cross platform mobile application

Are there any huge differences between objective-c and Java, or iPhone and Android?

What work has been done on cross-platform mobile development?

【讨论】:

    【解决方案4】:

    Titanium Mobile 是当今流行的选择。

    我强烈怀疑您是否会找到跨平台的 C# 选项*,因为 C# 与 Microsoft 堆栈相关联。

    您也可以使用jQuery Mobile 或类似名称编写一个以移动为中心的网络应用程序。


    *适用于移动设备。对于桌面,有Mono(其网站现在似乎已关闭)。

    【讨论】:

    • 这很有趣。您能告诉(我们)更多关于钛及其作用的信息吗?
    • C# 与 Microsoft 无关。 Mono(如您所述)为多个平台提供 C# 运行时。它也不仅仅适用于桌面,MonoTouch 是使用 C# 的 iOS 设备的原生框架,而 MonoDroid 也适用于 Android 设备。
    • @Michael:谢谢,我倾向于忘记 MonoTouch,因为我真的不是 C# 开发人员。
    【解决方案5】:

    如果你有 Mac,最好的选择是支持多种平台的 phonegap,

    如果没有,你可以选择钛

    【讨论】:

      【解决方案6】:

      虽然有许多平台为您提供一次编写并在多个平台上运行的便利,但从我的角度来看,这不是一个好主意,因为简单的性能原因只是想想下面的例子

      C 代码比java 代码快得多,因为 java 为您提供了运行该代码的虚拟机,而 java 比 C 更容易编写。这个想法是你越贴近本地 API 获得的性能越多。

      所以考虑上面的例子,想想在这么多平台上支持的这种应用程序的性能会是什么

      注意:我没有在任何此类平台上工作过,所以我可能错了,但这只是一个适合所有人的简单概念

      【讨论】:

      • “C 代码比 java 代码快得多,因为 java 为您提供了运行的虚拟机”——这不是真的。查看任何现代基准测试,在许多情况下,JVM 中的 JIT 编译器的性能几乎与本机编译的相当。这是 1996 年的神话和遗物。
      【解决方案7】:

      如果您习惯使用 Visual Studio,可以尝试 Teleric 的 http://www.icenium.com/ 。 Icenium 不支持 Windows Mobile 6

      【讨论】:

        猜你喜欢
        • 2011-11-23
        • 2011-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-01
        • 2023-04-08
        • 2013-02-23
        相关资源
        最近更新 更多