来源:自学PHP网 时间:2015-04-14 14:50 作者: 阅读:次
[导读] 大家都知道Facebook将对iOS App进行改版,而且执行速度、操作反应比旧版提升许多;许多人也知道,其中最大的改变是把App所采用的技术从HTML5改为iOS原生技术,因此有人认为这是HTML......
大家都知道Facebook将对iOS App进行改版,而且执行速度、操作反应比旧版提升许多;许多人也知道,其中最大的改变是把App所采用的技术从HTML5改为iOS原生技术,因此有人认为这是HTML5技术的挫败,事实真的是这样吗?毕竟HTML5也是iOS内建支援的技术之一,而且连Steven Jobs都推崇HTML5 。
Facebook在2011年初宣示要以HTML5整合所有的平台,当时的理由是Facebook必须维护七种版本,如果全部的平台都使用HTML5技术就能降低维护的版本。但,这次改采iOS原生模式,等于是放弃了这种作法,而且媒体也都报导,Facebook后续也会对Android等平台做原生模式的App。 所以, Facebook 证明HTML5 是比较不好的技术吗? 不一定。 若果是为了让大家可以很方便的看文章,我还是会建议采HTML5 技术。原因很简单,只要把行动版网页卡入App 就完成,并且可以同时在各行动装置平台推出。而且,如果有必要,随时还可以在网站后台用HTML5 技术,进行改版或加入先前网页所没有的功能,不需要重新发布App 更新。 缺点呢?这个App 跟使用者把科技报橘连结存在浏览器中很接近,浏览器能怎么用,这个App 也只能那样用。事实上,如果你用Android 内建的浏览器开启Facebook ,有时候跑的比独立App 还顺畅,功能也大致相同。 但如果你是要做3D 动作游戏,我就不会建议您用HTML5 ;没错,还是可以用OpenGL 等HTML5 技术做出3D 游戏,但画面绘制速度可能会让使用者抓狂。 为什么会有这些速度差异呢?在于翻译! 原生App 是直接使用该移动操作系统内的功能,而HTML5 则是多一层翻译。 你可以把HTML5 写成的App 看成是模拟器中的程式,这个程式的一举一动必须透过模拟器(浏览器)翻译成作业系统的功能,才能呈现结果,但原生软体可以直接使用作业系统的资源。同样的道理,Java、Flash 这两种技术也是类似,所有的指令都必须经过翻译才能跨平台执行,导致执行效率不如原生软体。 那Facebook 为何不推出Windows 版或OS X 版的应用程式来提升使用者体验呢?其实也可以,问题在于有没有必要。 例如DropBox 可以只用网页来执行,但各平台装上专用软体或App,DropBox 的威力马上加强百倍;但Facebook 必须考虑到,在电脑平台发行独立应用程式,能增加什么功能是网页做不到的呢?如果没有,反正电脑网页执行效率不低,大家也都习惯整个介面,那还不如乖乖待在浏览器内。 从上面的分析看来,越是接近网页模式的内容,越是适合使用HTML5 来制作,而需要大量互动、3D影像、使用到硬体特色的内容,似乎应该使用原生模式来开发。 但Facebook却给我们一个反例。 Facebook 是网站,理论上本质就适用HTML5,但使用原生模式写出来的App硬是比HTML5 技术的快一倍。 为什么? 第一个理由当然就是我们举例的翻译问题,多了一层指令转换,因此在资料读取或显示图片等方面的速度比较慢。 第二个理由据说是Facebook 先前所写的iOS App,并没有做好最佳化,因此没有善用iOS 的硬体加速功能;我看过这样的报导,但我怀疑这个说法,因为理论上依照HTML5来写,应该就可以如浏览器般取得硬体加速的协助。 第三个理由是,可以作弊。如同部分浏览器可以预估使用者想看的内容,然后提早撷取一样,Facebook App 也可能预先抓取你比较会有兴趣的内容,因此当使用者点击之后,会感觉速度加快,而且有些视觉效果可以让使用者觉得等待时间没有很久。 所以,如果我要开发一个App,该怎么选择这些技术? 我想到一个老笑话,老板应征女秘书,应征的三个人各有专长,但最后这些专长都不是决定人选的理由,老板挑胸部最大的那个成为他的秘书。同样的道理,不管这些技术哪种适合,你会先挑你熟悉的技术来使用,除非开工前你就清楚这个技术无法达到你要的功能。 我相信Facebook 先前选择使用HTML5 也是这个原因,毕竟他们就是靠网页起家的公司,HTML5 搞不好是他们公司内部的官方语言,等到Facebook 发现这个技术无法完全满足需求时,才开始寻求其他的技术解决。 文章地址:http://www.ming4.com/news/1213.html,出处:Techorange。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com