【鸿蒙开发 | 端云一体化 —— 开发app不要在为没有后端而烦恼了,端云一体化帮你完成一站式开发!】

大家好,我是学徒小z,今天给大家分享的是我做项目过程中需要适用的一种技术。

简单介绍

​ 鸿蒙端云一体化是华为鸿蒙系统中一种将终端(端)和云端紧密结合、协同工作的开发与应用模式(划重点,有大量免费额度),以下是对它的详细介绍

1. 基本概念

  • 端云一体化旨在打破传统应用开发中端侧和云侧的界限,让开发者能够在同一套开发体系下,同时进行终端应用和云端服务的开发。简单来说,原本客户端开发和服务器端开发是相对独立的工作,而在鸿蒙端云一体化模式下,开发者在进行客户端开发的同时也能完成服务器端相关的任务,实现高效的协同开发。

2. 技术架构与支撑

  • 底层技术支持:端云一体化的实现依赖于华为提供的一系列技术和服务。例如,AppGallery Connect 的 Serverless 服务是构建端云一体开发的底座。Serverless 具有跨平台、上线快、成本低、免维护、安全性高等特点,为开发者提供了认证服务、云函数、云数据库、云存储、云托管和云缓存等多项服务。
  • 开发工具集成:华为的 DevEco Studio 开发工具为端云一体化开发提供了有力支持。开发者可以在 DevEco Studio 内使用一种语言同时进行端侧和云侧的开发,无需切换端侧工程和云侧工程,也无需学习前端和后端多种语言,降低了开发门槛和沟通成本。

3. 主要功能与服务

  • 云数据库:保证数据的可用性、可靠性、一致性和安全性,实现数据在端云之间的无缝同步,方便开发者构建端云、多端协同的应用。无论是终端设备产生的数据,还是云端的数据,都可以在统一的数据库管理下进行交互和共享,为用户提供一致的数据体验。
  • 云存储:提供可伸缩、免维护的云端存储服务,可用于应用上传图片、音频、视频或者其他用户生成的内容。开发者可以轻松地将终端用户产生的多媒体数据存储到云端,减轻终端设备的存储压力,同时也方便数据的管理和共享。
  • 云函数:将开发测试的对象聚焦到函数级别,简化了应用开发与运维相关的事务。开发者可以通过云函数 SDK 便捷地操作云数据库、云存储等,提升业务功能构建的便利性,快速实现各种业务逻辑。
  • 认证服务:为应用快速构建安全可靠的用户认证系统,支持多种认证方式,保障应用的安全性和用户的隐私。

新建工程

1. 选择模板

image-20241027190548858

2. 配置参数

image-20241027190928599

3. 关联云开发资源

  • 进行这一步时需要登录AppGallery Connect(AGC),创建一个项目,在证书、APP ID和Profile中的APP ID创建一个新的APP ID,记住,创建时的包名称(bundle name)需要和创建的端云一体化项目的bundle name保持一致
  • 选择你的Team,Team的成员可以在AGC中进行添加
  • 没有红色警告,则可以进行下一步,点击Finish

image-20241027192225665

  • 进入主开发界面,DevEco Studio执行工程同步操作,端侧执行“ohpm install”,云侧执行“npm install”,
    如果npm install失败,应该是配置npm运行环境的问题

npm install失败之后,需要修改npm配置,可通过修改“C:\Users\用户名”目录下的.npmrc文件进行配置,具体操作如下:

  1. 进入“C:\Users\用户名”目录,打开.npmrc文件。如果该目录下没有.npmrc文件,请新建一个。

  2. 修改npm仓库信息,示例如下所示:

    registry=https://repo.huaweicloud.com/repository/npm/
    

    修改代理信息,在proxy和https-proxy中,将user、password、proxyserver和port按照实际代理服务器进行修改。示例如下所示:

    proxy=http://user:password@proxy.proxyserver.com:port
    https-proxy=http://user:password@proxy.proxyserver.com:port
    

    如果不知到实际代理服务器,可按照一下步骤查看

    1. 打开“控制面板”,选择“网络和Internet”。
    2. 在“网络和Internet”中,选择“Internet选项”。
    3. 在弹出的窗口中,切换到“连接”选项卡。
    4. 点击“LAN设置”按钮。
    5. 在新弹出的窗口中,可以看到“代理服务器”一栏,勾选后可以看到代理服务器的IP地址和端口号。

4. 项目的目录结构

image-20241027224351533

端开发工程

通用云开发模板的端开发工程目录结构如下图所示,“src/main/ets/pages”下包含了云存储、云数据库和云函数页面

image-20241027225503110

云开发工程(CloudProgram)

  • clouddb:云数据库目录

    • dataentry:用于存放数据条目文件。

      该目录下一般会根据您选择的云开发模板预置数据条目示例文件。在通用云开发模板工程中,该目录下会预置名为“d_Post.json”的数据条目示例文件,内含两条示例数据。可按需使用、修改或删除。

    • objecttype:用于存放对象类型文件:内含对象类的权限、索引、字段名称和字段值

    • db-config.json:模块配置文件,主要包含云数据库工程的配置信息,如默认存储区名称、默认数据处理位置。

  • cloudfunctions:云函数目录,包含各个云函数/云对象子目录

image-20241027225607801

鸿蒙开发中实现端云一体的一键登录,通常会采用OAuth或OpenID Connect协议,结合华为提供的HMS(Huawei Mobile Services)平台,例如HMS Account Kit。以下是基本步骤: 1. **集成HMS Account Kit**:首先,在项目中引入HMS Account Kit SDK,按照官方文档配置相应的依赖。 2. **配置账号体系**:在HMS后台管理控制台中创建账号体系,设置认证方式,如手机号、邮箱或第三方账号(如微信、QQ等)。 3. **在客户端生成授权码**:当用户点击“登录”按钮时,调用Account Kit的`startLoginActivity()`方法打开授权界面,获取授权码。 ```java Intent intent = AccountAuthClient.getAuthorizationIntentBuilder() .setRedirectUrl("your-app-url") // 应用的回调URL .build(); startActivityForResult(intent, LOGIN_REQUEST_CODE); ``` 4. **服务器验证授权码**:在用户点击“授权”后,应用会跳转回并传递授权码,将此码发送至后端服务器,由服务器与华为云端验证。 5. **同步用户信息**:如果验证成功,服务器会返回一个access token,然后应用可以使用这个token同步用户的个人信息到本地存储,如KeyStore或本地数据库。 6. **设置全局身份标识**:将用户凭证保存下来,如accessToken,作为后续接口调用的身份验证凭据。 7. **调用后端API**:现在,有了用户的全局身份标识,你可以安全地调用云服务的API了,如获取用户信息、推送通知等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值