端云一体化开发是一种能在一个开发工具内同时进行端侧与云侧开发的开发方式。由于端云一体化开发的工具使用severless构建后端与数据库,并且不用任何配置就能实现前后端业务的数
端云一体化开发是一种能在一个开发工具内同时进行端侧与云侧开发的开发方式。由于端云一体化开发的工具使用severless构建后端与数据库,并且不用任何配置就能实现前后端业务的数据连接。为开发者省去了很多繁琐的配置服务器、对接前后端之类的工作,对于新手开发者非常的友好。
这个教程中我们尝试着从头新建一个项目,完整的走一遍整个流程
1. 首先进入AGC的管理界面新建一个项目,并添加应用
【由于在目前的版本中还不能通过DevEco直接创建云侧项目,并且端侧项目的一部分网络功能需要依赖云侧的一些配置信息才能实现,因此我们直接从云侧的部分开始。】
- 点击进入AGC管理页面
- 点击进入我的项目
- 在个人项目页面点击添加项目
- 填写项目名称并创建项目
- 根据需要自行选择是否开通分析服务。
- 如果上一步选了开通分析服务,此时需要选择默认数据处理位置,如果不考虑海外用户的话,直接选中国就可以了。
- 到这里项目就新建好了。接下来添加应用
- 配置应用基本信息
- 平台配置为HarmonyOS系统的APP,
- 是否元服务选择为是,(这关系到以后应用能否以元服务的形式上架分发。)
- 应用包名可以自定义,后续要用到。(忘了也没事,能查到得到)
- 保存应用配置后会出现一个设置SDK的界面,但他提供的配置方案其实不适用于API9,所以不用管他,直接点取消退出。
2. 开通相关模块
- 开通认证服务
- 开通云函数服务
- 开通云数据库服务
- 开通云存储服务(设置好云存储的名称与安全配置)
- 至此AGC管理端的工作已经完成。
3. 使用DevEco元服务的端云一体化模板新建本地工程
- 使用元服务类型的端云一体化模板
- 填写应用的配置信息注意此处需要使用AGC中相同的应用包名。
- 【由于DecEco版本的差异,有些开发者右边的模块列表中可能只看得到3种模块。这并不是bug,等后续使用新版DecEco后就会变成4种。】
- DevEco会自动检索同一个开发者账号下相同包名的应用信息,选择我们之前在AGC管理中心新建的项目后点击finish
- 系统会自动创建工程项目并同步各类相关文件,等到进度条全部完成后,进入Index.ets文件的编辑界面,再点击previewer即可看到这个模板的预览效果。
- 【端云一体化开发工具端侧连接severless的功能依赖agconnect-services.json文件的各种配置,云数据库功能则依赖schema.json文件的配置】
- 这两个文件是在新建工程时根据severless的最新配置自动下载的,**如果在后续的开发中修改了severless或是云数据库的配置的话需要及时手动更新这两个文件,**否则可能会导致程序运行异常。
- 因此强烈建议新手开发者先完成severless的各项设置以后再新建本地开发项目。
4. 此时可以开始运行应用。
- 启动API9的远程模拟器或使用API9手机的开发者模式连接电脑并开启调试
- 点击右上角的绿色箭头运行程序。
- 如果使用的是远程模拟器的话此时能直接进入程序,但如果使用真机的话会发现程序报错、运行失败。
- 此处报错的原因是我们还没有给程序签名。【目前使用鸿蒙系统开发的程序,都需要先签名才能在真实设备上运行。此处直接使用自动签名】
- 进行签名
- 【依次点击菜单栏中的(文件→项目结构→Project→Signing Configs)/(File→Project Structure→Project→Signing Configs)。
- 勾选“SupportHarmonyOS”与“Automatically generate signature”后等待签名自动完成后关闭项目结构页面。】
- 再次运行项目就能顺利启动了。
【做到这一步,我们已经完成了severless的初始化配置与端侧模板程序的创建。如果直接运行程序的话,会发现认证服务和云存储功能是可以用的,但是云函数和云数据库的模块都无法正常使用。因为这两个功能需要在severless中部署相应的云函数的代码、在云数据库中建立数据类型与存储区。】
5. 上传云程序
- 向下翻项目文件列表,可以发现有个名为CloufProgram的目录,这就是端云一体化开发中储存云端部分代码的目录。
- 端云模板在这里提供了默认的clouddb和cloudfunctions的代码。我们只要在CloufProgram文件上点击鼠标右键选择“Deploy Cloud Program”部署云数据和云函数的代码。
- 等待DevEco完成云侧代码部署。
至此我们已经完成了使用端云一体化模板创建元服务的全部工作
测试一下运行效果:
鸿蒙端云一体化元服务demo的功能测试