【问题标题】:HTML5 vs Native App : Which to choose ?? [closed]HTML5 vs Native App:选择哪个? [关闭]
【发布时间】:2014-05-13 20:35:26
【问题描述】:

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

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

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

  2. 加速度计使用 - HTML5(或)原生?

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

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

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

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

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


另外,您对 Phone-Gap 的原生支持有何看法?

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

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

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

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

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

    【讨论】:

    • 我会为所有这些功能选择原生
    • 好答案 - 我还可以补充一点,并非所有设备都支持 HTML5 音频和 HTML5 视频 - 例如,某些设备和浏览器不支持 mp3 或其他格式。否则,经过近 2 年的移动开发,这个问题适合构建....看看 Titanium,他们很快就会使用 Windows Mobile - 我最好的建议是,如果您的公司有预算和时间以及开发人员并且该项目就像一个游戏综合体 - Apple 使用 cocoa,Android 使用 Java,WP7 使用 c# - 例如 Angry Birds 等独立平台版本。
    • 很好的答案!电话差距似乎可以利用这些问题 - docs.phonegap.com/en/1.7.0/index.html。你怎么看?
    • Camera 使用是否需要原生?我认为如果你使用 PhoneGap 就可以了。
    • PhoneGap 存在性能问题,因此正如所有回答者所说,这取决于您的应用程序的复杂程度。
    【解决方案2】:

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

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

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

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

    【讨论】:

    • 电话差距似乎可以解决这些问题 - docs.phonegap.com/en/1.7.0/index.html。你怎么看?
    • 我想我希望 phoneGap 文档对我有不同的看法,他们正试图“出售”phoneGap。我还认为,跨平台“解决方案”一旦发布也不支持最新和最强大的功能,这将是明智的。
    • 我明白你的意思。我只是想知道 phoneGap 是如何实现本机功能的。但是,是的,你说的很有道理:)谢谢!
    • 跨平台不等于非原生!许多 3d 游戏是跨平台和原生的。在某些框架和语言中,您可以将应用程序构建为原生应用程序,并且您将拥有问候功能和硬件控制。这种跨平台框架的一个例子是。它使用自己的 C++ 库,并提供问候性能和对硬件的控制。我使用 Qt 开发了一些 android 应用程序,是的,它带来了一些困难和许多优点。所以我认为你为跨平台应用程序开发选择了一个糟糕的选择。看看其他跨平台选项:)
    猜你喜欢
    • 2011-12-09
    • 1970-01-01
    • 2015-06-10
    • 2021-11-02
    • 1970-01-01
    • 2013-06-11
    • 1970-01-01
    • 2023-03-23
    • 2011-05-22
    相关资源
    最近更新 更多