14

这个问题非常流行,并且已经有很多与之相关的问题。但是其中一些是旧的(比如 6 个月前),并且对于当前日期 - 2012 年 5 月......如果你能输入现在哪个更好,那就太棒了!

我现在正在开发一些应用程序,跨平台功能在这里很重要。我想知道我是否可以将 HTML5 用于以下功能。

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

  2. 加速度计使用- HTML5(或)本机?

  3. 相机使用- HTML5(或)本机?

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

  5. 多点触控功能和手势 - HTML5(或)原生?

  6. 使用物理开发 3D 游戏(或)2.5D - HTML5(或)Native ?(原生可能是最好的选择,但我很想知道 HTML5 在多平台游戏开发中的表现)

如果您可以用正确的答案对选项进行编号,并说明为什么我必须使用本机/html5,那就太棒了:)


另外,你对Phone-Gap原生支持有什么看法?

4

2 回答 2

16

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

加速度计使用- 本机。html5 不支持

相机使用- 本机。html5 不支持

使用手势- 本机。Html5 可以支持它,但您必须使用外部库

多点触控功能和手势- 为了便于开发,我会说是原生的

使用物理开发 3D 游戏(或)2.5D - 两者都有,现在两个系统都可以使用一些很棒的库。然而,目前在 HTML5 中做你想做的事情可能并不容易。

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

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

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

于 2012-05-18T07:37:50.203 回答
16

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

如果您不这样做,那么当您在某些设备上出现问题而在其他设备上出现问题时,或者当您收到添加某些设备不支持的某些功能的请求时,您将感到非常抱歉。

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

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

于 2012-05-18T09:28:09.700 回答