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。
TAG:APICloud |