Taro 转快应用的那些事(一)
beezen
beezen
2020.06.23

Taro 转快应用的那些事(一)

前言

快应用是什么? Taro是什么?

如果对快应用和 Taro 都已进行过了解的话,那么我们就直接进入主题“如何用 Taro 转快应用?”。首先必须明确我们的目标,并不是仅仅为了用 Taro 语法写快应用,而是“用 Taro 语法解决多端程序开发”,简单的说就是用我们熟悉的 Taro 语法(React 语法),然后通过编译打包成多种不同的语言,如微信/京东/百度/支付宝/字节跳动小程序、快应用、H5、RN 等。从而实现书写一套代码,多端运行的理想。(Write once, run anywhere)

内容大纲

  1. 基于 Taro 框架的快应用架构。
  2. 如何启动项目?
  3. 如何开发项目?
  4. 如何调试项目?
  5. 如何交付项目?

一、基于 Taro 框架的快应用架构

1.项目目录结构基本如下,src 下的内容根据团队标准自定义。

.
├── config # taro 构建配置文件
├── dist
│   └── quickapp # 编译后的代码
├── scripts # 自定义的脚本命令
├── sign # 快应用项目签名证书
│   ├── debug
│   └── release
└── src # 源文件目录
    ├── apis
    ├── assets
    ├── components
    ├── models
    ├── packages # 分包模块
    ├── pages
    ├── services
    ├── store
    └── utils

2.由项目目录结构可知,开发模式为分包模式开发。

如何保障各子模块能够单独运行,以及主工程能够稳定集成呢?

1.首先统一了项目开发脚手架,减少了各个项目间沟通问题。
2.每一个项目都可自认为是主工程,启动项目时会将其他项目以分包模式,下载到 src/packages/ 目录下,保障子工程能够单独开发,不缺失任何功能。
3.基础工具类都由主工程输出,减少代码冗余,保证了各个子工程内容简单,从而提升集成项目的稳定性。

(具体如何实现以上功能,在下一章中会详细介绍)

3.有哪些工具来支持整个架构?

二、如何启动项目?

输入的命令为三类较为合适。1.清理环境,重头启动服务 2.直接启动服务 3.构建生产包

(当然很多人往往会想要有更多的功能命令,但建议对开发人员只输出简单的命令,而那些复杂的功能命令,由发布平台根据参数自动生成,无需暴露)

yarn start:qa # 删除缓存,初始化分包等内容,启动快应用服务

yarn dev:qa # 直接启动快应用服务

yarn build:qa # 构建快应用

三、如何开发项目?

简单可概括为,在 src/ 根目录 app.quickapp.js 配置页面路由,页面模块写在 pages/ 中,组件写在 components/ 中,具体代码语法这里不做介绍。(可参考:Taro 开发文档)当然如何在 Taro 中,调用快应用原生组件,以及 Taro 语法和原生语法混合写,以及一些高阶写法,会在后续的文章中详细介绍。

四、如何调试项目?

目前方案有三种(Taro 编译后):

1.chrome 上直接输入 http://localhost:12306 调试

极其方便和快捷,能够非常高效的热更新,快速完成 UI 样式的调试,但也因为是 web 模拟,绝大多数原生 API 功能无法模拟,建议调整完 UI 后更换

2.在快应用 IDE 中可以直接调试

比较方便和快捷,基本上所有功能都和真机相同,但偶尔会卡死,或者点不动,或者部分问题无法在模拟器上测试出来,建议在最后验收阶段还是更换

3.手机上安装调试器(快应用调试器和快应用加载器)

方便?快捷? 因为华为采用了不同的技术,所以手机上我们需要安装两个调试器,快应用调试器是针对非华为的机型,快应用加载器是针对华为的机型。调试器提供了两种方式,第一种扫码安装对应的快应用包,IDE上能够生成二维码或者 chrome 调试界面上也有对应的二维码;第二种本地安装对应的快应用包,也就是要把编译后生成的快应用包,先上传到手机端,然后手机从存储中寻找并安装。(可以1.通过手机连线电脑快速传送或者2.网站工具无线传送 [爱莫助手](http://web.airmore.cn/)
调试器还提供了在线调试功能,扫码安装连线电脑socket服务后,点击开始调试按钮,会自动在电脑端打开调试面板

(注:扫码安装或者开始调试手机上无法自动打开,可能是因为没有给调试器存储的权限)

五、如何交付项目?

正式交付项目之前,我们需要通过测试,快应用调试器 1040-1070 版本都要兼容测试,华为的快应用加载器也需要通过兼容测试。

同时我们采取的是分包加载模式,在构建成功后会生成两个文件 rpkrpks,我们要上传市场的就是 rpks 包(他会采用分包加载的功能)。

最后

总结一下,在初次接触 Taro 的时候,你会觉得还可以,初次接触快应用的时候,可能感觉也还可以。但是当你打算采用 Taro 转快应用语法的时候,你可能会发现寸步难行,不过我们不能一味的只是吐槽,我们大可以思考为什么这些问题还没有被社区解决,为什么原作者会这么设计,以及我是否可以帮助社区做更好的改善。

最后说明一下,本章为基础内容,主要为初次接触的童鞋们铺路,更多高阶的内容会在下一章内容中展开。

分享至微信朋友圈
新浪微博
QQ
相关推荐