APICloud 原生模块、H5 模块、多端组件使用教程
使用 APICloud 平台,可以使用前端技术快速开发 iOS、Android App、小程序、Web 等多端应用。在开发过程中,调用模块可以极大的提升开发效率。本文分为三个部分,告诉大家如何使用 APICloud 的原生模块、H5 模块以及多端组件,快速实现功能开发。
一、原生模块使用教程
原生模块是指使用 Android 和 iOS 原生开发语言封装的功能模块。封装好的模块可以使用 js 调用。
1、添加模块
进入 APICloud 控制台,找到模块库,搜索要使用的模块。
![](https://static001.geekbang.org/infoq/91/918b36f7536cc2feddc6c1ce984bc9bc.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
点击”+“进行添加
![](https://static001.geekbang.org/infoq/80/800d68334b0d8726061d45edb69b32ef.png)
2、编译自定义 loader ,并下载安装到手机
自定义 loader 是 Android 或 iOS 安装包,也是我们进行开发调试的运行环境。代码修改后,使用开发工具 Studio 3 的 wifi 同步功能,把代码同步到自定义 loader 中,可以查看修改代码的运行效果。 如下图,点击自定义 loader 导航, 点击【编译 android 自定义 loader】按钮或 【编译 iOS 自定义 loader】按钮,进行编译。编译完成后,使用手机扫描二维码,下载安装到手机。
![](https://static001.geekbang.org/infoq/41/41d2710986397d31529f5803c0d33f87.png)
3、根据模块文档,编写调用模块的代码。 使用模块前一定要仔细阅读模块文档,尤其是支持平台,是否 Android、iOS 都支持,不要写完代码才发现只支持某一平台,做无用功。某些模块封装第三方平台的 SDK, 如极光推送模块,在使用这类模块时,不仅要阅读模块文档,还要阅读极光官方的文档。
以 UIButton 模块为例:https://docs.apicloud.com/Client-API/UI-Layout/UIButton
打开编辑器,在页面编写代码,以调用 UIButton 模块的 open 接口为例:
![](https://static001.geekbang.org/infoq/af/afa9c0123dbc8c46b30f5d2f14162f4a.png)
如何使用 Studio 3 编辑器检出项目,新建项目,提交或更新代码,本文不做介绍,可参考以下 Studio 3 文档进行学习。
https://docs.apicloud.com/apicloud3/#/overview/devtools?index=0&subIndex=3
4、使用 Studio 3 wifi 同步功能,将代码同步到自定义 loader 查看代码运行效果。
如下图,点击真机同步快捷键 , 点击 【通过 wi-fi 连接新的设备】, 弹出二维码和 ip 地址、端口号。
![](https://static001.geekbang.org/infoq/7b/7b7da792905ba9361d069cd049dfa10f.png)
![](https://static001.geekbang.org/infoq/9e/9e264d9c071a820bdf7842a2d8635804.png)
打开手机上的自定义 loader,点击浅灰色圆圈,弹出如下界面,点击扫一扫,可以扫描上图的二维码,自动连接。或者手动输入 ip 地址和端口号,然后点连接。连接成功后,灰色圆圈变绿色。
![](https://static001.geekbang.org/infoq/cf/cfa27a06e77c9358961238d5b4c87925.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
在开发工具项目根目录上右键 - 选择 WiFi 同步全量 命令,就可以把代码同步到自定义 loader。( 注意手机上自定义 loader 要处于打开状态,不能退到后台。)
运行效果如下图:可以看到按钮模块的效果已经显示在页面上。
![](https://static001.geekbang.org/infoq/cd/cdb9093457adf1b02d8632b559188a85.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
其他注意事项:
(1)如果使用需要在 config.xml 中配置 appkey , 或 res 目录下需要配置文件。这两种情形,要配置代码后,先提交代码,再编译自定义 loader,这样这些配置项才能生效。
(2)open 接口的 fixedOn 参数指定模块所在页面的 name,如果传错误,会造成模块不显示。
二、H5 模块使用教程
H5 模块是指使用 HTML、CSS、JS 语言开发的模块。所以这类模块需要下载模块源码,在页面中引用。
![](https://static001.geekbang.org/infoq/03/0361c80b8226534129c36582e030e1c1.png)
![](https://static001.geekbang.org/infoq/1f/1fc5d6564d76a6a3644450bfdca20434.png)
将下载后的代码包解压:
![](https://static001.geekbang.org/infoq/13/13b65f6a07d025696da2eb5ef40feeb8.png)
将 libs 目录下的 base.js 复制到项目 script 目录下,并在页面中引入,如下图:
![](https://static001.geekbang.org/infoq/76/7610e58c426a91e38d496280b7236ac9.png)
wifi 同步后,运行效果如下:
![](https://static001.geekbang.org/infoq/5b/5b98d7b5426c611e09de087f34f894f4.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
三、多端组件使用教程
多端组件是指使用 avm.js 开发的组件,通常同时适配 Android、iOS、小程序、H5 , 具体支持情况还要看每个组件的说明文档。
![](https://static001.geekbang.org/infoq/45/453c466af21b86aaeb119c3d6a97a01f.png)
同样需要组件下载源码,复制到项目中,在页面引入依赖的组件。注意多端开发模式,使用的是 stml 页面,语法类似 vue 。在 openFrame 或 openWin 时 avm 参数传 true,可以打开 stml 页面。
![](https://static001.geekbang.org/infoq/9c/9cf32eca2908c243617719baf93ec3a9.png)
![](https://static001.geekbang.org/infoq/ea/eac676812a8c8571d7955fdbf4d0142c.png)
将 a-button.stml 页面复制到项目的 components 目录,因为 a-button.stml 又依赖 a-icon.stml index.js Toast.js , 所以将这些文件也放到 components 目录。通过阅读 readme.md 文档,可以查查看 a-button.stml 的使用介绍。如下图,通过在 view 标签中 添加 a-button 标签,在 script 标签中通过 import 语法引入组件。
![](https://static001.geekbang.org/infoq/17/17b1f706bec2dc265528c00a31bf5348.png)
WiFi 同步到自定义 loader 运行效果如下:
![](https://static001.geekbang.org/infoq/d8/d8a05ea08d417ee699e738c314096242.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
如果使用 ACT 组件,推荐从 Github 或 Gitee 下载。
Github 地址:https://github.com/apicloudcom/act
Gitee 地址 :https://gitee.com/apicloud/act
评论