Weex 介绍

作者: 屈涯 | 来源:发表于2018-12-17 12:33 被阅读5次

    引文

    为什么选用weex,而不是选用React-Native。React-Native是直接通过JS写原生代码,针对不同平台写不同代码, 虽然很多代码可以复用,Weex是基于vue语法,然后引擎在将代码解析成html,dom,或者原生组件,所以weex是只要遵循一定规则就可以一套代码完全跨平台。


    image.png

    1.通过编写.vue文件,完成界面组件设计以及逻辑代码编写;

    Transformer :转换的意思,我们会借助Weex-Toolkit这个工具将.vue文件转换成.js文件
    Weex-Toolkit
    ==$weex compile your_best_weex.[we or vue] . ==
    deploy:意味着将这个.js文件上传到服务器,后面可以通过CMS下发到客户端
    客户端收到后,由JS Framework处理,对IOS和Android,会通过V8引擎解析,以json的形式返回给客户端
    客户端最后根据json完成自己的渲染

    2.介绍整体的一个流程

    Activity发起渲染请求,参数带上渲染的js文件
    Weex 接收到请求,完成初始化后,将js内容传到JS 引擎
    由JS 引擎完成 V DOM的操作,之后将V DOM对应的json字串回传给Weex
    Weex 解析json,parse成一个个WxDomObject,然后创建对应的WxComponent,创建渲染任务
    WxRenderManager具体处理渲染任务,渲染完成后,通知Activity渲染结果,完毕
    可以执行setContentView(view)添加到自己容器内

    3.介绍一下框架

    Weex框架主要包括三大部分。主体是WXSDKManager,以组合的形式带上WXBridgeManager、WXRendermanager和WXDomManager。三个管理类如名称一样,负责各自的功能区域。WXBridgeManager主要负责 和 JS 引擎交互 ,发送native端java的请求到jni层,接收js引擎处理后从jni上返回的消息。WxDomManager负责构建客户端的dom结构,在WXBridgeManager接收到消息后,会交给WxDomManager处理,WxDomManager根据消息创建自己的Dom结构,添加、删除、修改元素。然后将对应的Dom的节点渲染成组件,这一步渲染的工作就需要WXRendermanager负责。当然,三者的管理类并不直接交互,管理类下面还有对应的功能类负责具体的通信、数据处理和管理。

    相关文章

      网友评论

        本文标题:Weex 介绍

        本文链接:https://www.haomeiwen.com/subject/ppuqkqtx.html