華為端云一體化開發 (起步1.0)(HarmonyOS學習第七課)

官方文獻:

為豐富HarmonyOS對云端開發的支持、實現端云聯動,DevEco Studio推出了云開發功能,開發者在創建工程時選擇云開發模板,即可在DevEco Studio內同時完成HarmonyOS應用/元服務的端側與云側開發,體驗端云一體化協同開發。

注意

使用云開發功能,需同時滿足如下條件:

相比于傳統開發模式,云開發模式具備成本低、效率高、門檻低等優勢,具體區別見下表。

區別點

傳統開發模式

云開發模式

開發工具

端側與云側各需一套開發工具,云側需自建服務器,工具成本高。

DevEco Studio一套開發工具即可支撐端側與云側同時開發,無需搭建服務器,工具成本低。

開發人員

  • 端側與云側要求不同的開發語言,技能要求高。
  • 需多人投入,且開發人員之間需持續、準確溝通,人力與溝通成本高、效率低。
  • 依托AppGallery Connect(以下簡稱AGC)Serverless云服務開放的接口,端側開發人員也能輕松開發云側代碼,大大降低開發門檻。
  • 開發人員數量少,降低人力成本,提高溝通效率。

運維

需自行構建運營與運維能力,成本高、負擔重。

直接接入AGC Serverless云服務,實現免運維,無運維成本或資源浪費。

云開發特性

云開發特性主要包含了如下功能。

主要功能

描述

端云一體化開發

您可以在DevEco Studio中同時開發與調試應用的端側代碼與云側代碼。

  • 端開發主要是開發、調試應用端側的業務代碼。
  • 云開發即為應用開發云側工程,目前包含云函數與云數據庫工程。
    • 云函數:支持在DevEco Studio中創建函數、編寫函數代碼、調試函數、部署函數到AGC云端。
    • 云數據庫:支持在DevEco Studio中創建對象類型、在對象類型中添加數據條目、部署云數據庫到AGC云端。

一鍵部署云工程

云工程開發完畢后,您可在DevEco Studio中將其一鍵部署至AGC云端。

端云一體化組件

DevEco Studio還為您提供多種端云一體化組件。集成端云一體化組件后,您只需進行簡單配置即可向應用用戶提供登錄、支付等多種功能。

當前僅支持端云一體化登錄組件,用于向應用用戶提供登錄、登出功能,目前支持帳號密碼登錄、手機驗證碼登錄、以及郵箱驗證碼登錄。

開發流程

HarmonyOS應用端云一體化開發流程如下圖所示。

序號

階段

任務

說明

1

創建端云一體化開發工程

選擇云開發模板

  • HarmonyOS應用工程:支持選擇通用云開發模板或商城模板。
  • 元服務工程:僅支持選擇通用云開發模板。

配置工程信息

配置工程名稱、類型等基本信息。

關聯云開發資源

在進行云開發之前,您需為工程關聯所需的資源:在DevEco Studio中選擇您的華為開發者帳號加入的開發者團隊,將該團隊在AGC的同包名應用關聯到當前工程。

上述云開發資源關聯成功、工程創建完畢后,DevEco Studio會為您的工程自動執行一些初始化配置:

  • 為工程關聯的AGC項目自動開通云開發相關的Serverless服務(認證服務、云函數、云數據庫、云托管、API網關、云存儲)。
  • 為端側工程自動集成agconnect-services.json配置文件以及相關Serverless服務最新版本的HarmonyOS SDK,同時會自動集成端云一體化登錄組件的最新SDK。
  • 云側工程云函數節點下會自動引入依賴的云數據庫的最新版本Node.js Server SDK,以實現在端側訪問云數據庫。

2

端云一體化開發與調試

端側開發與調試

  • 端側代碼開發:在端側工程下,開發、調試應用端側業務代碼。
  • 端云一體化組件開發:DevEco Studio還為您提供多種端云一體化組件。集成端云一體化組件后,您只需進行簡單配置即可向應用用戶提供登錄、支付等功能(當前僅支持端云一體化登錄組件)。

云側開發與調試

在云側工程下開發、調試與部署云服務:

  • 開發云函數,包括創建函數、調試函數、將函數部署到AGC云端。
  • 開發云數據庫,包括創建對象類型、在對象類型中添加數據條目、部署云數據庫。

3

端側發布與云側部署

打包并發布應用

將端側工程進行打包,生成APP,后續即可在AGC進行應用上架。

一鍵部署云工程

云工程開發完畢后,您可在DevEco Studio中將其一鍵部署至AGC云端。

起步

首先我們需要先創建一個AGC賬號:

鏈接地址:?AppGallery Connect (huawei.com)?點擊注冊即可

需要進行實名認證等一系列的操作就不過多闡述。

項目創建

?添加應用

開啟云數據庫-云存儲-認證服務的開關認證服務

啟用認證服務,云數據庫,云存儲等。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

直接點擊開通即可

不用管直接下一步

創建項目

打開編輯器

新建項目

?注意!!

?進行登錄

查找到我們剛才創建的項目就算成功了!!

運行

我們使用模擬器運行查看效果

主頁面出現我們添加的服務等 即可。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/web/24014.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/24014.shtml
英文地址,請注明出處:http://en.pswp.cn/web/24014.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大數據面試題第二期*6

題1、Namenode掛了怎么辦? 方法一:將SecondaryNameNode中數據拷貝到namenode存儲數據的目錄。 方法二:使用importCheckpoint選項啟動namenode守護進程,從而將SecondaryNameNode中數據拷貝到namenode目錄中。 題2、Hadoop 的namenode 宕機怎么…

論文代碼解讀STPGNN

1.前言 本次代碼文章來自于《2024-AAAI-Spatio-Temporal Pivotal Graph Neural Networks for Traffic Flow Forecasting》,基本模型結構如下圖所示: 文章講解視頻鏈接 代碼開源鏈接 接下來就開始代碼解讀了。 2.代碼解讀 class nconv(nn.Module):de…

NDIS Filter開發-網絡數據的傳輸

和NIC小端口驅動不同的是,無需考慮網絡數據具體是如何傳輸的,只需要針對NBL進行處理即可。Filter驅動程序可以啟動發送請求和接收指示,或“過濾”其他驅動程序的請求和指示。Filter模塊堆疊在微型端口適配器上。 驅動程序堆棧中的Filter模塊…

谷粒商城實戰(033 業務-秒殺功能4-高并發問題解決方案sentinel 1)

Java項目《谷粒商城》架構師級Java項目實戰,對標阿里P6-P7,全網最強 總時長 104:45:00 共408P 此文章包含第326p-第p331的內容 關注的問題 sentinel(哨兵) sentinel來實現熔斷、降級、限流等操作 騰訊開源的tendis&#xff0c…

ctfshow web

【nl】難了 <?php show_source(__FILE__); error_reporting(0); if(strlen($_GET[1])<4){echo shell_exec($_GET[1]); } else{echo "hack!!!"; } ?> //by Firebasky //by Firebasky ?1>nl //先寫個文件 ?1*>b //這樣子會把所有文件名寫在b里…

JSON 無法序列化

JSON 無法序列化通常出現在嘗試將某些類型的數據轉換為 JSON 字符串時&#xff0c;這些數據類型可能包含不可序列化的內容。 JSON 序列化器通常無法處理特定類型的數據&#xff0c;例如日期時間對象、自定義類實例等。在將數據轉換為 JSON 字符串之前&#xff0c;確保所有數據都…

clickhouse學習筆記(三)常見表引擎

目錄 一、 MergeTree系列引擎 1、MergeTree 數據TTL &#xff08;1&#xff09; 列級別 TTL &#xff08;2&#xff09; 表級別 TTL 存儲策略 2、ReplacingMergeTree 3、CollapsingMergeTree 4、VersionedCollapsingMergeTree 5、SummingMergeTree 6、AggregatingMe…

「動態規劃」如何求地下城游戲中,最低初始健康點數是多少?

174. 地下城游戲https://leetcode.cn/problems/dungeon-game/description/ 惡魔們抓住了公主并將她關在了地下城dungeon的右下角。地下城是由m x n個房間組成的二維網格。我們英勇的騎士最初被安置在左上角的房間里&#xff0c;他必須穿過地下城并通過對抗惡魔來拯救公主。騎士…

【Text2SQL 論文】C3:使用 ChatGPT 實現 zero-shot Text2SQL

論文&#xff1a;C3: Zero-shot Text-to-SQL with ChatGPT ???? arXiv:2307.07306&#xff0c;浙大 Code&#xff1a;C3SQL | GitHub 一、論文速讀 使用 ChatGPT 來解決 Text2SQL 任務時&#xff0c;few-shots ICL 的 setting 需要輸入大量的 tokens&#xff0c;這有點昂貴…

基于GLM生成SQL,基于MOSS生成SQL,其中什么是GLM 什么是MOSS

GLM 和 MOSS 是兩種不同的模型或系統&#xff0c;通常用在自然語言處理 (NLP) 和生成任務中&#xff0c;如生成 SQL 查詢。讓我們逐個解釋它們的含義和用途&#xff1a; GLM (Generalized Language Model) GLM 是一種通用語言模型&#xff0c;設計用于處理和生成自然語言。以…

MacOS M系列芯片一鍵配置多個不同版本的JDK

第一步&#xff1a;下載JDK。 官網下載地址&#xff1a;Java Archive | Oracle 選擇自己想要下載的版本&#xff0c;一般來說下載一個jdk8和一個jdk11就夠用了。 M系列芯片選擇這兩個&#xff0c;第一個是壓縮包&#xff0c;第二個是dmg可以安裝的。 第二步&#xff1a;編輯…

eclipse插件開發(二)RCP第三方庫的引入方式

RCP第三方庫的引入 最近在RCP開發過程中遇到JSON串與對象互轉的問題&#xff0c;如何像spring開發模式一樣引入第三方庫呢&#xff1f;eclipse插件開發中用到p2庫&#xff0c;但也支持maven庫的引入。關鍵在于.target這個關鍵文件。 .target 文件用于定義一個目標平臺&#x…

民主測評要做些什么?

民主測評&#xff0c;作為一種重要的民主管理工具&#xff0c;旨在通過廣泛征求群眾意見&#xff0c;對特定對象或事項進行客觀、公正的評價。它不僅是推動民主參與、民主監督的重要手段&#xff0c;也是提升治理效能、促進社會和諧的有效途徑。以下將詳細介紹民主測評的主要過…

常見的布局方法及優缺點

頁面布局常用的方法有浮動、定位、flex、grid網格布局、柵格系統布局 浮動&#xff1a; 優點&#xff1a;兼容性好。 缺點&#xff1a;浮動會脫離標準文檔流&#xff0c;因此要清除浮動。我們解決好這個問題即可。 絕對定位 優點&#xff1a;快捷。 缺點&#xff1a;導致子…

如何以非交互方式將參數傳遞給交互式腳本

文章目錄 問題回答1. 使用 Here Document2. 使用 echo 管道傳遞3. 使用文件描述符4. 使用 expect 工具 參考 問題 我有一個 Bash 腳本&#xff0c;它使用 read 命令以交互方式讀取命令參數&#xff0c;例如 yes/no 選項。是否有一種方法可以在非交互式腳本中調用這個腳本&…

vue用vite配置代理解決跨域問題(target、rewrite和changeOrigin的使用場景)

Vite的target、rewrite和changeOrigin的使用場景 1. target 使用場景&#xff1a;target 屬性在 Vite 的 vite.config.ts 或 vite.config.js 文件的 server.proxy 配置中指定&#xff0c;用于設置代理服務器應該將請求轉發到的目標地址。這通常是一個后端服務的API接口地址。…

Chrome 源碼閱讀:跟蹤一個鼠標事件的流程

我們通過在關鍵節點打斷點的方式&#xff0c;去分析一個鼠標事件的流程。 我們知道chromium是多進程模型&#xff0c;那么&#xff0c;我們可以推測&#xff1a;一個鼠標消息先從主進程產生&#xff0c;再通過跨進程通信發送給渲染進程&#xff0c;渲染進程再發送給WebFrame&a…

【FAS】《CN103106397B》

原文 CN103106397B-基于亮瞳效應的人臉活體檢測方法-授權-2013.01.19 華南理工大學 方法 / 點評 核心方法用的是傳統的形態學和模板匹配&#xff0c;亮點是雙紅外發射器做差分 差分&#xff1a;所述FPGA芯片控制兩組紅外光源&#xff08;一近一遠&#xff09;交替亮滅&…

[力扣題解] 700. 二叉搜索樹中的搜索

題目&#xff1a;700. 二叉搜索樹中的搜索 思路 觀察法 二叉搜索樹的搜索操作&#xff0c;比較根節點的數值&#xff0c; 如果等于&#xff1a;找到了&#xff1b;大于根節點&#xff1a;在右子樹&#xff0c;往右走&#xff1b;小于根節點&#xff1a;在左子樹&#xff0c;…

【Java基礎】線程方法

start()&#xff1a;啟動線程&#xff0c;使線程進入就緒狀態。 run()&#xff1a;線程執行的代碼邏輯&#xff0c;需要重寫該方法。 停止線程 void interrupt() 中斷線程&#xff0c;讓它重新去爭搶cpu 如果目標線程長時間等待&#xff0c;則應該使用interrupt方法來中斷等待…