🎶 Sym - 一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)平台

📕 思源笔记 - 一款桌面端笔记应用,支持 Windows、Mac 和 Linux

🎸 Solo - B3log 分布式社区的博客端节点,欢迎加入下一代社区网络

♏ Vditor - 一款浏览器端的 Markdown 编辑器

快应用从开发到上线

背景

通过 几篇文章 逐步了解了快应用。一开始没太在意,但听的多了,看的多了,用的多了,就觉得还不错。大家都可以尝试一下,相信会有不错的收获。

新手篇

上手超级容易的,只是偶尔写着写着就遇到一些小坑,加上新生态,所以难免要自己多折腾下。

初始化

  1. 建项目
hap init <ProjectName>
cd ProjectName
npm install
npm run server
npm run watch
  1. 安装 快应用调试器 后扫描 npm run server 在控制台输出的二维码,点击开始调试。

  2. 修改任意文件点击保存,手机和 PC 端的调试器将会进行同步更新。

开发

  • 目录结构
    一开始根据自己的经验建立了目录,然后又都删了,规规矩矩的按照文档来。虽然我不太喜欢把页面平铺到和工具、资源等同级目录,但按照文档来其实是在方便自己:使用默认配置,减少出错几率,加大开发速度。
    以下是我的目录结构,可供参考:
├─ sign                      rpk包签名模块
├─ src
│   ├─ Common               公用的资源和组件文件
│   │   ├─ componentA       组建 A
│   │   ├─ img              图片
│   │   └─ less             样式
│   ├─ Demo                  页面目录
│   │   └─ index.ux         页面文件,可自定义页面名称
│   ├─ util                  存放请求、验证等通用方法
│   ├─ app.ux                APP文件,可引入公共脚本,暴露公共数据和方法等
│   └─ manifest.json         项目配置文件,配置应用图标、页面路由等
└─ package.json              定义项目需要的各种模块及配置信息
  • 添加 less 支持 npm install -D less && npm install -D less-loader
  • 配置可参见 官方文档。主要是 router 和 features, versionCode 记得每次发布递增就好
  • 顺着看一下官方文档目录
  • 尽情的书写代码吧

打包

  • 生成签名
openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem
  • 在工程的 sign 目录下创建 release 目录,将私钥文件 private.pem 和证书文件 certificate.pem 拷贝进去
  • npm run release
  • dist/com.liandi.chainbook_release_5_20181130033054.rpk 就是你的发布包了

避坑指南

  • 组建中 public 数据无法获取,只能使用官方不建议使用的 data
  • 目录结构不要自己折腾了,否则 router 配置比较麻烦
  • 父组建的 style 子组建无法使用,需要提取公用的再 import
  • 三元表达式换行,{{}} 无法进行计算,将会直接显示 {{...}},需要使用 private 计算后再渲染
  • A 页面跳转到 B 页面且 B 页面中没有子组建时,在 onInit 中,使用 fetch,vmInst.$visible 会为 false,导致 fetch 中使用了推荐的 bindPage 后,回调无法继续执行。因此需要在 onShow 中使用
  • A 页面跳转到 B 页面且 B 页面中有子组建,且子组建需要进行 fetch 时:B 页面中需使用 onShow
  • B 页面是初始化页面且 B 页面中有子组建,且子组建需要进行 fetch 时:B 页面中需使用 onInit

上线篇

不已上线为目的的开发都是耍流氓

步骤

  • 厂商帐号绑定 页面逐一绑定
  • 绑定过程中记得要到各产商开发者平台上认证公司账号
  • 努比亚和魅族的开发者平台提示需要购买授权码才可以注册,这时候不要急着购买,先绑定账号,然后他会在厂商帐号绑定页面把授权码发给你
  • 等各产商都认证授权后就可以开始上架你的应用

挫折

  • 第一次上架感觉审核的不太严,后面的是换人了还是怎么了,好严。但基本都是由于快应用本身的 bug 拒绝我更新我的应用。感觉好冤 😢
  • bug 1:第三方 QQ 注册,提示一键登录 QQ 需将 QQ 升级至最新版本,但 QQ 已为最新版本。让我暂时关闭 QQ 注册
  • bug 2:使用 webview 时页面顶部文字被遮挡。说下一个版本产商会解决
  • bug 3:华为扫码错误。直接拒绝,没有反馈,公司大就不鸟人么。
  • 仅华为一家需要软著,不然不给上架。然后给了我一个链接,说 600 元一个月就可以申请下来了。所以我非常被动的放弃了华为。

统计

  • 虽然各大平台有统计,且快应用也有提供 API 接口,但为了方便和省事,选择了接入 轻粒子
  • 吐槽下轻粒子,网站居然不是 https,统计为毛要每个页面都折腾一下。但还是祝愿你越走越好

总结

虽然存在很多问题,并且需要很多手机厂商的大力支持。但整个事情还是很有意义的,用户体验也不错,希望能越做越好。

最后秀一下自己的工作成果:《链书》
imagepng


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步