Android HTML5与本机应用程序:选择哪一个??

Android HTML5与本机应用程序:选择哪一个??,android,iphone,html,windows-phone-7,mobile,Android,Iphone,Html,Windows Phone 7,Mobile,这个问题很受欢迎,而且已经有很多与之相关的问题。但其中一些是旧的(比如6个月前),就目前的日期——2012年5月而言。。。如果你能输入到目前为止哪一个更好,那就太棒了 我现在正在开发一些应用程序,跨平台功能在这里是一项重要的任务。我想知道我是否可以将HTML5用于以下功能 在我的应用程序中创建音乐播放器(需要读取所有播放列表并播放)-HTML5(或)本机 加速计的使用-HTML5(或)本机 摄像头使用情况-HTML5(或)本机 使用手势(swype等)-HTML5(或)本机 多点触摸功能&手势-

这个问题很受欢迎,而且已经有很多与之相关的问题。但其中一些是旧的(比如6个月前),就目前的日期——2012年5月而言。。。如果你能输入到目前为止哪一个更好,那就太棒了

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


  • 在我的应用程序中创建音乐播放器(需要读取所有播放列表并播放)-HTML5(或)本机

  • 加速计的使用-HTML5(或)本机

  • 摄像头使用情况-HTML5(或)本机

  • 使用手势(swype等)-HTML5(或)本机

  • 多点触摸功能&手势-HTML5(或)本机

  • 开发3D游戏(或)2.5D物理版-HTML5(或)原生版?(本机可能是这里最好的选择,但我很好奇HTML5在多平台游戏开发中的表现)

  • 如果您能用正确的答案对选项进行编号,并给出我为什么必须使用native/html5的原因,那将非常棒:)



    另外,您对本机支持的
    Phone Gap
    有何想法?

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

    加速计的使用-本机。Html5不支持它

    摄像头使用情况-本机。Html5不支持它

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

    多点触摸功能和手势-为了便于开发,我想说是本地的

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

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

    然而,如果你不需要特定的功能,那就选择HTML5。到目前为止,在上面编写代码仍然有点乏味,但可用库的质量和数量每天都在增加。使用,它会帮你省去头痛


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

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

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

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


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

    我会选择native作为所有这些功能的最佳答案-我还想补充一点,并非所有设备都支持HTML5音频和HTML5视频-例如,一些设备和浏览器不支持mp3或其他格式。否则,经过近2年的移动开发,这个问题适合构建。。。。看看Tianium,他们即将推出Windows Mobile——我的最佳建议是,如果你的公司有预算、时间和开发人员,而且这个项目就像一个复杂的游戏——苹果使用cocoa,安卓使用Java,WP7使用c#——例如愤怒的小鸟等单独的平台发布。答案很好!电话鸿沟似乎在这些问题上发挥了作用。你对此有何看法?相机的使用是否需要本土化?我认为如果你使用PhoneGap,它会起作用。正如所有回答者所说,PhoneGap存在性能问题,这取决于你的应用程序有多复杂。PhoneGap似乎利用了这些问题-。你怎么看?我想我希望phoneGap的医生会对我有不同的看法,他们试图“出售”phoneGap。我还认为,意识到跨平台“解决方案”在发布后也不会支持最新和最强大的功能是明智的。我明白你的意思。我只是想知道phoneGap是如何实现本机功能的。但是是的,你说的有道理:)谢谢!跨平台不等于无本地!许多3d游戏都是跨平台和本地的。在某些框架和语言中,您可以将应用程序构建为本机应用程序,并且您将拥有一些功能和硬件控制。例如,这种跨平台框架的一个例子是。它使用自己的C++库,并呈现出对硬件的良好性能和控制。我用Qt开发了一些android应用程序,是的,它带来了一些困难和许多优点。所以我认为你选择了一个不好的跨平台应用程序开发选项。查看其他跨平台选项:)