探一探快应用的虚实

勿忘初心2018-10-10 16:40

本文来自网易云社区,转载务必请注明出处。


快应用号称是要替代微信小程序的,我们来看看,他到底是个什么东西呢?

什么是快应用

根据官方的说法,快应用是基于手机硬件平台的新型应用形态,标准是由主流手机厂商(小米、华为、中兴、金立、联想、魅族、努比亚、OPPO、vivo)组成的快应用联盟联合制定的;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台,并且是以平台化的生态模式对个人开发者和企业开发者全品类开放。

快应用的特点

快应用的特点是使用前端相关技术栈,但是使用体验是不亚于App原生的。官方宣传图如下:

快应用性能优势

官方强调,快应用的开发方式是与H5开发一致,但是性能上是要比H5要好,仅次于App原生的。

那既然快应用那么优秀,我们开始撸码吧!

快应用的开发

搭建环境

  • 快应用官方提供了一个开发者工具,安装时需要安装 Node.js (>= 6.0)或者yarn。

npm i hap-toolkit -g// 检测是否安装成功hap -V
  • 手机安装「快应用」调试器 ── 一个 Android 应用程序,它可以连接到手机系统内的快应用执行环境,包含扫码安装、本地安装、在线更新、开始调试、等功能;

扫码安装:配置 HTTP 服务器地址,下载 rpk 包,并唤起平台运行 rpk 包;
本地安装:选择手机文件系统中的 rpk 包,并唤起平台运行 rpk 包;
在线更新:重新发送 HTTP 请求,更新 rpk 包,并唤起平台运行 rpk 包;
开始调试:唤起平台运行 rpk 包,并启动远程调试工具;

备注:当您的手机系统尚未内置快应用运行平台,或您想在开发过程中体验快应用尚未正式发布的新功能、新特性,您可以安装快应用预览版,这是一个包含了快应用基础功能的 Android 应用程序。下载安装成功后,通过快应用调试器可以选择在快应用预览版运行 rpk包,开发测试对应平台的 api 和功能。更详细的叙述,请参见 快应用开发文档 | 环境搭建 。

  • 开发IDE 如果是VS Code,可在扩展商店安装Hap Extension,会有代码高亮和代码提示。

    效果如下:
    代码高亮:

    代码提示:

其他编辑器设置可参考:快应用开发文档 - 代码编辑配置

快应用示例

在安装 Toolkit 工具后,可通过全局 hap 命令创建一个项目模板,如下所示:

// 首先创建一个demo项目hap init quickapp-demo// 进入demo项目cd quickapp-demo// 对项目进行临时编译npm run build// 进行项目预览npm run server

预览后控制台显示如下:

快应用真机显示:

demo项目的目录如下:

├── sign                # 存储 rpk 包签名模块;│   ├── debug           # 调试环境证书/私钥文件│   └── release         # 正式环境证书/私钥文件└── src
│   ├── assets          # 公用的资源(Images/Styles/字体...)│   │   ├──images       # 存储 png/jpg/svg 等公共图片资源│   │   └──styles       # 存放 less/css/sass 等公共样式资源│   ├── helper          # 项目自定义辅助各类工具│   │   ├──apis         # 存储与后台请求接口相关(已封装好)│   │   ├──ajax.js      # 对系统提供的 fetch api 进行链式封装│   │   └──util.js      # 存放项目所需公共工具类方法│   ├── pages           # 统一存放项目页面级代码│   ├── app.ux          # 应用程序代码的人口文件│   └── manifest.json   # 配置应用基本信息└── package.json        # 定义项目需要的各种模块及配置信息

快应用框架

  • 首先介绍下生命周期:

    • 页面生命周期 onInitonReadyonShowonHideonDestroyonBackPressonMenuPress

    • App的生命周期 onCreateonDestroy

熟悉小程序开发的话,这里也没什么难点。

大家可以看一下代码:

页面、组件的开发跟Vue开发没多大差别。

其他Api接口可参照: https://doc.quickapp.cn/features/

PS: 我个人觉得,官方的开发文档是非常通俗易懂的,只要对照着官方文档进行开发,是没多大问题的。

快应用 VS 小程序

既然是对标小程序的新形态,那必然要做一下比较,因为尚未走完整个流程,所以仅从初期开发体验上来做一下分析比较:

  • 开发环境:快应用需要自行安装配置一系列环境及调试工具,而小程序只需一个开发者工具即可,这一点小程序胜。

  • 开发体验:快应用的语法和vue1很像,而小程序有着自己一套语法规范,相对来讲,快应用会更容易上手。

  • 程序包大小:小程序4M,快应用1M,这一点确实有点局限,但小程序也是从1M变成4M的。

  • 能力:小程序和快应用在安卓端都可以添加快捷方式到桌面,但不同的是,快应用属于系统级应用,与微信同级,能调用更多系统级API,体验上会更优于小程序,这一点是后者所不能比的。

  • 其他:小程序上架发布流程较为简单,快应用需要逐家关联开发者权限,这方面有点捉急……不过对于企业账号已有的安卓渠道来说,也没什么门槛。


开发技术 渲染方式 硬件资源扶持 系统级能力 桌面留存
小程序 前端技术栈 webview渲染
快应用 前端技术栈 native渲染

总结

快应用在微信小程序推出并推广一年后才出来,说白了,就是为了避免小程序一家独大,至少在桌面级别应用争取了一些流量入口。但是,这种桌面级别的应用入口只是在安卓下有效,iOS上是无法享受到这种级别待遇的。综合来看,快应用和小程序二者不分伯仲,开发和维护成本都不高,都在努力争取流量入口。对开发者来讲,又多了一项技能,对企业来说,更多了一份可能。

百家争鸣,百花齐放,也是一件不错的事情...

参考

  1. 快应用开发文档: https://doc.quickapp.cn/

  2. 快应用之开发体验纪要: https://jeffjade.com/2018/08/31/143-develop-quick-app-experience-notes/

  3. 10 大手机厂商联手狙击微信小程序!现在这些「快应用」怎么样了? https://mp.weixin.qq.com/s/ptPUla24WP_05NP-cy45VA



本文来自网易云社区 ,经作者余伯贤授权发布。

网易云免费体验馆,0成本体验20+款云产品!

更多网易研发、产品、运营经验分享请访问网易云社区


相关文章:
【推荐】 如何准确又通俗易懂地解释大数据及其应用价值?
【推荐】 Question | 关于Android安全的一二事