Hello,Weex!

Posted by nepaul on 2017-05-19

Hello, Weex!

Weex 是一套简单易用的跨平台开发方案,能以 web 的开发体验构建高性能、可扩展的 native 应用,为了做到这些,Weex 与 Vue 合作,使用 Vue 作为上层框架,并遵循 W3C 标准实现了统一的 JSEngine 和 DOM API,这样一来,你甚至可以使用其他框架驱动 Weex,打造三端一致的 native 应用。
— weex 官网

本文的主要目的是 帮助 WEB 开发者快速搭建 weex 开发环境,以下所有操作均基于 macOS Sierra 下进行(最好还是用 mac 开发,毕竟我们的需求是 跨平台,而且 mac 对 WEB 开发真的非常友好)。

资源

  • 官网教程、手册、参考、工具和服务,建议四部分都看一遍,内容不长。
  • github
  • weex-packwiki :weexpack 是新一代的weex应用工程和插件工程开发套件,是基于weex快速搭建应用原型的利器。它能够帮助开发者通过命令行创建weex应用工程和插件工程,快速打包 weex 应用并安装到手机运行,对于具有分享精神的开发者而言还能够创建weex插件模版并发布插件到weex应用市场。 使用weexpack 能够方便的在在weex工程和native工程中安装插件(官方说法)。
  • [非官方] 饿了么前端在知乎的专栏, weex 入坑指南:其他文章写得也很好,建议都读一遍。
  • [非官方] 知乎上的评价, 如何评价阿里无线前端发布的Weex? - 知乎:阿里还是在努力避免成为 Kissy 那样的悲剧,并且已经是 Apache 基金会项目了。

基础安装

1
2
3
4
5
6
7
8
9
10
11
12
### 利用 Homebrew 安装 node ###
$ brew install node
### 查看 node 及 npm 是否能正常工作 ###
$ node -v
$ npm -v
### 国内墙的原因,建议用淘宝的 cnpm(https://npm.taobao.org/) ###
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
### 以后可以直接用 cnpm 替代 npm 使用 ###
$ cnpm i [package-name]

### 安装 weex-toolkit(https://weex.apache.org/cn/guide/tools/toolkit.html), 已经集成了 weexpack ###
$ cnpm install -g weex-toolkit

iOS 平台

  • 安装 Xcode(AppStore),并且运行一次,使 Xcode 自动安装开发者工具和确认使用协议
  • 安装 Xcode 项目的类库管理工具 CocoaPods
    • 由于墙,建议首先将 gem source 切换回 ruby-china 的:gem sources --add http://gems.ruby-china.org/ --remove https://rubygems.org/
    • 安装 CocoaPods: sudo gem install cocoapods

Android 平台

  • 安装 Android SDK:直接安装 Android Studio,通过 Android Studio 只能安装 SDK
  • 配置 SDK 环境变量
    1
    2
    3
    4
    5
    6
     $ vim ~/.bash_profile
    ### 文件中添加如下两行
    export ANDROID_HOME=/xxx/Library/Android/sdk
    export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools
    ### 使配置生效
    $ source ~/.bash_profile
  • 可能会遇到的问题
    • 如果之前有安装过 android sdk,建议卸载,保证 adb 等版本的统一(我的系统之前就用 brew 安装过,卸载 brew uninstall --force android-platform-tools
    • 创建项目后,建议直接用 USB 连接真机调试
      • 用模拟器遇到了各种莫名奇妙的问题
      • 真机需要开启 开发者权限。
      • 可以用 adb devices 查看设备是否连接成功到 PC

创建项目

1
2
3
4
5
6
7
8
9
10
11
12
13
### 利用 weex-toolkit ###
$ weex create hello-weex
### 安装依赖 ###
$ cd hello-weex && cnpm i

### 添加 iOS 模板
$ weex add ios

### 添加 Android 模板
$ weex platform add android

### 添加 iOS 模板
$ weex platform add ios

运行

  • 运行 Android:weex run android ,会自动编译安装到真机
  • 运行 iOS:weex run ios,会自动启动模拟机,并且编译安装到模拟机
    • 可能遇到的错误:导入 WeexATSDK.h 错误,解决方案:修改 platforms/ios/Podfile 文件中的 pod 'weex-ATSDK', '0.0.1'pod 'ATSDK', '0.0.1'

Enjoy!

第一个 weex 项目就是这么简单的跑起来。
本文的 weex 项目代码已经托管到 github
目前正在基于 一个开放的 API 服务写一个跨平台应用,后续会继续分享。


Comments: