天天看點

WEEX跨平台開發環境搭建一、Weex簡介二、環境搭建三、建立項目

一、Weex簡介

大約兩年前,為了寫一本Weex的入門書籍,我花了幾個月的時間學習了下Weex跨平台相關的知識。

Weex 是阿裡前端技術團隊開源的一套跨平台開發方案,能以Web的開發體驗建構高性能、可擴充的 Native 應用。簡單來說,在內建了 WeexSDK 之後,開發者就可以使用 JavaScript 語言和前端開發經驗來開發移動應用。Weex 渲染引擎與DSL文法層是分開的,Weex 并不強依賴任何特定的前端架構。Weex 應用的頁面表示層使用Vue,并遵循 W3C 标準實作了統一的 JSEngine 和 DOM API,Weex和React Native一樣是目前流行的跨平台開發架構。

Weex 的另一個主要目标是跟進流行的 Web 開發技術并将其和原生開發的技術結合,實作開發效率和運作性能的高度統一。在開發階段,一個 Weex 頁面就像開發普通網頁一樣;在運作時,Weex 頁面又充分利用了各種作業系統的原生元件和能力。

Weex的官方位址為:https://weex.apache.org/。Weex最簡單的方法是使用 Playground App 和在 dotWe 編寫一個 Hello World 的例子,開發者甚至不需要安裝任何的開發環境或編寫Native代碼即可開始一個Weex應用程式。

通過下圖,你可以大緻了解 Weex 是如何工作的。

WEEX跨平台開發環境搭建一、Weex簡介二、環境搭建三、建立項目

在這裡插入圖檔描述

二、環境搭建

開發Weex程式之前,需要先搭建好相關的開發環境,為了同時開發Android和iOS跨平台應用,還需要準備一台Mac電腦,然後安裝一些必要的軟體,比如Homebrew、Node、weex-toolkit、weexpack以及原生Android和iOS環境。

Homebrew

Homebrew是Mac系統的包管理器,用于安裝NodeJS和一些其他必需的工具軟體,安裝指令如下。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"           

複制

需要注意的是,在Max OS X 10.11以上版本中,homebrew在安裝軟體時可能會碰到/usr/loca目錄不可寫的權限問題,需要以管理者權限運作。

Node.js

Weex目前需要NodeJS 6.0或更高版本,Homebrew預設安裝的是最新版本,一般都滿足要求。

brew install node           

複制

安裝Node後建議設定npm鏡像以加速後面的項目建構過程。注意:不要使用cnpm!cnpm安裝的子產品路徑比較奇怪,有可能packager不能正常識别。

npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global           

複制

weex-toolkit

weex-toolkit 是官方提供的一個腳手架指令行工具,可以使用它進行 Weex 項目的建立,調試以及打包等功能,安裝weex-toolkit的指令如下所示。

npm install weex-toolkit -g           

複制

weexpack

weexpack 是新一代的weex應用工程和插件工程開發套件,是基于weex快速搭建應用原型的利器。可以建立weex應用工程和插件工程,快速打包 weex 應用并安裝到手機運作,還可以建立weex插件模版并釋出插件到weex應用市場, 使用weexpack 能夠友善的在在weex工程和native工程中安裝插件,安裝weexpack的指令如下。

npm install weexpack -g            

複制

三、建立項目

3.1 初始化項目

完成上面的軟體安裝後,接下來就可以使用 weex create 指令來建立一個空的模闆項目,如下所示。

weex create awesome-app           

複制

指令執行完以後,在目前目錄的 awesome-app 檔案夾裡就有了一個空的 Weex + Vue.js 項目,目錄結構如下所示。

├── android.config.json 
├── configs
├── dist 
├── ios.config.json 
├── node_modules 
├── package-lock.json  
├── package.json  
├── platforms  
│   └── platforms.json
├── plugins 
├── src    //源碼
├── test 
├── web 
│   └── assets 
│   ├── index.html 
│   ├── index.js 
└── webpack.config.js           

複制

3.2 開發

進入剛剛建立的檔案夾,并且安裝依賴,然後執行 npm start指令。

cd awesome-app
npm install
npm start           

複制

然後工具會啟動一個本地的 web 服務,監聽 8081 端口。然後打開 http://localhost:8081 檢視頁面在 Web 下的渲染效果。

WEEX跨平台開發環境搭建一、Weex簡介二、環境搭建三、建立項目

在這裡插入圖檔描述

當然,也可以使用Playground App掃碼頁面二維碼檢視效果,不管需要說明的是,掃碼二維碼的手機需要在同一個區域網路。

3.3 編譯和運作

預設情況下 weex create 指令并不初始化 iOS 和 Android 項目,不過我們可以通過執行

weex platform add

指令來添加特定平台支援。

weex platform add ios
weex platform add android           

複制

執行上面的指令後,platforms目錄就會多了Android和iOS的原生工程目錄。當開發環境準備就緒後,運作下面的指令,可以在模拟器或真實裝置上啟動應用。

weex run ios
weex run android
weex run web           

複制

如果沒有任何錯誤,運作的效果如下圖所示。

WEEX跨平台開發環境搭建一、Weex簡介二、環境搭建三、建立項目

在這裡插入圖檔描述

3.4 調試

weex-toolkit 還提供了強大的調試功能,隻需要執行如下指令即可。

eex debug           

複制

這條指令會啟動一個調試服務,并且在 Chrome (目前隻支援基于 V8 引擎的桌面浏覽器) 中打開調試頁面。