目录

开发PC快应用

准入条件

在进行快应用开发前,请先完成如下准备工作:

创建项目

当前PC快应用暂时仅支持运行在Windows系统,请下载Windows版本的IDE,在Windows系统的PC上进行开发。

  1. 打开华为快应用IDE,在欢迎页选择“新建项目 > 快应用”,选择“PC(beta)”,点击“下一步”。

  2. 根据待开发快应用的内容,选择合适的模板,点击“下一步”。
    • Hello world:生成PC快应用项目最基础的项目结构。
    • 横屏示例:生成适用于横屏的PC快应用项目最基础的项目结构。

  3. 填写项目信息后,点击“确定”。
    • 应用名称:应用名称,用于在桌面图标、应用市场等处显示。例如:QuickAppDemo。
    • 应用包名:发布的快应用为以.rpk为后缀的文件,此处即定义发布后的包名。推荐采用com.company.module的格式,例如:com.huawei.quickappdemo。
    • 工作空间:项目工程存储路径。

编辑代码

  1. 配置manifest.json文件中 minPlatformVersion 为1078。
  2. 在左侧工程目录选择相应的工程文件,参考“支持规范差异性说明”进行快应用基础功能的开发。
  3. 除了基础功能的开发,您还可以根据需要实现更多功能。
    • 应用包体积较大,进行分包,以便减少应用首次启动加载的时间,请参见“分包加载”。
    • 通过调用华为提供的厂商接口,集成账号服务,请参见“接入账号服务”。

运行调试

  1. 菜单选择“工具 > 生成证书”。
    • 没有签名文件:右下角弹出创建签名文件提示,点击“创建签名”,输入相关信息后,点击“创建”,或者点击“导入签名”,导入已有的签名文件。

    • 已存在签名文件:弹出签名信息,点击“OK”。
  2. 选择需要编译调试的文件,点击“运行”。

  3. 在弹出的窗口可以查看编译后的效果。

打包正式版本

确保开发的快应用功能没有问题,即可使用华为快应用IDE打包发布成rpk包,提交华为应用市场进行上架审核,详细打包过程参见“打包快应用”。

支持规范差异性说明

完整的快应用规范包括:

PC快应用支持规范存在一些如下差异,开发过程中请重点关注。

[h2]框架

【manifest文件】

PC单独支持resizable属性。

属性

类型

默认值

是否必填

描述

resizable

boolean

false

否

是否支持放大缩小。

display配置项下,PC不支持如下属性:

menuBarData配置项下,PC不支持menuBarStyle属性。

【多语言支持】

PC暂不支持多语言的配置。

【后台运行】

PC暂不支持将快应用切换至后台运行。

[h2]组件

PC暂不支持或部分支持以下组件的使用。

组件

说明

canvas

不支持。

camera

不支持。

input

不支持enterkeytype属性。

list

不支持layout-type样式。

map

  • 不支持添加线条的背景。
  • polygons不支持fillColor属性。
  • includePoints不支持padding属性。
  • 不支持poitap事件。
  • 不支持moveToMyLocation方法。

rating

不支持如下样式:

  • star-background
  • star-foreground
  • star-secondary

refresh

type属性支持auto和pulldown两种选项:

  • auto:默认效果,界面到顶触发下拉刷新时界面不移动。
  • pulldown:界面到顶触发下拉刷新时,界面可以继续下拉一段距离,有回弹效果。

    不支持indicator属性。

web

PC快应用每个页面只能包含一个Web组件,并且不允许其他组件内容遮挡Web组件。

不支持如下属性:

  • trustedurl
  • allowthirdpartycookies
  • showloadingdialog
  • algorithmsforlayout
  • wideviewport
  • overviewmodeinload
  • multiwindow
  • jumppolicy
  • openinbrowserurl
  • xrequestedwithpolicy
  • fullscreendirection
  • initialscale
  • renamejsinterface

[h2]API

PC暂不支持或部分支持以下API的使用。

类别

API

说明

基本功能

应用上下文

不支持app.getPackageInfo(OBJECT)。

页面路由

router.push(OBJECT)的uri参数支持如下格式:

包含的scheme是http的uri。

以"/"开头的应用内页面的路径;例:/about

以非"/"开头的应用内页面的名称;例:About

特殊的,如果uri的值是"/",则跳转到path为"/"的页,没有则跳转到首页

params的子参数不支持___PARAM_LAUNCH_NATIVE_FLAG___

后台运行

不支持。

界面交互

分享

不支持。

弹窗

  • prompt.showDialog(OBJECT)的buttons不支持使用rgb、rgba、hsl、hsla格式设置颜色。
  • prompt.showContextMenu(OBJECT)的itemColor不支持使用rgb、rgba、hsl、hsla格式设置颜色。
  • prompt.showLoading(OBJECT)的loadingColor不支持使用rgb、rgba、hsl、hsla格式设置颜色。

打开网页

webview.loadUrl(OBJECT)不支持allowthirdpartycookies参数。

通知消息

不支持。

网络访问

websocket

不支持。

上传任务

不支持。

下载任务

不支持。

请求任务

不支持。

文件数据

交换数据

不支持。

系统能力

震动

不支持。

二维码

不支持。

传感器

不支持。

地理位置

不支持。

日历事件

不支持。

网络状态

  • network.getType(OBJECT)在PC上获取的网络状态值为wifi,none。
  • network.getSimOperators(OBJECT)在PC上返回的size固定为0。

设备信息

PC不支持如下接口:

  • device.onFontScaleChange(OBJECT)
  • device.host(OBJECT)

device.getInfo(OBJECT)在PC上不返回emuiVer、windowLogicWidth、windowLogicHeight。返回的fontScale固定为0,characteristics固定为default。

device.getInfoSync(OBJECT)在PC上返回的fontScale固定为1。

屏幕亮度

不支持。

电量信息

不支持。

录音

不支持。

系统音量

不支持。

应用管理

不支持。

发送短信

不支持。

联系人

不支持。

Wifi

不支持。

蓝牙

不支持。

TTS

不支持。

应用配置

不支持。

闹钟

不支持。

MediaQuery

不支持。

车辆驾驶安全限制

不支持。

图形图像

多媒体

不支持。

图片

不支持。

画布

不支持。

视频

不支持。

安全

密码算法

  • cipher.rsa(OBJECT)的transformation参数PC只支持设置为“RSA/None/OAEPWithSHA256AndMGF1Padding”
  • cipher.aes(OBJECT)的transformation参数PC只支持设置为“AES/CBC/PKCS5Padding”

不支持cipher.getRandomValues(int)

华为服务

支付3.0

不支持。

推送

不支持。

AI

不支持。

广告

不支持。

地理围栏

不支持。

实时语音识别

不支持。

文本翻译

不支持。

语音合成

不支持。

第三方平台

微信支付

不支持。

支付宝支付

不支持。

第三方分享

不支持。

相关链接

[h2]FAQ

快应用IDE升级到11.4.1后,使用Node.js的核心模块时编译报错,如何处理?

[h2]案例

调用buffer接口报错,提示“Buffer is not defined”