什么是原生移动应用程序可以实现的,而在HTML5 Web应用程序中无法实现的?

15

最近我跟很多人聊过,他们说一旦HTML5在手机操作系统中更加成熟,他们就打算停止开发原生移动应用程序,开始开发Web应用程序。但我刚刚完成第一个关于HTML5的深入学习,还没有被完全说服。

HTML5能否作为原生应用程序的替代开发平台,或者有些东西需要针对本地运行时进行开发?


2
这个问题是主观和有争议的。人们会有不同的意见。 - Jasarien
3
我的意思是,仅仅因为每个回答者都回答“不,但是…”并不意味着它代表了大多数人的观点。这些答案只代表了这些人的观点,而观点并不适合在 Stack Overflow 上讨论。 - Jasarien
我认为所给出的答案是关于全浏览器应用和本地应用之间权衡的非常有用的技术摘要。阐述为什么要做某事的技术原因既不主观也不具争议性,它更像是技术事实的一个子集,而不是意见。 - Kendall Helmstetter Gelner
4
“@Tom opinions don't belong to SO is not an opinion. it's the very concept behind SO. That said, your question as currently formulated is better and accepts a correct, valuable answer, and in fact the close votes are just two. The point of a question that allows discussion is to define and perform the discussion with data on hand, and eventually mark it as Community Wiki. That will make things easier to keep it open. See for example this question http://stackoverflow.com/questions/2039904 which is subjective, not argumentative, and provides important information that can be objective.”回复@Tom的话并不是一个观点,而是Stack Overflow的核心概念。话虽如此,你目前提出的问题更好,可以接受一个正确有价值的答案,实际上关闭票只有两张。允许讨论的问题的重点是通过手头的数据定义和执行讨论,并最终标记为“社区wiki”。这将使保持它的开放变得更容易。例如,请参见此问题http://stackoverflow.com/questions/2039904,它是主观的,不具争议性,并提供了重要的可客观化信息。 - Stefano Borini
1
不管是否有意见,它都是有帮助的,这才是最重要的。要善于读懂其中的含义。 - Henley
显示剩余2条评论
5个回答

6

HTML 5并不是魔法。它为HTML和传统的Web应用程序添加了许多期待已久的功能,但仍有很多事情超出了它的范围。

  • 访问您的联系人列表
  • 获取蓝牙数据
  • 利用特定于操作系统的功能

对于这些(和其他)功能 - 您仍然需要编写供应商特定的应用程序。


我同意你的总体前提(HTML5并非魔法),但供应商特定的API(例如联系人管理、地理位置等)都可以抽象成更高级别的API。请查看http://www.phonegap.com作为一个例子。尽管这样做可能被认为是“作弊”,因为此时你并不完全依赖于HTML5。但还是值得一提的,因为它确实让应用程序开发人员只依赖于堆栈中的HTML5部分。 - jmar777

5

需要使用本地应用程序的一个原因是可以访问特定移动设备上的更多功能;不能保证通过javascript接口到HTML5公开设备的所有功能。在这种情况下,您必须使用可用的任何本机API。


4
简而言之,不是的。HTML5提供了适用于大范围应用的工具集,因此我认为它在这个领域会越来越受欢迎(出于可移植性的原因)。我预计仍然会有应用程序开发人员(和用户)更喜欢本机的外观和感觉,而且仍然会有需要裸金属编程或使用系统级API更实用的3D引擎的场景。
尽管如此,HTML5仍然是一个引人注目的技术堆栈,特别是与一些跨平台API管理(例如PhoneGap)相结合时。

4

原生应用将继续率先使用新设备功能,最终会通过浏览器支持,因此对于尖端开发来说,原生仍然是首选。

还有一个问题是发现性——目前用户习惯使用应用程序,并可以在其设备的应用商店中找到它们。搜索 Web 应用程序对于典型用户来说似乎不自然,这种情况短时间内不会改变。这就是为什么许多看起来更适合作为 Web 应用程序的应用程序仍然被制作为原生应用程序的原因。

结论:原生应用程序将继续是必要的,但移动 Web 应用程序开发将增长,并可能随着时间的推移取代更多原生应用程序开发。


1
请注意,发现问题正在通过诸如HTML应用商店之类的方式得到解决,甚至可以代为收款。 - Kendall Helmstetter Gelner

0

这将使一些本地应用程序变得不必要,但并非所有应用程序都是如此。关于此,真的没有太多可说的了 :)


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