欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

新浪微博的 HTML5 页面体验已经和 native app 差不多了,是否意味着 HTML5 可以取代 native 了?

程序员文章站 2022-04-26 08:08:17
...
刚刚在知乎回答中的一个微博链接点击新浪微博的 m 站 欢迎登录 - 新浪微博 中发现 体验和新浪微博客户端已经没有差别了。本人用的是 iPhone4s,可想而知在 iPhone5s 等性能更加高的手机上体验更加好了。
这是否意味着 HTML5 技术已经可以取代 native 的 app 了?

回复内容:

感谢关注微博的 HTML5 版。我们在8月初上线的重构版中,从UI、交互的等角度尝试了和客户端的靠近,来减少用户的使用成本。从我们踩的坑,以及现在依然存在的 Bug、不爽的交互细节来看,HTML5 短时间内还是无法取代 Native,但是可以在某些方面有所突破,和 Native 做互补。未来一段时间,hybrid app 应该是一个比较好的方案。 (其实新浪微博app有很浓的hybrid开发痕迹,可能并不是原生应用。)
Webapp是一条死胡同,即使体验能和原生的一样,推送怎么办?换个浏览器怎么办?
所以我猜楼主想问的可能是hybrid app。
我们的团队刚刚开始hybrid app开发技术的探索,但是我可以很负责任的告诉你,
在“弱交互”的情境下,hybrid app的性能已经很接近native app。
给你看一个别人的作品——校信 校信,重新定义校园社交
如果我没记错的话,这个产品是 @梁灏 童鞋在校期间独立开发的,
从我的观察来看,他的“校信”应该是中国目前为止在技术/用户体验上最成功的一款hybrid app作品
在我手机上的运行速度远远快于笨重的native app
这至少证明了hybrid app在“弱交互”条件下是可以做到不比native差的。
并且也证明了hybrid开发模式的高效性(一个大学生可以完成如此优秀的产品)。

当然,对hybrid app的性能不能这么简单的下个结论,
因为html5以及js的渲染解析速度直接由各个移动平台的内置浏览器内核决定。
也就是说,你的hybrid app到底性能是好是坏,关键看用户的手机。

一个好消息是,各大移动操作系统对html5的支持越来越好,
苹果就不说了,我们说说Android,
Android可以说从4.x开始对html5的支持完全提升了一个等级,
至少我的安卓机可以完美的运行上面说的“校信”。
并且,各大移动操作系统对hml5的支持,随着时间推移,只会变好,不会变坏。
所以说,html5是属于未来的技术。


最后,我的观点是:
html5不能取代native,但是可以大大降低应用开发的门槛,未来“弱交互”的工具型app可能都会是hybrid app的天下。
而native,则用于去实现更为高级和复杂的app。

就像C语言较Python来说强大的多,但是对于网络爬虫来说,Python不失为一种更为经济方便的选择。 Nexus5上表现良好,比原生的安卓版本体验好太多 我直接用实际产品从交互和技术上来回答,废话不多说。

先说结果:
1.我们的深度操作系统(Deepin)使用html5作为桌面的前端交互的开发语言,后端耗时功能使用go和c语言提供。
2.执行效率不是问题,很高。
3.最漂亮的linux桌面操作系统(这有截图:Deepin)。
4.js无法实现的功能,可以用其他语言实现,然后js调用即可。
5.webkit内核不能频繁升级,稳定性是首要考虑。(注:内核是webkit24)
6.后期,性能是瓶颈。

再说结论:
1.html5是趋势,很多问题都可以随着内核的更新而解决。
2.html5(负责交互)和其他语言(负责耗时功能)配套使用,是最完美的组合!

附上我们的git地址吧:Deepin - GitCafe
这个是桌面环境的git地址:Deepin/dde-workspace
----------------------------------------------------------------------------------
再说用户使用情况反馈:
1.linux发行版中,最漂亮的桌面操作系统

2.在>5年前的机器上,流畅运行(跑win7卡死)

3.反而使用qml开发的控制中心会因为显卡的不同而卡。---这说明webkit的渲染引擎已经很强大了!
----------------------------------------------------------------------------------
再说说作为桌面开发者,在技术上的一些情况:
1.使用html5+css3+coffeescript 开发,效率高,可以很快出demo,且交互和动画实现起来很赞!

2.一般功能,包括简单的搜索,都直接使用js,效率不是问题

3.但是对于需要大量索引和监听系统级别文件的改动,不得不用go和c。(js没库啊,js只是调用我们用go和c写的,然后通过dbus提供的库)
即:js调用,go/c执行。

4.最重要也是最核心的---不允许使用任何js框架,如jquery.---------为了保证执行效率。
这对于任何html5开发人员来说,应该是挑战性最大的,纯原生态写,纯js。


5.因为作为系统级别的桌面环境,稳定性才是最重要的,所以webkit内核不能总是更新。
但是这也导致桌面环境的性能会有一个瓶颈,我们现在就已经到达了这个瓶颈。
这个瓶颈已经不能通过代码的优化来提高,只能通过更新webkit内核了。

6.但是webkit内核的一次更新,意味着可能会有一些的难以解决的bug出现(很多bug都只能靠google那边来fix,我们只能提patch,同时在这个期间使用其他方案曲线救国,但这必定会导致时间成本和开发成本指数增加) 我特别受不了总以为h5是万能的,然后整的跟native app一模一样的交互和功能需求的sb pm。 怒答。HTML5终归是网页。慢死了,资源消耗还大,尤其是在低端设备上卡的厉害。因此native app是很有必要的。

举个例子,在我的ipad1上面,用safari打开zhihu.com不出半分钟就会闪退,只能凑合着用iphone版客户端。

利益相关:一个不满知乎不出ipad客户端的人。 html5对流量的可耻浪费能忘?还是wap版网页好 webapp就算了吧, hybrid app可以一战。winjs/winjs · GitHub 你值得拥有 Web充其量就是一个补全产品线的手段而已。手机上深度使用还得是native 先是匿名吐槽下:

新浪微博的触屏版本真做好么?

举个简单的体验:
我在timeline浏览,看啊看,滚啊滚,然后点击进到某条微博的详情页面,看完来,然后点后退。看看回到哪里来?回到timeline顶部了。。怎么办,我要继续下翻找到刚那条,然后继续浏览。

另外,我的mx2,无论怎么升级系统版本和浏览器,始终不能登录,就卡在登陆界面了。

答不对题。

然后是回答的分割线:
---------------------------------------------
HTML5技术在短时间内取代所有的APP是不可能的:
1、很多系统级别的API没有,HTML5能做的东西目前来看,还是太少,能做的很好的局限在浏览型的产品,这种产品只要前端开发同学给力,在iOS6和android4.0以上,做到同native app几乎一样的体验不是太难。
2、并不认为web型的产品能做到一次开发,全部适应。稍微复杂一些的页面,其实android下的兼容性问题依旧是很多,只是相比下,可能会轻松一点。公司们只要招一个前端开发来加班就好了,不用招一个iOS,一个android一起加班啦。

继续分割线
---------------------------------------------
新浪微博触屏版做的很不好,但我真觉得以下几个产品的触屏版做的真不错:
1、豆瓣;
2、qzone;
3、淘宝;
4、微视