原生应用比HTML5更快

3
我一直认为HTML5应用程序与本机应用程序相比不应该存在任何弱点,但根据今天发布的新的Facebook应用程序,当他们切换到本机iOS代码而不是Web应用程序时,速度提高了。
其中包括更快地打开应用程序本身、更平滑和更快的滚动以及据说可以“即时”加载的照片——这些变化很大程度上归因于从旧的HTML5代码转向iOS的本机编程语言。
有人可以证明这些速度改进吗?本机开发真的更快吗?
Facebook for iOS采用本机方式,告别HTML5 http://www.theverge.com/2012/8/23/3262782/facebook-for-ios-native-app

当应用程序是HTML5应用时,程序必须在JavaScript引擎上运行,这将比本地代码慢。此外,Facebook应用程序的可执行文件肯定比JavaScript引擎和Webkit小,因此应用程序加载速度更快。 - user377628
2
等等,什么?Facebook以前不是原生的iOS应用程序吗?我感到震惊。 - Kyle Clegg
这可能是一个更适合programmers.stackexchange.com的问题。 - Malachi
3个回答

7

我在您发布的链接中发现了一个子链接,其中有一个页面上的部分解释了为什么它更快。

Under the hood: 重新构建 IOS 的 Facebook

该部分名为(重新)构建以提高速度

我们实现这个的一种方法是通过重新平衡任务执行的位置。 例如,在 iOS 中,主线程驱动 UI 并处理触摸事件,所以我们在线程主要工作量较大时,APP 的感觉会越来越慢。相反,我们会确保在后台执行计算密集型的任务。 这意味着所有网络活动、JSON 解析、NSManagedObject 创建和保存到磁盘的操作都不会影响主线程。


这应该是一条注释 - dres
1
这是一个与主题无关的问题,而这是其中较好的答案。它不应该是一个评论。它太长了,不能作为评论,而且包含的信息太多,也无法转化为评论,它是一个答案。 - Malachi

5
当然,原生应用更快。HTML5应用是用JavaScript编写的,并由浏览器的JavaScript引擎解释,而原生应用则在本地机器代码(iOS)或至少作为已编译的字节码(Android)运行。此外,原生应用有更多可能性通过操作系统提供的API访问其所在的系统(如GPS、相机、文件系统等传感器),而HTML5应用只能使用HTML5 API的一个小子集。

0

我想像原生应用程序可以做一些HTML5应用程序无法处理的事情,例如内存释放和GPU渲染。


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