快应用开发的踩坑之旅

前言

尝试一款新的开发框架的时候势必会遇见各种各样的问题。可能因为一开始不熟悉文档,导致配置错误,或是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组件

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

总结

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

原文地址:https://segmentfault.com/a/1190000016823184

原文地址:https://www.cnblogs.com/lalalagq/p/9901533.html

时间: 2024-10-10 17:58:35

快应用开发的踩坑之旅的相关文章

一次痛苦又甜蜜的微信支付踩坑之旅

凡是和钱打交道的事,没有一样是容易的.这是我第一次接触微信支付,发现网上还是有很多同学在求助,XXX了怎么办?XXX是什么情况?为了帮助更多的小伙伴脱离"苦海",我决定写下这次的踩坑之旅,给更多的人帮助. 介绍 微信支付方式分为刷卡支付.公众号支付.扫码支付.APP支付.H5支付.小程序支付. 先从应用场景来各自说一说,这样,能够最快的判断出应该选择哪一种支付. 刷卡支付:使用扫描设备(扫描枪)多见于超市.便利店使用 公众号支付:嵌入公众号的H5页面 扫码支付:用户打开"微信

Zabbix 踩坑之旅——zabbix触发重启tomcat

一.实验需求 公司tomcat服务经常自动崩溃,导致业务中断,暂时用zabbix对其执行监控,在tomcat崩溃时能够先自动启动,保证业务尽快恢复正常. 二.准备环境 系统环境:CentOS 6.5 IP地址: zabbix-server: 192.168.239.128 zabbix-agent: 192.168.239.130 zabbix的服务端和客户端的安装此处都以rpm包安装,配置略过.agent端上安装好tomcat. 三.开启踩坑之旅--agent端 ① 修改zabbix-agen

vue+ vue-router + webpack 踩坑之旅

说是踩坑之旅 其实是最近在思考一些问题 然后想实现方案的时候,就慢慢的查到这些方案   老司机可以忽略下面的内容了 1)起因  考虑到数据分离的问题  因为server是express搭的   自然少不了res.render("xx",data)    这句话的意思就是去查找相应的模板文件然后在用数据去渲染在将渲染好的页面去返回给浏览器,给浏览器去解析,渲染模板其实就是做的替换字符串+拼接字符串的活  各种的模板引擎也有各个优化的点(比如可以将对应的模板编译的函数保存在内存中,然后在通

小程序踩坑之旅

小程序踩坑之旅 —— 分包 小程序踩坑之旅 —— 分享 小程序踩坑之旅 —— 页面路由 小程序踩坑之旅 —— canvas 原文地址:https://www.cnblogs.com/xxhuan/p/11334792.html

微信小程序开发问题踩坑整理,web-view、openID、小程序支付等汇总

微信小程序开发过程中遇到的问题踩坑整理,内容包括web-view.openID.小程序支付.网络请求等等一系列问题汇总,希望对大家能有一定帮助和启发. 内容如下: 关于小程序web-view bindmessage 真机不触发的问题 小程序iOS访问服务器访问不上,但android没有问题 关于ssl证书加密后小程序访问出错问题 微信拨打电话数据调用问题,如何一键拨号 后台php调用微信小程序接口获取openid,返回的是null 小程序图片显示问题,开发者工具显示,手机预览不显示 微信小程序支

Python 踩坑之旅进程篇其四一次性踩透 uid euid suid gid egid sgid的坑坑洼洼

目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 技术关键字 1.5 坑后思考 下期坑位预告 代码示例支持 平台: Centos 6.3 Python: 2.7.14 代码示例: 菜单 - Python踩坑指南代码示例 1.1 踩坑案例 小明是个服务器管理员, 他从老管理员手里接手了一个非常繁琐的运维工作: 短暂授权root 账号给不同的 team 接口人运行备份任务 该运维任务有几个特点: 任务需且仅需运行在 root 下 root 账号只能短暂授权给各个小组 通过账号管理平

Python踩坑之旅其一杀不死的Shell子进程

1.1 踩坑案例 踩坑的程序是个常驻的Agent类管理进程, 包括但不限于如下类型的任务在执行: a. 多线程的网络通信包处理 和控制Master节点交互 有固定Listen端口 b. 定期作业任务, 通过subprocess.Pipe执行shell命令 c. etc 发现坑的过程很有意思: a.重启Agent发现Port被占用了 => 立刻想到可能进程没被杀死, 是不是停止脚本出问题 => 排除发现不是, Agent进程确实死亡了 => 通过 netstat -tanop|grep p

百度地图sdk踩坑之旅

1.写在前面 项目中需要加上路线规划,导航,添加覆盖物,因为我最开始项目中定位我使用的是百度定位,所以为了省事,接着使用百度地图sdk实现这些.这两天踩了很多百度地图的坑,记下来.因为一些原因,后面会说,需求还没做完,所以效果图很简单,如下. 2.坑1,环境配置 对于百度地图sdk的配置我是无语.因为一开始项目中并没打算使用百度地图其他功能,只是准备定位.所以我下载sdk时只是下载了定位的sdk,如图 现在需要加上地图和导航的sdk(后面才知道导航并不需要下载专门的导航sdk,因为地图sdk可以

Haskell之Yesod开发–边踩坑边开发(2)

今天继续上一节的开发 今天我们需要具体的开发一个图书馆网站,分为以下几个页面 / HomeR GET 主页 /login LoginR GET 用户登录页面 /library LibraryR GET 图书馆介绍页面 /booklist BookListR GET 图书列表页面 /book/#Integer BookR GET 具体图书页面 /user/#Integer UserR GET 具体用户页面 首先我们简单完成HomeR和LibraryR的页面(具体代码省略,大家自己完成). 如果要做