HTML5/Javascript移动应用程序与本地移动应用程序相比,有哪些功能是无法实现的?

5

我刚开始研究开发移动应用程序,据我所知使用HTML5 / Javascript的一个巨大优势是可以编写一款适用于Android和iOS的应用程序。

我也了解到,使用HTML5 / Javascript的一个缺点是有些功能无法与原生移动应用程序相比。

我上面说的正确吗?如果我决定选择HTML5 / Javascript路线,我将无法做什么?


1
访问硬件 - GPS、加速度计、相机。我的建议是:坚持使用本地应用程序。我曾经尝试过HTML5开发,非常痛苦。 - Eamorr
可能更适合作为社区维基? - Richard J. Ross III
我赞同 @Eamorr 的建议。浏览器还没有准备好,而且很可能它们最终会成为本地代码的主机。本地代码不会很快消失。如果你做一些前沿的东西,使用HTML5也非常危险,因为你依赖的是一个质量低劣的标准。 - buddhabrot
5个回答

2

iOS相关事项:

  • 背景音频/音效
  • 通讯录
  • 利用CoreGraphics和OpenGL进行高级绘图
  • 相机访问
  • 加速度计
  • 有限的日历访问

2

虽然本地应用和Web应用都有各自的优缺点,但本地应用相对于Web应用的主要优势在于“离线访问”。不过现在,随着HTML5对离线Web应用程序的支持,这种优势正在发生改变。


2
我想补充一点,依赖于那些HTML5功能的实现最多是冒险行为。你可能会陷入严重的麻烦中。还记得WebSockets吗? - buddhabrot
嗯...在进行任何实现之前,我们可以清楚地查看浏览器支持表。 - copenndthagen
1
移动版Safari 3.0支持Websockets,但移动版Safari 3.1不支持。 - buddhabrot
1
嗯,可能会有一些例外,因为像Websockets这样的功能可能非常不成熟...但是如果您检查浏览器支持,大多数情况下您会很安全。 - copenndthagen

1
我认为我们可以将其分成两个列表...
在移动设备上可以完成的功能,但在HTML5中无法实现的功能:
- 推送通知 - 高级图形(3D、OpenGL) - 文件上传(在Android上可能可行,但在iOS上不行) - 连接通讯录 - 连接日历
在HTML5中可以实现但在移动设备上更容易或实现更好的功能:

(请注意此回答的日期,在6-12个月或更长时间内,此情况可能会有所不同。)


1

这完全取决于你要做什么。如果你的应用需要GPS、加速度计或者是非常图形密集型,那么本地应用是唯一的选择。

否则,我会选择像Sencha Touch这样的东西来开发你的应用,有几个原因。首先,如果你发布了一个HTML5应用的更新,你不需要强制所有人下载它,它会自动更新。此外,正如你所提到的,你只需要为所有移动平台编写一个应用程序,这扩大了潜在用户群。最后,我认为手机上的互联网足够快,可以很好地支持互联网应用程序,而且这种情况只会在未来得到改善。

基本上,这完全取决于应用程序的具体需求。就个人而言,我会尽可能选择HTML5,因为它给你带来了跨平台的便利性。


0

理论上来说,如果您使用钛金属,则没有太大问题。http://www.appcelerator.com/products/titanium-mobile-application-development/

    无限扩展性
    钛金属的插件架构允许您在Objective-C或Java中编写代码模块,
    以定制本机功能扩展您的移动应用程序,然后使用Titanium中的Javascript调用这些模块。

虽然我从未使用过钛金属,也不知道它的工作效果如何。无论如何,我现在仍然会坚持使用本地开发...


1
我尝试过了,但是我的经验并不好,我甚至无法让应用程序在模拟器上运行。 - Richard J. Ross III
我有一些同事使用Titanium构建了几个应用程序,没有遇到任何问题。我了解到自2011年以来它已经得到了很大的改进。 - Luke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接