第1章 WEEX简介 1
1.1 WEEX概述 1
1.1.1 原生平台与Web平台的差异 1
1.1.2 设计理念 2
1.1.3 WEEX工作原理 3
1.2 移动跨平台技术剖析 4
1.2.1 React Native 5
1.2.2 Flutter 6
1.2.3 PWA 8
1.2.4 对比与分析 8
1.3 本章小结 9
第2章 WEEX快速入门 10
2.1 安装与配置WEEX 10
2.1.1 安装依赖 10
2.1.2 创建项目 12
2.1.3 开发与运行项目 13
2.1.4 集成到iOS 16
2.1.5 集成到Android 20
2.1.6 WEEX语法插件 22
2.2 在WEEX中使用Vue.js 25
2.2.1 与Web平台的异同 25
2.2.2 单文件组件 26
2.2.3 WEEX支持的Vue.js功能 27
2.3 WEEX调试 29
2.3.1 weex-toolkit简介 29
2.3.2 weex-devtool远程调试 32
2.3.3 集成weex-devtool到iOS 35
2.3.4 集成weex-devtool到Android 37
2.4 本章小结 42
第3章 WEEX基础知识 43
3.1 基本概念 43
3.1.1 组件 43
3.1.2 模块 44
3.1.3 适配器 45
3.2 样式 46
3.2.1 盒模型 46
3.2.2 弹性布局 49
3.2.3 定位属性 57
3.2.4 2D转换 59
3.2.5 过渡 60
3.2.6 伪类 62
3.2.7 线性渐变 63
3.2.8 文本样式 66
3.3 事件 66
3.3.1 通用事件 66
3.3.2 事件冒泡 69
3.3.3 手势 70
3.4 扩展 71
3.4.1 HTML5扩展 71
3.4.2 Android扩展 73
3.4.3 iOS扩展 76
3.4.4 iOS扩展兼容Swift 79
3.5 本章小结 81
第4章 组件与模块 82
4.1 内置组件 82
4.1.1 <div>组件 82
4.1.2 <scroller>组件 84
4.1.3 <refresh>组件 85
4.1.4 <loading>组件 86
4.1.5 <list>组件 87
4.1.6 <recycle-list>组件 91
4.1.7 <video>组件 95
4.1.8 <web>组件 97
4.2 内置模块 100
4.2.1 DOM模块 100
4.2.2 steam模块 102
4.2.3 modal模块 103
4.2.4 animation模块 105
4.2.5 navigator模块 107
4.2.6 storage模块 108
4.3 Weex Ui详解 110
4.3.1 Weex Ui简介 110
4.3.2 <wxc-minibar>组件 111
4.3.3 <wxc-tab-bar>组件 113
4.3.4 <wxc-tab-page>组件 117
4.3.5 <wxc-ep-slider>组件 119
4.3.6 <wxc-slider-bar>组件 121
4.4 本章小结 123
第5章 Rax框架详解 124
5.1 Rax简介 124
5.2 Rax快速入门 125
5.2.1 搭建环境 125
5.2.2 基本概念 127
5.2.3 FlexBox与样式 128
5.2.4 事件处理 129
5.2.5 网络请求 131
5.3 Rax组件 133
5.3.1 <View>组件 133
5.3.2 <Touchable>组件 134
5.3.3 <ListView>组件 136
5.3.4 <TabHeader>组件 139
5.3.5 <Tabbar>组件 143
5.3.6 <Switch>组件 146
5.3.7 <Slider>组件 148
5.4 本章小结 150
第6章 Vue.js框架详解 151
6.1 Vue.js简介 151
6.2 Vue.js快速入门 152
6.2.1 搭建环境 152
6.2.2 Vue.js项目的目录结构 154
6.2.3 Vue.js实例 155
6.2.4 模板 156
6.2.5 数据 157
6.2.6 方法 158
6.2.7 生命周期 159
6.3 基础特性 162
6.3.1 数据绑定 162
6.3.2 模板渲染 163
6.3.3 事件处理 166
6.4 指令 169
6.4.1 v-bind指令 169
6.4.2 v-model指令 170
6.4.3 v-on指令 172
6.4.4 v-cloak指令 174
6.4.5 v-once指令 174
6.4.6 自定义指令 174
6.5 过滤器 178
6.5.1 过滤器注册 178
6.5.2 自定义过滤器 178
6.5.3 过滤器串联 179
6.6 Vue.js组件 180
6.6.1 组件基础 180
6.6.2 组件扩展 181
6.6.3 组件注册 181
6.6.4 组件选项 183
6.6.5 组件通信 185
6.6.6 动态组件 187
6.6.7 缓存组件 188
6.6.8 异步组件 189
6.7 vue-router 191
6.7.1 安装与配置 191
6.7.2 基本用法 192
6.7.3 路由匹配 193
6.7.4 嵌套路由 194
6.7.5 命名路由 196
6.7.6 路由对象 197
6.7.7 路由属性与方法 197
6.7.8 路由传参 199
6.8 本章小结 200
第7章 BindingX框架 201
7.1 BindingX简介 201
7.1.1 基本概念 201
7.1.2 背景 202
7.2 BindingX框架快速上手 203
7.2.1 快速入门 203
7.2.2 手势 204
7.2.3 动画 208
7.2.4 滚动 211
7.2.5 陀螺仪 213
7.3 API 215
7.3.1 事件类型 215
7.3.2 表达式 217
7.3.3 目标属性 217
7.3.4 插值器 218
7.3.5 颜色函数 218
7.4 本章小结 219
第8章 WEEX Eros App开发实战 220
8.1 WEEX Eros简介 220
8.2 快速入门 220
8.2.1 搭建环境 221
8.2.2 创建工程 221
8.2.3 运行项目 222
8.2.4 Eros示例 225
8.2.5 工程配置 227
8.2.6 开发调试 231
8.2.7 增量发布 232
8.3 组件 232
8.3.1 globalEvent 232
8.3.2 Axios 233
8.3.3 Router 236
8.3.4 storage 239
8.3.5 event 242
8.3.6 image 244
8.3.7 notice 245
8.3.8 自定义组件 247
8.4 模块 248
8.4.1 模块概念 248
8.4.2 bmEvents 249
8.4.3 bmWebSocket 250
8.4.4 bmBundleUpdate 253
8.5 开发配置 253
8.5.1 Android原生配置 254
8.5.2 Android打包配置 255
8.5.3 iOS原生配置 257
8.5.4 iOS打包配置 258
8.6 插件 260
8.6.1 Android插件化 260
8.6.2 iOS插件化 261
8.6.3 基础插件 265
8.6.4 微信插件 266
8.6.5 高德插件 269
8.7 热更新 272
8.7.1 热更新原理 272
8.7.2 热更新配置 273
8.7.3 热更新实战 275
8.8 本章小结 278
第9章 移动电商应用开发实战 279
9.1 项目概述 279
9.2 搭建项目 279
9.2.1 新建项目 279
9.2.2 编写主框架 280
9.2.3 Iconfont 283
9.2.4 自定义选项卡组件 286
9.2.5 路由配置 288
9.2.6 数据请求 289
9.3 功能编写 290
9.3.1 首页开发 290
9.3.2 广告弹窗开发 292
9.3.3 商品详情页开发 294
9.3.4 订单管理页开发 296
9.3.5 适配iPhone X 299
9.4 打包与上线 302
9.4.1 更换默认配置 302
9.4.2 iOS打包 303
9.4.3 Android打包 305
9.5 本章小结 307