大约两年前,为了写一本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程序之前,需要先搭建好相关的开发环境,为了同时开发Android和iOS跨平台应用,还需要准备一台Mac电脑,然后安装一些必要的软件,比如Homebrew、Node、weex-toolkit、weexpack以及原生Android和iOS环境。
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目录不可写的权限问题,需要以管理员权限运行。
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 项目的创建,调试以及打包等功能,安装weex-toolkit的命令如下所示。
npm install weex-toolkit -g
weexpack 是新一代的weex应用工程和插件工程开发套件,是基于weex快速搭建应用原型的利器。可以创建weex应用工程和插件工程,快速打包 weex 应用并安装到手机运行,还可以创建weex插件模版并发布插件到weex应用市场, 使用weexpack 能够方便的在在weex工程和native工程中安装插件,安装weexpack的命令如下。
npm install weexpack -g
完成上面的软件安装后,接下来就可以使用 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
进入刚刚创建的文件夹,并且安装依赖,然后执行 npm start命令。
cd awesome-app
npm install
npm start
然后工具会启动一个本地的 web 服务,监听 8081 端口。然后打开 http://localhost:8081 查看页面在 Web 下的渲染效果。
当然,也可以使用Playground App扫码页面二维码查看效果,不管需要说明的是,扫码二维码的手机需要在同一个局域网。
默认情况下 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-toolkit 还提供了强大的调试功能,只需要执行如下命令即可。
eex debug
这条命令会启动一个调试服务,并且在 Chrome (目前只支持基于 V8 引擎的桌面浏览器) 中打开调试页面。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。