HTML5 vs Native App:选择哪个?

时间:2012-05-18 07:28:57

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

这个问题非常受欢迎,并且已经有很多与之相关的问题。但其中一些已经陈旧(比如6个月前),而且截止日期是2012年5月......如果你现在可以输入哪一个更好的话,它会很棒!

我正在研究一些应用程序,跨平台功能在这里是一个重要的交易。我想知道我是否可以使用HTML5来实现以下功能。

  1. 在我的应用中创建音乐播放器(需要阅读所有播放列表并播放) - HTML5(或)Native?

  2. 加速度计使用情况 - HTML5(或)Native?

  3. 相机使用情况 - HTML5(或)Native?

  4. 使用手势(swype等) - HTML5(或)Native?

  5. 多点触控功能&手势 - HTML5(或)Native?

  6. 开发3D游戏(或)2.5D与物理 - HTML5(或)Native? (本机可能是最好的交易,但我很想知道HTML5在多平台游戏开发中的表现如何)

  7. 如果您可以使用正确答案对选项进行编号,并说明为什么我必须使用native / html5,那将是非常棒的:)


    另外,您对Phone-Gap本机支持有什么看法?

2 个答案:

答案 0 :(得分:16)

在我的应用中创建音乐播放器 - 两者都有。 HTML5可能很乏味。

加速度计使用 - 原生。 Html5不支持它

相机使用情况 - 原生。 Html5不支持它

使用手势 - 原生。 Html5可以支持它,但你必须使用外部库

多点触控功能&手势 - 为了便于开发,我会说本地人

使用物理开发3D游戏(或)2.5D - 现在两个系统都可以使用一些优秀的库。但是,在HTML5中执行您想要的操作目前可能并不容易。

更一般地说,HTML5使您可以为每个系统编写一次代码,然后想知道它是否会在任何地方以相同的方式工作。原生应用需要针对每个平台进行特定开发,其成本和问题是将许多软件维持在不同的成熟阶段。

但是,如果您不需要特定功能,请转到HTML5。到目前为止,编写代码仍然有点乏味,但可用库的质量和数量每天都在增加。使用CoffeeScript,它会让您头疼。

如果您的应用程序设计时考虑到responsive design,您还可以在一个应用程序中支持计算机,平板电脑和智能手机。

答案 1 :(得分:16)

除非您的应用程序非常简单,否则请避免使用所谓的跨平台解决方案并为每个平台构建本机。如果你这样做,你会很高兴的。

如果你不这样做,那么当某些设备出现故障但其他设备出现故障时,或者当您收到添加某些设备不支持的某些功能的请求时,您会非常抱歉。

根据我的经验,基本上使用跨平台解决方案是最小的共同点/仅适用于简单的应用程序/虚假经济。

基于12年以上的商业软件开发和我自己尝试这两种方法的经验,这是我的拙见。