近年來,伴隨著大前端和移動跨平臺技術的興起,移動應用的開發手段越來越多,常見的移動跨平臺技術有React Native、WEEX和Flutter等。WEEX是由阿里巴巴研發的一套移動跨平臺技術框架,目的是解決移動應用開發過程中頻繁發版和多端研發的問題。本書是一本系統介紹WEEX跨平臺應用開發的書籍,涵蓋了WEEX開發的方方面面,主要由基礎知識、高級應用開發和項目實戰三部分組成。第一部分重點介紹WEEX開發的基礎知識,后兩部分則重點介紹WEEX開發的進階知識和項目實戰。本書是一本WEEX入門與實戰系列類的書籍,適合有一定前端開發基礎或者移動端開發基礎的讀者閱讀。因此,無論你是前端開發者,還是移動端開發者,都可以通過對本書的學習來獲取掌握移動跨平臺應用開發的技能。
向治洪,平安健康資深前端工程師,擅長移動應用和前端跨平臺開發,在Android系統開發和后端Web開發方面也有深入研究。長期活躍于各大技術論壇,擁有csdn專欄作家、云棲社區版主和掘金聯合編輯等稱號,發布的文章涉及前端的方方面面。曾在多家互聯網公司擔任技術經理和資深工程師的職位,出版的《React Native移動開發實戰》和《Kotlin入門與實戰》深受讀者好評。
目錄
第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