我希望这个问题足够具体。我有一个客户,我为他制作了一个 iOS 原生应用程序和一个 Android 原生应用程序(相同的应用程序,不同的平台)。这是一个固定像素设计(我以某种方式为 Android 做了这个工作:),它适用于 iPad、iPhone 和大多数 Android 设备(带有一些信箱)。现在我被要求为 Windows 商店编写相同的应用程序,他们希望我使用 HTML 和 JavaScript。我的问题是,当我使用 HTML 和 JavaScript 时,将这段代码用于某种混合解决方案(PhoneGap 等)对我来说是否“容易”?该应用程序不需要太多复杂的功能,但需要支持 iOS 上的推送通知,并且需要能够播放视频,最好是 HLS。关于最佳混合解决方案和混合解决方案允许您为 Windows 8 构建的任何建议?
3 回答
我是一名跨平台开发人员,致力于 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
看看Xamarin
主要思想 - 他们为所有平台带来了真正的本机代码。他们有编译可在所有平台上使用的 C# 代码的工具 例如,您应该在 XCode(iPhone 版)中创建 UI 并使用 ModoDevelop 创建 DAL/BLL,然后您可以在所有其他平台上重用 C# 代码库
他们在GitHub 上有跨平台的 iPhone/Android/WP7/W8 示例
另请参阅 Stackoverflow 上标记为 Xamaring的问答
我们开始在 IOS 和 Android 原生平台上为多个客户端构建多个应用程序。问题是我们要完全原生,这需要太多时间。
我想看看链接方法(http://arstechnica.com/information-technology/2012/10/a-behind-the-scenes-look-at-linkedins-mobile-engineering/)这是一个更多使用 HTML 和本机代码的混合方法。
问题是我不认为Phonegap 有那么好- 有利于原型设计,但可能不适用于完整版本的应用程序,因为它可能有点慢而且有点bug。
我想研究做一个模型,我们创建 65% 的 HTML 和 35% 的设备原生(如链接)
有人对此有什么建议吗?人们会说我们需要一个庞大的开发团队来实现这种方法吗?
我欢迎想法:)
谢谢