佛曰:前世五百次的回眸,才换得今世的擦肩而过?br/> 了解尊龙备用网址来就送38-尊龙官方网站-尊龙新版app下载只要60秒,让我们不再错?br/> . . .

WEEX

当前位置:主页 > WEEX >

Weex入坑之旅

来源:admin       时间:2020-11-22 19:43         责任编辑:admin

  目前基于weex的版本v0.9.4,阅读本文,需要有一定的基础知识储备,默认环境配置你都比较了解。

  正常情况下,我们不能为了技术而技术,最终还是要落地在业务上面。weex目前来说相比RN的方案,可以给你带来什么?

  虽然Native端比较简单,但是插件该如何组织维护,这也是一个考验,随便搞搞那是不行滴。插件的设计一定要解偶,不能和weex融合在一起。前端部分布局是基于flex的,标签目前还是比较少的。目前,市面上还没有比较成熟的UI库,这一个部分是个蛋疼的点,你可能还需要开发一套UI库。weex只提供了视图的渲染能力以及部分功能性的module,这也意味着在扩展方面,业务方还是有很长的一段路要走的。高兴的是weex也提供了一组简单的Component,有一些常见的组件。

  其次前端的架构,可能还需要你自己细细的组织一下,虽然weex指导性的必须使用类Vue的方式来开发,但是如何组织你的数据流向,怎么分发,这一部分还需要你来设计,记住一点,存在浏览器方法的库都不能用,纯粹js能力的扩展,比如lodash工具函数,你还是可以放心使用部分的。在最后落地的阶段,业务的不同可能会采取不同的设计,这需要业务方来考虑。

  推荐大家还是使用WebStorm吧,“有钱没钱都要回家过年不是”,利器在手天下任你走。在Plugin里安装Weex Language Support,这个插件可以让你的.we文件有语法高亮,以及智能提示。目前Weex正在向Vue2.0过渡,你也可以安装一下Vue的插件。

  最后安装weex-toolkit和weex-devtools,前一个工具可以用来启动一个项目,比如在iTrem中输入weex init 可以生成一个简单的weex项目。后一个工具与调试有关,当你需要调试时,可以输入weex debug src/xxxx.we,来启动调试界面。

  调试分为两个部分Debugger和Inspector,如果你选择Debugger,那么你可以在source里看到你写的文件,来断点之类的。如果你选择后者,那么你可以在element面板里查看元素。

  如果你不想用官方的weex playground,比如想在自己的App里来调试,可以用WXDevtool来开启,我简单的说一下iOS端的步骤。

  因为整个weex开发的工作量基本在前端,所以前端的同学们需要特别注意几项。

  剩下的,你可以边开发的时候边摸索,比如官方提供的组件,官方提供的module扩展。

  Native的同学(只说iOS),需要了解三个地方,相比前端要幸运的很多 :

  “请牢记上述的格言”,个人推荐大家在配置Cocoapods的时候,既要有weex团队打包好的SDK,也要有引入源码的准备。

  理论上,weex的初始化应该在App启动时。但是,你也可以在特定的时候初始化weex。

  当然,如果你需要有一点业务的配置,也可以使用 WXAppConfiguration,因为这不是必须的。

  前言讲到了weex只是一层View,那么将它和UIView划等号也是可以的。在你的VC中,应该有一个URL的属性,可以接到js bundle 文件。

  从上述的逻辑来看,应该可以推敲出,weex 渲染结果虽然需要一个UIView来承接,最后再将这个UIView替换掉系统的view,所以理论上,你可以生成多个weex的instance,来拼凑页面,只需要设置好frame即可。weex 在代码层面上提供了几个block,来让你感知到渲染阶段的几个周期,比如是渲染错误了,还是渲染完成了,还是在渲染创建之前。

  当我们准备好Native的渲染环境后,就可以运行一下初始化时为我们准备好的例子代码:

  不过,一个应用如果都是纯展示,那么到此就结束了,但往往不是。也许,你还需要各种各样Native的能力,也许Native也需要各种各样JS的能力。

  从业务层面来说JS与Native可以互相通信,这是非常重要的一点,但是如果当前端有无法实现的或者很难实现的组件时,这个时候Component就派上用场了。

  其实,组件还有大量的生命周期,在这些生命周期内,你可以进行一些处理,总体来说,这是一个很有趣的事情。

  如果需要提供插件,Weex现在讲究三端一致性,也就是说,需要你提供三端的实现。他们专门提供了一个工具weexpack来创建插件配置项。weexpack可以打包成一个独立的App,不过对于很多公司的业务来说,将weex做为View来使用,可能才是大部分技术选型的首选。