快应用开发的踩坑之旅

前言

尝试一款新的开发框架的时候势必会遇见各种各样的问题。可能因为一开始不熟悉文档,导致配置错误,或是api使用错误。当然开发的时候我们也不能确认框架没有问题,是否存在bug。所以在某些出错的情况下,我们也许会不断怀疑自己,怀疑框架,最终怀疑人生。这时候就需要开发者们发挥无私的精神,积极讨论,记录并贡献自己的填坑秘笈,供大家讨论参考。所以在这里我就先记录自己收集及遇见的坑,希望起到抛砖引玉的作用。大家有不同的问题的可以一起讨论,方便后来的开发者。

容易出错的地方

1.更新 rpk 的时候出现版本号必须高于上一个版本的错误提示

出现这个问题是因为快应用官方以配置 manifest.json 的属性versionCode的值来确认版本更新,官方要求每次上架更新需要将该值手动 自增1。很多同学会误以为修改 versionName 来更新版本,versionName 应该是属于那种显示在应用商店

2.使用list组件造成应用闪退

根据文档说明,list 组件下面的 list-item 是可以配置type属性来优化渲染的,但是具有相同 type 属性的list-itemdom结构必须一致,如果不一致就会出现闪退情况,但是看不到任何错误说明,让人找不到错误原因,非常头疼。所以应该尽量不在里面使用iffor指令,否则会很容易出现 dom 结构不一致造成应用闪退。

3.在protected public private里定义的属性,在 template 中无法获取

在快应用中具有多种定义数据的形式,分别可以定义在 protected public private data 里面,但是有一个很容易被大家忽视的细节,就是在官方文档中说明了 protected public private 只能在页面级组件中才能使用,所以在自定义组件,非页面级组件中是无法使用的,自然也就在 template 中取不到数据了。

4.上传 rpk 的时候,出现应用签名校验失败

平常我们开发及测试的时候使用的是 npm run build 命令进行打包调试,其中运行时会使用 sign 下面的 debug 的签名及证书来打包 rpk。当我们开发完成准备上传时,需要进行以下步骤:

  1. 生成发布的证书和签名:运行 openssl req -newkey rsa:2048 -nodes -keyout private.pem -x509 -days 3650 -out certificate.pem
  2. 在 sign 目录下新建release文件夹,将生成的 certificate.pem 和 private.pem 放入其中
  3. 运行npm run release生成以.signed.rpk结尾的 rpk 用以发布

官方IDE已经支持一键调试,一键生成签名等功能,觉得以上步骤麻烦的同学可以去体验体验,下载链接 https://www.quickapp.cn/docCe…

目前不支持的地方

  1. background目前不支持网络图片,所以要使用网络图片时应该考虑用image组件来替代
  2. 无法将canvas组件转化为图片保存在本地
  3. swiper不支持控制方向,只支持横向滚动
  4. css 不支持overflow样式,无法设置超出滚动或显示。组件内滑动只能使用list组件

但是据相关的开发同学告知,这些功能已经正在开发及完善,不久就会支持了。

总结

相对来说,作为一个新推出的新型应用生态,快应用还是有许多不足需要去完善。但是其无需安装,多入口快速打开是具备一定优势的。在可预见的未来,会有越来越多的企业及开发者加入其中。本文希望通过记录自己在开发过程中遇见的问题及解决方案来进行总结,方便后来者查阅。

    原文作者:vivo技术弟
    原文地址: https://segmentfault.com/a/1190000016823184
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞