首页
学习
活动
专区
工具
TVP
发布

APICloud开发者进阶之路:APICloud扩展模块

经过4章的学习,不知道大家对APICloud平台了解的如何?如果中途有什么疑问可以来APICloud官方网站的讨论社区和我们工程师进行交流。

本期,我们继续与大家分享《30天,App开发从0到1》第五章第一节的内容:

APICloud 扩展模块

本章主要讲解APICloud中扩展模块的使用。在示例项目中,图片轮播、原生输入框、地址选择菜单等都是通过模块实现的。

学习目标

1.了解模块的基本概念。

2.了解如何自定义扩展模块。

3.学习使用UIScrollPicture、UIInput和UIActionSelector。

APICloud是以模块的形式进行API的组织和管理,基于APICloud模块扩展机制,APICloud 官方、第三方机构和社区开发者为了丰富UI和功能提供了大量的扩展模块。

开发者可根据自己的需要灵活选择相应模块,高度定制自己的app。

APICloud 端引擎架构

APICloud中许多功能是通过不同的模块提供的,如果现有模块不能满足开发者的需求,也可以将所需功能开发成新的模块并发布出来。

整个端引擎架构分为4层,最上层是app。

开发APICloud app 使用的是标准的HTML、CSS 和JavaScript。APICloud所有扩展的能力都是通过JavaScript的API来提供的。

API层包括4个主要的功能模块:

Framework是前端框架,如APICloud官方提供的api.js或其他移动端框架都属于Framework ;

Profile通常用于提供APICloud API到其他平台的接口转换(如微信或 PhoneGap) ;

Loader实现模块的加载,当调用api.require()方法时会使用Loader模块来加载指定模块;

Bridge负责API的桥接,当通过JavaScript调用模块的方法时Bridge模块会将调用桥接到引擎或模块的方法中。

引擎层包括12个主要模块:

Model是对APICloud数据云中的数据模型进行管理;Service是用于管理 APICloud提供的云端服务,如版本管理、云修复、闪屏广告等;Access就是实现上一章介绍过的应用沙箱和访问协议等;Module是用来管理模块的生命周期和方法调用。

Module层中包括各类封装好的模块,可以通过api.require() 来引入。

HTML解析器、CSS 解析器、JavaScript 引擎是负责HTML5代码的解析和渲染;Hybrid Render则是APICloud核心的混合渲染模块。

OS 层是操作系统接口。

APICloud 模块调用过程

在app中调用模块首先需要运行api.require()。

引擎收到require命令后会去初始化模块。通过JavaScript调用模块方法时引擎会桥接到模块上的对应方法。

APICloud模块中的大部分方法都是异步的,需要在调用时传入回调函数。

当模块有数据返回的时候,就会通过notify的形式来通知引擎,并将模块处理完的数据交给引擎,然后引擎找到调用这个方法时所传递过来的callback函数,再通过调用callback的方式,将数据返回给app。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180721A0J47300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券