weex-vue-framework

frameworks
驅(qū)動 weex 的 framework 代碼,
- legacy: weex 在使用 vue 之前的 代碼
- vanilla:
Vanilla JS 是一個快速、輕量級和跨平臺的框架用來構(gòu)建強(qiáng)大的 JavaScript 應(yīng)用程序。
JavaScript 框架,weex 版本里面沒有實現(xiàn)。
目前版本打包好的 framework 有四個,在 index.js 中看到,
import * as Vanilla from './vanilla/index'
import * as Vue from 'weex-vue-framework'
import * as Weex from './legacy/index'
import Rax from 'weex-rax-framework'
export default {
Vanilla,
Vue,
Rax,
Weex
}
weex-vue-framework: 就是 vue 驅(qū)動 weex 的 framework,源碼字 vue 倉庫。
rax :容器
render
渲染引擎
1、 native:
native 上的 weex 渲染引擎, 這里只是初始化入口,源文件: html5/frameworks/legacy,這個也是 在.we 使用的
framework,vue2.0 使用的 是 node_modules/weex_vue_framework/。
2、 weex-web-render
web 平臺 weex 渲染引擎, .we 在 web 平臺使用的 framework。
3、 weex-vue-render
web 平臺 vue weex 的組件庫
runtime
關(guān)鍵代碼,
1、初始化 framework
2、負(fù)責(zé)和 native 交互
3、vdom,定義 dom 節(jié)點(diǎn),各個 framework 都是 適配這個 來驅(qū)動 weex。
4、注冊 組件 和 module
1、vdom
定義 dom 節(jié)點(diǎn),各個 framework 都是 適配這個 來驅(qū)動 weex。
2、init.js
初始化 方法, 初始化 framework,createInstance,createServices
3、task-center
vdom 和 native 交互的代碼
4、config
將 Document,Element,Comment,Listener,TaskCenter,sendTasks 封裝到一個對象,傳入 framework 使用。
5、callback-manager
callback 管理類。js 調(diào)用 native 時,如果需要回調(diào),則回調(diào)方法會暫時存放在 這里,
native 調(diào)用 callback 回調(diào)時,vue-framework 的 callback 方法會調(diào)用 task-center 中的 callback,
這時候就從callback-manager 中取出對應(yīng)的 callback 執(zhí)行。
4、listener
weex 1.0 時代 的方法,現(xiàn)在已廢棄。
5、handler
Listener 對象的 handler,也是廢棄的。
services
1、broadcast-channel
全局廣播(才有 vue 之后,也廢棄了)
shared
公用代碼
vue
vue 源碼在 這里

src/core
里面都是 vue 的核心代碼,渲染算法,vdom ,數(shù)據(jù)綁定 等等都在這里,
componentsglobal-apiinstanceobserverutilvdom
platforms/web
web 平臺 入口
platforms/weex
weex 平臺 入口
1.runtime
定義的 組件,模塊,初始化 Vue的入口。
components
directives
modules
node-ops.js
操作 node 的類。vue 核心庫中會調(diào)用 操作 node 會調(diào)用這里的方法,通過這個 node-ops 再把消息傳遞到 weex 中。
patch.js
封裝 node-ops、modules ,傳遞到 vue/core 中
text-node.js
文本節(jié)點(diǎn)。
2. util
3. entry-compiler.js
weex-vue build入口
4. entry-framework.js
weex 平臺
5. entry-runtime-factory.js
vue 核心庫的入口