万物互联的时代已经来临,如果你想运用过往的技术,开发一个有“跨设备操作、多设备协同”功能的应用(后文都称:分布式应用),首先需要自己搭建一个“服务发现、同步、注册、调用”的框架,然后还要写一套数据安全控制策略,包括数据加解密,最后还要持续优化服务通讯效率。对开发者而言,开发周期拉长、任务繁重、开发和维护效率低下。
而使用HarmonyOS后,无需经历上述复杂的过程,你只需要调用几个简单的API,就能快速开发出一个分布式应用,大大缩短开发周期,让你更专注于应用的开发和打磨。
接下来我们将通过一个“分布式亲子教育”Demo,为你展示只需三步就能完成分布式应用的开发,心动不如行动,快来体验吧~
● HarmonyOS应用开发在线体验
https://playground.harmonyos.com/
本期分布式亲子教育有两个体验场景:“早教算数题”和“益智拼图”。由于这两个体验场景都是调用了3个API完成的分布式技术应用,且API类型无太大差异,我们将挑选“早教算术题”为大家展开介绍。
进入链接后,首先在案例场景栏中选择“分布式亲子教育”,然后下拉页面,再点击“开始试玩”,进入“亲子早教系统”。
早教算术题
体验“早教算数题”,点击“实时辅导”后,通过调用HarmonyOS 分布式任务调度的API “DeviceManager.getDeviceList()”获取分布式组网设备列表,效果如下图所示:
● DeviceManager.getDeviceList()介绍
在“选择设备”对话框中选择一台设备,通过HarmonyOS分布式任务调度的API “Ability.startAbility()”,将远程设备(家长端)拉起并进入操作界面。效果如下图所示:
● Ability.startAbility()介绍
https://developer.harmonyos.com/cn/docs/documentation/doc-references/ability-0000001054120007
下图黑色字是学生端的计算过程,红色字是家长端的辅导过程,家长可以在辅导画板中直接辅导学生数学计算。通过调用API“IRemoteObject.sentRequest()”,实现远程辅导算数题,轻松完成分布式远程设备通讯,效果如下图所示:
● IRemoteObject.sentRequest介绍
https://developer.harmonyos.com/cn/docs/documentation/doc-references/iremoteobject-0000001054678970
分布式任务调度为何如此便捷?
HarmonyOS分布式任务调度开发之所以这么便捷,得益于强大的全系统框架支撑(如下图所示)。
该框架由分布式软总线、分布式数据管理、分布式Profile和分布式安全认证等技术特性构成,分布式任务调度在此基础上构建了统一的分布式服务(发现、同步、注册、调用)管理机制,支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。
总而言之,“底层实现”框架已为你建好,开发者只需关注上层“应用开发”。