适用于 iOS/Android/Windows 8 的混合应用程序
Posted
技术标签:
【中文标题】适用于 iOS/Android/Windows 8 的混合应用程序【英文标题】:Hybrid apps for iOS/Android/Windows 8 【发布时间】:2012-10-04 14:03:57 【问题描述】:我希望这个问题足够具体。我有一个客户,我为他制作了一个 ios 原生应用程序和一个 android 原生应用程序(相同的应用程序,不同的平台)。这是一个固定像素设计(我以某种方式为 Android 制作了这项工作:)它适用于 iPad、iPhone 和大多数 Android 设备(带有一些信箱)。现在我被要求为 Windows 商店编写相同的应用程序,他们希望我使用 html 和 javascript。我的问题是,当我使用 HTML 和 JavaScript 时,将这段代码用于某种混合解决方案(PhoneGap 等)对我来说是否“容易”?该应用程序不需要太多复杂的功能,但需要在 iOS 上支持推送通知,并且需要能够播放视频,最好是 HLS。关于哪些最佳混合解决方案和混合解决方案可让您为 Windows 8 构建的任何建议?
【问题讨论】:
可以为PhoneGap 编写插件。一些现有的:github.com/phonegap/phonegap-plugins 【参考方案1】:我是一名跨平台开发人员,致力于 PhoneGap 和 Titanium Appcelerator。正确答案是“视情况而定”。目前跨平台开发的状态不是很推荐。是的,您可以为 PhoneGap 编写插件,它确实支持 windows phone,但是您将很难让它们正确地相互通信。我从经验中学到了这一点。
如果它是一个黑客/爱好项目来推动事业,那么我会说去吧,但对于像你这样的有时间限制的客户端项目,我建议不要使用跨平台解决方案,而是使用原生解决方案。加上原生总是提供更好的控制、速度和易于开发。无论如何,您可能会在本机中比跨平台更快地开发它。我玩过windows SDK,它看起来很容易使用,并且有很好的文档,你可以使用类似于Java的C#,因为你已经在android上使用过它。
您也可以使用原生的 html 和 javascript 构建 windows 8 桌面应用程序,但这在 windows phone 8 中尚不存在。
正如我所提到的,如果您不需要太多的原生控件,那么您可以跨平台。根据您的要求,可以做到。如果你已经开发了android和ios应用程序,现在只需要windows应用程序,那么原生会更容易。但是,如果您必须全部完成 3 个,那么如果您的要求仅限于您提到的内容,那么您可以跨平台。这是一个很好的 quora 线程,讨论了优点和缺点:
http://www.quora.com/Is-Titanium-good-for-developing-iPhone-apps
【讨论】:
我正在制作的应用程序不会使用任何本机控件。他们定制设计所有元素。你为什么不推荐跨平台解决方案?论据是什么?您能否举例说明我可能遇到的需要花费大量时间来保证开发三个独立应用程序的具体情况?我的应用程序需要做的唯一事情是:1)从服务器加载 XML 文件并将其用于在应用程序中导航 2)播放视频 3)做一些简单的缩放动画 4)持久存储一些数据。 我最终在本机 c#/xaml 中为我的客户编程。谢谢你的建议! 我敢打赌,您比使用跨平台工具更轻松。恭喜! 是的,虽然现在我正在研究为 cocos2d 中的另一个客户端开发游戏,并且我正在研究 Cocos2d-x。用 C++ 编写一次,然后为 iOS/Windows 8/Android 编译...应该很有趣 :) 很高兴获得有关此的更新。 “目前跨平台开发的状态不是很推荐”你提到的情况今天仍然有效吗(在你原来的答案后将近1年)?【参考方案2】:看看Xamarin
主要思想 - 他们为所有平台带来了真正的原生代码。 他们有工具来编译可以在所有平台上使用的 C# 代码 例如,您应该在 XCode(iPhone 版)中创建 UI 并使用 ModoDevelop 创建 DAL/BLL,然后您可以在所有其他平台上重用 C# 代码库
他们在GitHub 上有跨平台的 iPhone/Android/WP7/W8 示例
另请参阅 *** 上的问答tagged Xamaring
【讨论】:
【参考方案3】:我们开始在 IOS 和 Android 原生平台上为多个客户端构建多个应用程序。问题是我们要完全原生化,这会花费太多时间。
我想看看链接入方法 (http://arstechnica.com/information-technology/2012/10/a-behind-the-scenes-look-at-linkedins-mobile-engineering/),这是一种使用 HTML 和本机代码的更加混合的方法。
问题是我不认为 Phonegap 有那么好 - 适合原型设计,但可能不适用于完整版本的应用程序,因为它可能有点慢而且有点错误。
我想研究一个模型,我们创建 65% 的 HTML 和 35% 的设备原生(如链接)
有人对此有什么建议吗?人们会说我们需要一个庞大的开发团队来实现这种方法吗?
我欢迎想法:)
谢谢
【讨论】:
以上是关于适用于 iOS/Android/Windows 8 的混合应用程序的主要内容,如果未能解决你的问题,请参考以下文章
java 8 String.chars() 是不是适用于 8 字节字符?
如何使用适用于 Windows 8 的 Visual Studio Express 2012 创建适用于 Windows XP 的应用程序