介紹
雲函式是一項 Serverless 計算服務,提供 FaaS(Function as a Service)能力,可以幫助開發者大幅簡化應用開發與運維相關事務,降低應用功能的實現門檻,快速構建業務能力。下面將介紹如何在 Flutter 框架下整合雲函式。
整合步驟
1. 安裝 flutter 環境
a) 下載 Flutter sdk 包,地址:https://flutter.dev/docs/get-started/install/windows
將壓縮包解壓到任意資料夾
b) 將 flutter 命令檔案新增到環境變數中
c) 在 Android Studio 中下載 Flutter 和 Dart 外掛
2. 開通服務&建立工程
a) 在 AGC 建立 Android 應用並開通雲函式
b) 在雲函式中建立我們需要的函式,具體步驟可以參考官方文件:
c) 函式建立完成後我們需要建立觸發器,端側觸發我們需要建立 HTTP 觸發器,具體操作方法請參考官方文件:
d) 在 Android Studio 中新建 Flutter 工程
e) 將 agconnect-services.json 檔案放入 Android/app 目錄下
f) 配置 Maven 倉地址和 AGC 外掛地址。
- 開啟 Flutter 專案 android 資料夾下的 build.gradle 檔案。
- 在 allprojects -> repositories 裡面配置 maven 倉地址。
- 在 buildscript ->repositories 中配置 maven 倉地址。
- 在 buildscript ->dependencies 中配置 AppGallery Connect 外掛地址。
3. 新增編譯依賴和 AGC 外掛地址。
a) 開啟 Flutter 專案 android/app 資料夾下的 build.gradle 檔案。
b) 在檔案中新增如下配置。
4. 整合 SDK
在 pubspec.yaml 檔案中新增遠端配置的 pub 依賴
然後點選 Pub get 進行同步
5. 基本功能
雲函式的功能其實很簡單,在我們在端側所需要做的就是呼叫雲端的函式,但是呼叫氛圍一下幾個步驟
a) 我們需要建立一個 FunctionCallable 示例,將我們建立觸發器時的觸發器標識傳入
FunctionCallable functionCallable = FunctionCallable("test-\$latest");
b) 函式的入參我們需要通過 map 的格式來傳入
Map<String, dynamic> parameters = <String, dynamic> {
'year': _functionTextController.text
};
c) 最後我們通過 call 方法將入參傳入後呼叫雲端函式
FunctionResult functionResult = await functionCallable.call(parameters);
通過 FunctionResult,我們就可以獲取到函式的返回。
總結
華為 AGC 雲函式支援將一些比較複雜或者同樣的計算過程在雲上部署,客戶端通過 SDK 的呼叫便可得到您想要的計算結果,為開發者節省了大量和開發成本和便利。