经过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。
视频版教程:
领取专属 10元无门槛券
私享最新 技术干货