专业建站系统 - 打造最好的网站内容系统!

http://wnsbw.cn

当前位置: 图片玄机_二四六天天好_二四六天天好 > 游戏 > 开源社区weex重写内核的野心,阿里、腾讯、网易怎么看? 开源社区weex重写内核的野心,阿里、腾讯、网易怎么看?

开源社区weex重写内核的野心,阿里、腾讯、网易怎么看?

时间:2018-01-29来源: 作者:admin点击:
1月19日weex团队在杭州开weexconf。半闭门邀请制,因为我之前的项目里尝试性的接入了weex,刚好失业在家有空,就约上冰霜一起报名参加了。虽然此次会议规模不大,现场不到百人,但是似乎是只邀请了项目里有使用过weex的人,现场也不乏腾讯、网易、蘑菇街规模大一些的公司,所以讨论的气氛还是挺好的

1月 19日 weex团队在杭州开 weex conf。半闭门邀请制,因为我之前的项目里尝试性的接入了 weex ,刚好失业在家有空,就约上冰霜一起报名参加了。

虽然此次会议规模不大,现场不到百人,但是似乎是只邀请了项目里有使用过 weex的人,现场也不乏腾讯、网易、蘑菇街规模大一些的公司,所以讨论的气氛还是挺好的。下午的演讲都是介绍各自团队在使用 weex的实践总结,算是让我对 weex的现状有了更清晰的认知,把我一天下来的感想总结一下:

一份代码,多端运行的思路是逻辑使用 JS编写,JS文件动态的同步到本地,之后本地的 JS引擎执行 JS的代码,通过调用本地提前注册好的 native函数实现业务。如果更抽象一步,就是约定一份语法格式(DSL),不同平台针对这个语法执行响应逻辑。有点像编译的过程,把自定义的字符串解析成本地对应的代码。只是在早期的时候,有现成的 JS和 ,自然而然的利用现有的完备的技术体系。

那么现有体系有什么硬伤呢?

JS环境和 native环境通信性能问题

JS的 runtime和本地的 runtime不一致。两个环境的互相调用还是有比较明显的性能损失。会上有人提到本地的 GPS定位持续的传给 JSC,函数响应的过程可能需要几十毫秒。虽然这种持续的函数调用虽然不是常见的场景,但是这个场景突显了这种模式的先天的硬伤。

对不同平台 的依赖

在 iOS端,weex使用的是 iOS自带的 Core framework;安卓端原先用的是 V8引擎,后来替换成了 Core 。两端的 JS引擎有着不一样的代码,而且 iOS端的 JSC是闭源的。如果同一份 JS代码,两个端运行结果不一样,调试起来就非常困难。

如果用 C++写一份自己的内核,两个端就可以使用同一个引擎,就可以抹平运行时的不一致,性能也会得到提升。唯一的问题就是这个操作门槛有点高。只能说 weex的野心让人敬佩。

选择 weex的理由

支持 web

其实我本来想用“吊打”这个词,毕竟 RN根本不支持 web。之前在技术会议上看到携程、京东都提到他们打算自己维护一套工具,以支持 RN的 web端能力。可是普通小团队都没有这样的研发力量。weex因为来自自身(淘宝) web端的需求,所以一开始就支持了三端。虽然 web端的能力一般,但也还是能用。这是一个真实的痛点,现场来的很多团队选择 weex就是因为需要同时支撑 web端。

vue的加持

前端框架的优劣就不谈了,但是个人喜好确实不同。因为现场团队听见有的团队说我们对 Vue比较熟,不想再接触 react那一套,就选择了 weex 。

阿里已经深深依赖

毕竟 weex的最初使命就是解决自身的开发效率问题。阿里内部的认同对于这个项目的稳定性影响至观重大。随着 weex的性能提升,淘宝的双十一会场的几千个页面都是利用 weex实现的,看来是稳了。

听到飞猪团队的一个分享提到的一个业务场景很有意思。飞猪有一半的流量来自其他阿里系 app(淘宝等),以前通过 hybrid的网页实现。但是网页的缺点大家都知道了,加载慢和交互体验差。现在因为其他 app都带了 weex ,所以约定好一些 module ,可以非常方便的支持其他 app嵌入自身的业务。

总之,阿里内部对 weex已经有价值上的认同。好吧,其实我也不是很关心这个,我知道明天 weex团队不会解散就好了。

最大的瓶颈:社区活跃度

Weex开发者社区的活跃度对比 RN可以用惨淡来形容。这种心情大概就是两个开发者如果知道对方用的是 weex会相视一笑,然后抱头痛哭。

社区不活跃会对技术的使用提高很多门槛。

比如我看到的一件事,weex移交到 Apache后,原先 github上的 repo就不再维护了。Apache上面并没有提 issue的渠道。开发者也普遍对 Apache通过邮件沟通的方式不太习惯。所以一位开发者使用 weex碰到问题就不知道去找谁了。某些网站上提问有人回答也是几个月后才有稀松的几个回答。一个技术要普及,门槛就一定要低。不能希望使用的团队技术都有一线互联网公司的水准,能自己看源码解决;或者都能有渠道找到阿里的朋友帮忙解决问题。

社区不够活跃,技术的实践资料也就少了。如果用 RN想要做路由,一搜就能搜到几个解决方案。甚至出版社的纸书,RN都有好多本。然而搜一下 native如何往 weex传值都要找好久。

冰冻三尺非一日之寒。如果要入坑 weex ,社区虽然在变好,但是可能还是没有主流的框架那样活跃,要做好心理准备。谁不希望看到一个中国团队开发的技术方案走向世界舞台呢?

------分隔线----------------------------
相关内容
推荐内容