快应用从开发到上线

本贴最后更新于 2180 天前,其中的信息可能已经事过景迁

背景

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

新手篇

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

初始化

  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

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3453 回帖 • 203 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 1 关注

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...