倪峰,杨立志,苏春芳,金海峰
(江阴职业技术学院计算机科学系,江苏江阴 214400)
当前对话与合作仍是中西方关系的主流,但西方国家在高新技术领域持续对我国进行打压这是不争的事实。《信息安全研究》2019年5月版刊登了中国工程院院士倪光南先生的论文《直面打压放弃幻想加快推进国产自主可控可替代》[1],文中呼吁加快推进国产自主可控替代计划,构建安全可控的信息技术体系。
伴随着智能手机等移动端平台的诞生,以Android 和IOS 两大阵营的智能终端操作系统一直牢牢占据着统治地位,从华为公司生产智能手机之初,华为中央软件研究院就居安思危,提出了构建分布式操作系统的设想,以防在手机操作系统方面被掣肘,2016年实现了分布式操作系统的内核构建,2019年8月,分布式操作系统1.0 版对外发布,并命名为“鸿蒙”,2020 年华为将核心代码捐献给开放原子开源基金会,形成Open Harmony 项目,同年9 月华为发布鸿蒙2.0版,并应用于华为Watch、华为智慧屏、车机系统等领域,2021年6月,鸿蒙2.0版正式适配华为和荣耀系列的手机,目前鸿蒙最新版本已升级到4.0。国内各大厂商纷纷加入鸿蒙生态,OPPO 宣布旗下IOT 设备可接入鸿蒙系统、魅族宣布旗下的Lipro 智能家居产品可接入鸿蒙系统,2022 年11 月4 日,在华为开发者大会主题演讲中,华为常务董事余承东先生宣布搭载鸿蒙操作系统的华为设备已超过3.2亿台[2],鸿蒙操作系统的软硬件生态日益健壮。鸿蒙软硬件生态起步较晚,目前国内有少部分高校开始尝试在课程体系中融入鸿蒙应用开发,但不论从软硬件环境、教材建设、课程资源建设等各方面尚处于起步探索阶段[3-4]。
鸿蒙系统的设计理念是面向未来的全场景智慧化体验。它将分布式技术和多核高性能相结合,致力于提供更加流畅、安全和智能的用户体验。鸿蒙操作系统遵循分层式的系统架构,自顶向下依次分为:应用层、框架层、系统服务层、内核层,按照“系统-子系统-功能模块”逐级展开,可根据实际部署场景对功能模块进行裁剪[5]。
应用层由Feature Ability 或Particle Ability 组成,Feature Ability 提供用户UI 界面进行交互,Particle Ability 无UI,主要负责后台任务运行及数据抽象访问,为Feature Ability进行用户交互提供所需的后台数据访问功能。框架层为HarmonyOS 开发者提供了多种开发语言的用户程序框架,支持ArkTS、JavaScript、Java、C/C++等主流开发语言,提供了ArkUI 和Java UI两种UI 框架,其中ArkUI 是华为自研的方舟开发框架,支持ArkTS和JavaScript。Java UI使用Java开发语言,便于熟练使用Java 语言的Android 开发人员快速适应鸿蒙开发环境。系统服务层是HarmonyOS 的核心能力,通过框架层为应用程序提供服务,主要包括分布式软总线、数据管理、任务调度、方舟多语言运行时、基础库类、系统事件通知等,并能为智慧屏、可穿戴设备、IOT 设备提供相应的软硬件服务。内核层分为内核子系统和驱动子系统两部分,内核子系统通过内核抽象层KAL屏蔽多内核差异,为上层提供基本的操作系统功能,如进程与线程的管理,内存的管理,文件系统、外设及网络设备的管理等。驱动子系统通过硬件驱动框架HDF 提供设备驱动开发和外设访问与管理功能。
目前国内高校电子信息类学科培养体系中,教学内容主要参考国外先进技术,学生容易养成对国外技术的依赖,并产生认同感,在西方国家对我国高新技术行业普遍采取技术封锁和打压的形势下,这种依赖国外技术的课程体系的设置方式对我国的信息安全极为不利。在国家提出科技自立自强的背景下,优化物联网专业的课程体系,兼顾行业主流技术路线与国产可替代化软硬件生态,响应国家的方针政策,值得深入研究。本文对江阴职业技术学院计算机系物联网应用技术专业课程体系中融入鸿蒙软件生态展开教改探索与实践,通过合理调配课时比例,融入国产软硬件生态,在紧跟行业主流技术路线的同时,拓宽学生对国产软硬件生态的认知。在部分专业课程中以国产软硬件生态作为课程主线。通过课程体系的调整,在潜移默化中让学生了解国产软硬件生态,并能在国产平台上进行软硬件开发,通过与国外技术的对比,增强民族自豪感的同时认清差距,培养学生家国情怀,从自我做起奋起直追。
根据前文分析,HarmonyOS 应用开发使用的主流开发语言为ArkTS和Java,但HarmonyOS 从API8开始不再推荐使用Java 作为首选的开发语言,Java 版本的SDK 后续将不再继续演进,最高版本停留在API7,使用API7及以前的Java SDK 开发的应用可以兼容后续的HarmonyOS 版本。从中可以察觉华为将主推自研的ArkTS 作为首选的开发语言,如图1 所示ArkTS 是TypeScript 与JavaScript 语言的超集,是一种声明式的开发范式,为开发者提供更便捷的开发体验。因此进行鸿蒙应用软件开发,必须具备Java 或JavaScript 语言的基础。
图1 HarmonyOS开发语言
江阴职业技术学院物联网应用技术专业主要培养学生物联网系统应用软件开发、物联网系统设备安装调试及运维、物联网项目规划与管理等方面的能力[6]。其中物联网系统应用软件开发是贯穿学生培养方案的一条主线,如图2所示,主要包括传感网络的构建、数据采集与设备管理、云平台的构建与数据承载、应用层软件传感数据获取与控制等方面。
图2 物联网应用软件开发教学脉络
在现有的教学计划中,在前两个学期系统学习了“程序设计入门”“可视化程序设计”“物联网感知层技术”“Web前端技术”等平台专业课程。如表1所示,学生已经具备了一定的程序设计开发的思维能力,对物联网数据采集、传输体系的整体框架有所了解,掌握C、Java、JavaScript 等基本的开发语言,具备通过HTML+CSS 技术构建基本页面的能力,对XML、JSON等常见的数据格式较为熟悉,已完成HarmonyOS应用开发所需的知识储备。
表1 前导课程与知识储备
按原教学计划,在第三学期开设“移动终端应用软件开发”,系统介绍Android 平台下的App 开发,原计划96学时,使用Java作为开发语言,使用基于IntelliJ IDEA 的官方应用开发集成开发环境Android Studio。开设此课程的目的是通过Android 平台,实现传感数据的展示及控制命令的下发。为拓宽学生的知识面,在第三学期还开设了“微信小程序开发”课程,在微信端进行传感数据的展示。自从鸿蒙系统问世以来,课程组对鸿蒙应用开发进行了深入研究。鸿蒙应用软件开发与Android应用软件开发的环境高度相似,鸿蒙使用的开发环境为DevEco Studio,也是一款基于IntelliJ IDEA 的集成开发环境,Android 使用Java或Kotlin 开发,鸿蒙使用Java 或ArkTS,Android 使用XML标记语言实现UI布局、控件定义、权限设置等功能,而鸿蒙则使用JSON 数据格式完成上述功能。从程序开发的难度、学生知识体系支撑等各方面都能满足鸿蒙应用开发的条件,且具备浓厚的课程思政元素,因此从2021级物联网技术应用专业开始尝试进行教学改革,在移动终端应用软件开发课程中融入鸿蒙应用软件开发的知识内容,修改物联网技术应用专业教学计划,削减一门32学时的选修课,将本课程增加到128学时,其中Android应用软件开发和HarmonyOS应用软件开发两大板块各占64学时。通过课程的学习和对比,让同学们对Android 开发和HarmonyOS 的开发有清晰的对比,拓宽就业面,培养学生对国产的鸿蒙软硬件生态使用的习惯,坚定科技自立自强的信心,增强民族自豪感。
课程以“智慧社区”项目为依托,在介绍HarmonyOS 基础知识的同时,完成基于智慧社区的移动端App。课程组自主研发了“智慧社区”项目实训沙盘,如图3所示智慧社区实训沙盘安装了温度、湿度、光照等多路传感器,同时通过中间继电器控制灯光照明、窗帘、风扇等执行器。传感器和执行器已经通过Zig-Bee通信协议实现传感网络的组建,通过NB-IoT技术将传感数据实时上传到华为物联网云平台。移动端App 通过访问华为云提供的API 接口,获取传感器数据并显示,同时可以进行控制命令的下发,进而控制灯光、风扇、窗帘等执行机构。
图3 智慧社区功能结构图
课程以项目导入任务驱动方式开展,分别实现在鸿蒙和Android 两种移动端应用程序,在前导课程中已经实现传感数据上报华为物联网云平台,本课程的主要任务是通过移动端App 对接华为物联网云平台API接口,实现传感数据获取及控制命令下行的功能。如表2 所示,对照鸿蒙和Android 两个不同的开发平台,分别实现6个功能相同的任务模块。以鸿蒙端为例,任务一实现鸿蒙移动端登录鉴权,创建登录相关的Ability,将输入的华为云平台IAM用户信息打包成JSON格式的数据,通过POST请求提交给华为云平台指定的URI,华为云认证通过后生成Token 回传给移动端。任务二实现传感设备数据的查询,将Token 包装到HTTP 请求的Header 中,通过GET 请求向华为云平台对应的URI请求指定设备的影子数据,华为云将数据以JSON格式推送给移动端。任务三实现数据的显示,将任务二请求得到的JSON 格式的数据进行解析和提取,通过消息机制将数据回传主UI线程,更新界面显示,并通过轻量级数据存储Preferences 实现传感数据的保存。任务四实现控制命令的下发,下发的命令经华为云平台转发到传感层,控制对应的继电器动作,实现灯光、风扇等执行器的运行。任务五模拟实现App 的数字签名和应用市场上架。任务六实现设备差异化,通过一次开发,分别在模拟器上实现华为Watch、华为手机端、华为智慧屏的程序部署。
表2 实训任务分解及开发平台对比
党的二十大报告中提出,到2035年我国要实现高水平科技自立自强,进入创新型国家前列[7]。物联网技术作为信息技术产业的生力军,是实现高水平科技自立自强的一条主赛道,在课程的实施中,任课教师既为“人师”也为“经师”,必须在课程中融入思政元素,激发学生科技报国的热情。
鸿蒙作为国产自研操作系统,是信息技术产业中的高精尖产品,契合高水平科技自立自强的发展路线,课程组深挖思政元素,通过以下几个方面进行课程思政的融入。一、举案例,以英阿马岛战争、我国核武器研制、光刻机设备的制约等为例,强调科技自立自强的重要性。二、树典型,介绍两弹一星的元勋科学家们、电磁弹射专家马伟明院士等,发挥榜样的作用,激励学生努力学习,科技报国。三、立规矩,培养学生良好的职业素养,从实验器具摆放、实训环境打扫、节约实验耗材等日常行为进行教育,以平时成绩作为约束。四、树信心,以鸿蒙操作系统、华为海思芯片、长江存储等为例,让学生看到我国近年来在电子信息产业中取得的成就,树立科技报国信心。
以2021级物联网技术应用专业为试点进行教学改革试验,整个教学实施过程通过翻转课堂的方式展开,课前教师录制教学视频上传泛雅平台,并要求学生自学,通过平台反馈及课堂教学效果分析,如表3所示大部分同学能及时预习并完成课前预习任务,部分优秀学生能提前完成实训任务,并对任务进行分析讲解。通过匿名问卷调查反馈,学生对鸿蒙应用软件开发的学习热度高于Android 平台,对华为系列产品的认可度也更高。
表3 课程实施情况
鸿蒙操作系统的诞生,打破了Android和IOS的垄断地位,经过近几年的孕育,鸿蒙软硬件生态进一步完善,在国家力推高水平科技自立自强的背景下,OpenHarmony 项目必将取得良好的发展,越来越多的厂商也将融入这个生态中来,从高职院校学生的认知能力角度出发,在高职院校电子信息类专业开设鸿蒙应用软件开发相关课程是可行的,从国家信息安全和自主可控的层面以及人才培养需求层面,都有很大的潜力可以挖掘。目前存在的问题是由于鸿蒙生态建立不久,适合高职院校层次的鸿蒙应用开发相关教材尚不完备,目前笔者在鸿蒙应用开发相关内容的授课过程中主要依靠华为官方提供的开发文档作为教学资料,这也是后续值得去进一步完善的地方。