关闭

浅谈一下weex,如有错误,请阿里大神指正

标签: weexreact native
3899人阅读 评论(10) 收藏 举报
分类:

开题:

首先如果大家不知道weex,大家请先百度下weex,react native(以下简称RN),weex的好处我就不提了,上次去参加Qcon大会的时候,听到阿里说要公开weex,于是就去要了个内测账号来用。

工作原理:

刚接触的时候,真的是蛋疼菊紧,完全看不懂,没办法加入了一个weex讨论组,不知道里面的人是不是阿里的coder,在群成员的帮助下,开始真正了解了weex的工作原理,如下图


懂RN的人一眼看,这不就和RN一样的思路么,看图可能不理解,那我就用自己的话来说吧,首先用js写出布局,对于不搞前端的人来说这里是最难的,用js写布局,群里面有人说先去研究vue.js,其实然并卵,写起来特别复杂,虽然weex给出了许多demo,但是写起来感觉挺变扭,特别在写style.sheet的时候,不能用css3,那就证明许多定制化功能很难实现,这和RN一样,这是通病,当然可能是我技术没研究透,但是就我目前来看,对于复杂的自定义view来说,weex用js是无法快速实现的。

布局写完以后,通过命令行去编译成js,这里为啥js编译js,其实我也不懂,但是RN需要,weex也需要,因为编译的同时帮你编译出一个项目来吧,然后就可以在原生IDE里面去写这个编译出来的项目,那么问题来了,为啥都编译好了还要去写原生项目,因为你需要做一些封装层和插件化接口,让你的js去调用,RN和weex给出来的本地接口根本不足以让你实现一个app,所以你需要自己再去做一些封装和插件。

最后app就可以用了,也就是上图的模式js去生成UI,调用本地的方法和接口。

Weex和RN的区别:

因为了解的真的不够透彻,看群里面的人也是瞎扯,所以真的感觉没区别,因为思路都是一样的,但是说没有区别,还是可以从原生端看出区别的,目前weex只推出了android的内测版本,而当初RN刚推出的时候只推出IOS版本,后面才补上的Android版本,RN目录下,所有js对应的是一个activity,而weex目录下,一个js对应一个activity,so在dev里面加载图片还是扩充内存模块,当然是weex比较好,也就是说,RN大数据量下面,android会卡,ios不会卡,weex大数据量下面android的性能比rn的好,ios还不知道。

bug维护上面,rn维护的速度倒是比weex维护的快,这里也是阿里大神需要注意一些。

开源程度上面,weex当然比rn更开源,虽然rn也有源码,但是编译的时候都是jar包的形式,这就没有weex更符合我们的要求了,大家可以自己去看下weex的源码,关于源码我不想分析,因为我是分析了很多,但是不想误导大家,这里需要大家自己来看。

关于跨平台的看法:

我们都是想更快速的去开发,并且能热部署,但是目前来说好像真没有一个技术能更好的解决我们的需求,最早的phonegap,性能成为硬伤,发展到现在的RN和weex,RN已经有许多demo了,但是目前看到的都是简单布局,一些绚丽的东西,提高用户体验性的demo真的没有看到,所以目前来说,weex也只用于部分淘宝的场景中,混合开发可能还会持续很久,也希望国内有大神能提供出一种可视化兼代码编辑的工具出来,vue.js真的太难了。

题外话:

     也好久没写博客了,和大家说点题外话,反正我的观点也不一定对,可能是真的做管理层做太多了,也不在意一些细节了,突然加一个技术群里面,有点不适应这些coder,里面有刚毕业的,开发几年的,也有开发几十年的,

我也不知道里面是否有阿里的大神,但是我认识的阿里大神都是很谦逊的,而里面的人给人一种什么感觉,老子就是牛逼,你问的问题就是渣渣,老子探讨的都是原理之类和最新技术的问题,问道有先后,术业有专攻,你们懂js,我不懂啊,换个思路,我懂android比你们懂的太多了,你们懂么,但是我还是经常会去移动论坛里面问问题,许多网友开玩笑说大版主都不懂的,我们怎么懂,我也会开玩笑的说,你们懂了不就证明比我厉害了,其实没有谁是全懂的,无论我认识的阿里,还是腾讯,或者百度的都很谦逊。

然后就是coder的装逼方式让我不懂,也可能我不是一个好的coder缘故,coder的思路,我写的代码牛逼我就牛逼,我懂的比你多我就牛逼,我在大公司我就牛逼,完全沉浸在code的世界中无法自拔,可能也是我太势力,被社会污染了,为啥我身边的朋友装逼就是我今天买了一辆法拉利,我今天在迪拜干啥,我住的豪宅太大请人打扫好贵,我女朋友有多漂亮之类,不懂了,不知道大家想要什么样的生活方式,前者还是后者。还有就是一个人说看着冒号不对齐就难受,然后大家就开始复合,哎呀受不了了,你有代码洁癖你自己知道就行,何必再群里面说,而且还一群跟着复合,非要觉得自己多么牛炫一下,那为啥不炫你的豪车了。

最后coder的交流语气貌似有问题,和电脑打交道多了,和人就是那样,举个例子,昨天群里面有人问谁有RN的demo,然后就开始有人抨击这个人是小公司的人员,怎么怎么不行,其实我想问下,换做是我,我也会直接找demo,因为我是500强的管理层,我注重的是效率和带来的效益,如果我花时间去深入研究一个不确定的原理,那带来的风险无法预知,我不宁愿找一个可预测的风险去做,因为我不是开发,如果我看到的我要结果我就会让我们的code去仔细研究,而凭别人说的一句话去判断别人,甚至公司,我就没懂了。再举个例子,今天群里面有人问项目时间紧的情况下,应该选择原生还是weex,好的,又开始了,开始抨击别人公司能活多久,公司都不舍得花钱在研发上面,这些不是需要你们考虑的吧,你们又不是老板,你们没有那个能力说自己是马云就别去抨击别人公司能活多久,就好像一群coder从来没有做过管理,却说管理有多垃圾,呵呵了,那你倒是有能力顶替管理自己去做咯。

说了那么多,可能也夹杂了我一些错误的想法,我只是想,谦虚是美德,大家应该尊重别人,不是因为你比别人先了解这方面的知识,而是这是中国,如果你在硅谷,在瑞士,我不会说啥,但是在中国,技术不一定能带来财富,而中国唯一认证成功的标准就是财富,所以请大家收起大家的自傲来,当你还没有成为亿万富翁或者行业顶尖的时候,你没有资格去抨击任何一个人,所以我在群里面从来只是简单的问问题和谢谢,其它时候我只能静静地呵呵看着你们装我不懂是否该装的逼了。

3
5

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:73686次
    • 积分:1471
    • 等级:
    • 排名:千里之外
    • 原创:48篇
    • 转载:10篇
    • 译文:0篇
    • 评论:202条
    最新评论