首页 > 其他分享 >Facebook反思HTML5技术

Facebook反思HTML5技术

时间:2023-07-31 17:05:53浏览次数:36  
标签:原生 HTML Facebook HTML5 应用 反思 移动


最近,Facebook掌门人扎克伯格表示,Facebook在过去几年中的最大错误在于对HTML5押注过多,忽视了原生应用,同时他对HTML5的长期趋势依然看好。针对扎克伯格的言论,国内开发社区对此展开了广泛的讨论,其中不乏真知灼见。 

张克军认为HTML5非常适合移动互联网,但是Facebook的用户量太大,难以支持各种移动设备:

HTML5用于移动互联网的解决方案无疑是最理想的,但问题在于当前设备对HTML5的支持差异太大,Android2.3(189/500), iOS5.1(324/500)再加上并非完美支持,在Facebook这种用户基数下,这么复杂的使用环境下,问题很多是必然的。Facebook在这上面押的注,我理解是试图扫清这些障碍打造一个完美的HTMLl5移动平台,或是期待用户手机更快的更新换代,但是两年过去,没有达到预期效果。

但是这并不说明HTML5不适合移动开发。在iOS5.x/iOS6上我相信一定能做出不逊于原生应用体验的应用。只是更多的人还在用低端一些的设备。如果移动网站不是模仿原生应用,从可用性出发,保证性能,尤其内容消费型产品,也不需要很复杂的交互,目前HTML5的方案是完全没问题的。现在以及未来都会是Web site + Mobile site + Native APP共同组成一个完整的Multiscreen Ecosystems。

Facebook的工程师博客也说了拥抱原生应用,并不是放弃HTML5,原生应用中很多部分仍然是用HTML5做的。

Fenng认为Fackbook反思HTML5的最可能原因是没有提供更好的用户体验:

HTML 5 是不对的?最大可能的原因或许就是性能的问题,没有更好的速度就没有更好的用户体验,而用户体验一直是扎克伯格最看重的东西。

HTML 5 则恰恰是无形中背离了 Facebook 的这一准则。

HTML 5 开发还是用的本地原生应用?绝大多数用户都不在乎这个,甚至都不知道,用户更关心的是“应用的速度”,App 是否足够快? 是否可以更流畅的阅读信息,没有人愿意在手机上等待某个应用慢吞吞的打开,就这么简单。

接下来面对 Facebook 的挑战是能否像在 Web 产品上进行的那些最佳实践那样也在移动产品上建立起更有效的研发机制,毕竟这是另外一个战场,一个互联网巨头在移动领域是否还是绝对的统治者? 没有人能知道。

事后诸葛亮一样来评价这个事情的对错本身并不重要,重要的是,我们是否可以从中学到某些教训?

HTML 5 来说,谈不上是什么「打击」,或许是好事情也说不定,让更多人认识 HTML 5 的优点和缺点,而不是一窝蜂的冲上去。

HTML 5 不是移动开发的救星,至少现在不是;2 因为有 1 , 所以类似 PhoneGap 之类的解决方案还不靠谱,没有银弹。还需要再等 18 个月再看。”

现在看起来,还要再等 18 个月了。

Levski 认为“如果是选择一项技术作为平台,用“押注”的心态去做,这个心态本身就是错的。”

通过这个事件,我想能Facebook应该反省的一件事是,像Facebook这样的,包括华为等等大一些的技术性公司,他们最应该担心的平台选择问题是“受制于人”,这也是我想为什么Google要搞android,微软要搞WP,而Nokia一开始想搞MeeGo。

HTML 5虽然是一个开放的体系,但是其首先远未达到成熟,其次Facebook在标准制定中的话语权并不够大,所以从最后的结果来看,弃用它也是有一定理由的。

不过我觉得现在换用Native方式开发移动应用也不算晚。对于Facebook来说,其移动应用的价值主要还在于Facebook本身所提供内容而不在于界面,同时移动平台本身也有比较充分的文档说明该如何开发高质量Native代码,所以应该可以比较快速的利用Native代码达到超越HTML5界面所带来的使用体验。

徐哲分析了Facebook采用HTML5的优缺点

优点是,Facebook 作为一个 Web 起家的公司,已经拥有大量的 HTML(5)人才,做用 HTML5 渲染的应用可以有效利用现有人力资源和技术积累,项目起步轻快,进展迅速。另外对于排版有复杂要求的应用,拿 HTML5 作为渲染引擎比自己写一套原生的解决方案出来要方便、通用得多。HTML5 还有一个很诱人的特性:跨平台支持。看上去很美,做一个 Web App 就能搞定所有平台,还不用学那么多种编程语言。

Nitro Javascript Engine 的 Mobile Safari 上,载入的 js framework 稍微重点儿也卡,更何况在不支持 Nitro 的 UIWebView 上呢。所以性能是纯 HTML5 应用最大的软肋,而性能差的应用其体验是好不了的。另外虽然 HTML5 框架支持了很多新特性,苹果公开给 Web App 的 API 也越来越多,移动浏览器也越来越快,但原生 API 永远要支持得更多、更好、更快。所以在近期内, HTML5 做的 Web App 要达到或者超过同时期原生 App 的效果,是很难,甚至是不可能的。很多时候用 HTML5 出原型快,但是随着需求的增加,想要实现的效果越来越高级,对性能要求越来越严格,完全用 HTML5 所花费的代价、对技术人员的要求反而要比用原生方案高很多,得不偿失。

形式)。

郭瑞超则根据自己的经验分析了采用HTML5技术面临的问题:

看似它有了一套严格的标准,但是它扛不住不同平台的本地实现的不同,它看起来可以帮我们偷懒,却很难使我们的产品在一个平台将那个平台的特性发挥到极致。

更深入的,使用HTML5可以脱离商店的束缚,你的商店规则对我无效了,这看似自由了,但你相当于同时放弃了对平台资源的利用,这样的对比下,显然放弃平台资源并不理智,除非你自己有很强大的渠道。

而且HTML5是一个完善中的标准,它随时产生变化,稳定性还不如平台,为了兼顾这套标准,我的成本非但没有降低,还增加了。

标签:原生,HTML,Facebook,HTML5,应用,反思,移动
From: https://blog.51cto.com/u_3124497/6910126

相关文章

  • 看客反思二则
    防重他人之蹈覆他人之辙。篇一lm为情所误,集训时不知排解。l*x换情头、开情侣空间之事基本可认为开启新篇章。小猫不同意,持“未知全貌不予评价”,裤以为源于小猫自身经历。数月以来,lm多次寝食难安,但尚外露豁达,可知其隐忍。裤评:不知情不配谈情。篇二galaxy有高人心境,而......
  • HTML5/CSS3学习——Canvas使用
    什么是Canvas?HTML5的Canvas 元素使用JavaScript在网页上绘制图像。画布是一个矩形区域,你可以控制其每一像素。canvas拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。 创建Canvas元素向HTML5页面添加Canvas 元素。规定元素的id、宽度和高度:<canvas......
  • HTML5 Api 获取网络地理信息
    定位(GPS):台式机几乎都没有GPS,笔记本绝大多数都没有GPS,智能手机几乎都有GPS。获取网络地理信息:navigator.geolocation.getCurrentPosition(successCallback:function(position),errorCallback:function(error));网络:来粗略的估计地理位置。总结:https协议,file协议可以获取,http协议......
  • Web开发者不容错过的10个HTML5工具
    HTML5已经成为当今世界的一个必然组成部分。由于WorldWideWeb万维网是使用超文本标记语言来架构和呈现的,于是HTML5成为了最流行的编程语言之一。随着网络的不断扩张,Web开发人员非常有必要拥有最新的HTML5工具,用于创建动态和交互式的Web应用程序和网页。下面这些就是你不应该错过......
  • Still waiting to schedule task ‘nodejs-html5’ is offline
    运行任务时等待节点在线的解决方案在进行分布式任务调度时,我们可能会遇到一个问题:当一个节点不在线时,我们如何等待节点上线再执行任务?本文将介绍如何使用Node.js编写代码实现此功能。问题描述假设我们有一个任务调度程序,使用Node.js编写。在这个任务调度程序中,我们有一个名为nod......
  • HTML5与CSS3之3D转换
    一:3D转换简介我们生活的环境是3D的,照片是3D物体在2D平面上呈现的例子。特点:近大远小物体后面遮挡看不见当我们在网页上构建3D效果时候参考这些特点就能产生3D效果二:三维坐标系三维坐标系其实就是指立体几何空间,立体空间是由3个轴共同组成的。x轴:水平向向右注意:x右边是正值,左......
  • 浅析html5的dataset
     前言: 很多时候,我们在操作页面某些元素的时候,需要存储一些数据,一般大家很常见的方式都会设置一些自定义属性,比如: 微博feedlist里面的图片放大:  大家看到有一个自定义的key------action-data,里面存储了一些数据。  那问题来了: 自定义属性命名有没有规范或者标准??获取......
  • 一些对自己近半年来的反思总结
    本来想写在博客园上的,但是打不开后台--,索性先写在飞书了,不得不说,飞书还是挺好用的。流水帐不知道具体从什么时候开始,心态有一些微妙的变化(第一次阳了之后?),大概是12月初因为疫情提前回家了,届时的心情是“过去一年做的事情有了满意的结果,竞赛上拿了两块银牌是真挺不错的,寒假要......
  • 让你一天就可以掌握HTML5的基础
    HTML5一直是非常热门的话题,因此此系列文章主要从一些基本功能开始讲起,逐步深入了解HTML5的新概念。 首先了解一些基本的术语和概念。SGML,HTML,XML三者之间的区别Doc类型是什么HTML5有什么新特点新优势。学习HTML5 在开始之前首先来区分SGMC,HTML,XML三者......
  • CSP模拟3 <反思>
    t3:不要随便用mapt4:代码转移要删全首先考虑暴力,类似线段树,首先你要先dfs出每个节点子树的左右节点,然后修改查询时要考虑左儿子右边界是否大于查询左边界,右儿子左边界是否小于查询有边界,进行\(dfs\)\((46pts)\)点击查看代码#include<bits/stdc++.h>#defineintlonglongu......