鸿蒙系统学习 驱动应用开发(三)
采用主从架构设计模式,围绕着框架、模型、能力库和工具四个维度能力展开构建。鸿蒙的微内核架构,导致所有以前的驱动需要重构适配,所采用的驱动逻辑,与Linux也非常接近,平台驱动,总线驱动等等。
应用开发
鸿蒙 OS 目前开放了应用开发和设备开发。应用开发是我们的重头戏,可以为搭载鸿蒙的智慧屏,手表,车机开发应用。
通过华为提供的 DevEco IDE 建立应用开发项目,具体开发步骤有比较多的教程就不细说了。
开发可以使用 Java 和 JS 语言。Java 开发的话,跟 Android 开发差不多。
这里注意的是通过 JS 开发的话,但是通过 Htm 并非 html 来写 UI。在语法上类似 vue。
JS 引擎是 JerryScript,能够在内存少于 64KB 的设备上执行 ECMAScript 5.1 源代码。
那实际上下面要提到的设备开发逻辑是也可以部分用 JS 实现的。不过官方文档比较少,也没有 demo 提供。但个 js runtime 是可以作为组件一起编译烧录的。
应用开发中,我比较感兴趣的是跨设备调用,下面这个例子是从智慧屏 App 上调用其他设备页面的。
这里可以看到优点十分明显,在这里我们开发无需关心通信,以及传输安全问题。
在智慧屏上这么写,在手表上也是这么写。也就是他们说的一次开发多端部署,提供成熟方案,不用放更多精力在安全机制,组网连接和基础通信上。聚焦业务,快速完成原型开发。
但也有一些约束与限制:
支持主设备侧远程启动从设备侧 FA,不支持从设备远程启动主设备 FA。
需要同一局域网内。
需要认证,当前只支持拥有共同公钥信息的主从设备间 FA(即主从设备的 FA 使用相同华为证书)的拉起。
工具链还需完善,如果选择智能手表和智慧屏这两个平台进行 App 的开发,目前华为还没有开放基于 X86 的本地模拟器。因此,需要将编译后安装到远程的 ARM 处理器以运行代码,在本机上只能预览运行结果,而无法在本机上运行和调试代码。开发效率相对慢一点,相信华为后面应该会补齐。
https://harmonyos.51cto.com/posts/2218
COAP(Constrained Application Protocol )协议由RFC7252定义,是用于受限设备和网络的传输协议。受限的意思是指设备内存较小,网络传输速率较低,并且丢包率比较高。因此,COAP协议主要用于设备到设备(M2M)通讯。鸿蒙OS将COAP协议用于分布式通讯中的主从设备发现。
----原来这个也不是 鸿蒙自己的。
COAP协议和TCP协议类似,也是存在服务器端和客户端,服务器端负责启动COAP包的监听服务,discovery/coap/include/coap_socket.h提供了COAP包的发送和接收服务函数。
----所以鸿蒙提出了,只有 手机和TV,才可以做主设备,也就是服务器;是基于网络的一种协议。
轻量设备作为被发现端设备,调用PublishService发布服务。
相关文章
- spring: 在Spring应用中使用JDBC(使用profiles选择数据源/使用基于JDBC驱动的数据源)
- Qt5.7不能加载MySql驱动问题.(需要重新编译驱动)
- 批量查看设备驱动版本和制造商
- 无名板找驱动
- 【STM32H7教程】第79章 STM32H7的QSPI总线应用之驱动W25QXX(支持查询和MDMA)
- 【STM32F429开发板用户手册】第36章 STM32F429的FMC总线应用之DMA双缓冲驱动AD7606(8通道同步采样, 16bit, 正负10V)
- 【STM32F429开发板用户手册】第35章 STM32F429的FMC总线应用之驱动AD7606(8通道同步采样, 16bit, 正负10V)
- 【STM32F407开发板用户手册】第35章 STM32F407的FSMC总线应用之驱动AD7606(8通道同步采样, 16bit, 正负10V)
- 【STM32F429开发板用户手册】第33章 STM32F429的SPI总线应用之驱动DAC8563(双通道,16bit分辨率,正负10V)
- 【STM32H7教程】第76章 STM32H7的FMC总线应用之驱动AD7606(8通道同步采样, 16bit, 正负10V)
- 【STM32H7教程】第75章 STM32H7的SPI总线应用之驱动DAC8501(双路输出,16bit分辨率,0-5V)
- 【STM32H7教程】第73章 STM32H7的SPI总线应用之驱动W25QXX(支持查询,中断和DMA)
- SAP UI5 应用开发教程之八十 - 采用测试驱动开发理念(Test Driven Development)进行 SAP UI5 应用的功能开发(二)试读版
- 业务驱动的企业级数据架构设计
- 一脸懵逼学习Struts数据校验以及数据回显,模型驱动,防止表单重复提交的应用。
- 【Spring注解驱动开发】使用@Autowired@Qualifier@Primary三大注解自动装配组件,你会了吗?
- 【Spring注解驱动开发】使用@PropertySource加载配置文件,我只看这一篇!!
- Windows 驱动开发 - 8
- 嵌入式Linux,cat1模组,EC200S-CN内核驱动开发
- Audio驱动开发之音频链路学习笔记
- SiC MOSFET驱动电压的分析
- UnitTest自动化测试框架结合数据驱动(DDT)应用实践
- Linux驱动提高篇了解----SPI驱动框架
- 【Linux驱动开发100问】如何加载和卸载Linux模块?
- VB.net:VB.net编程语言学习之基于VS软件利用VB.net语言实现对SolidWorks进行二次开发的案例应用(启动SolidWorks代码/直接驱动模型代码/路径下模型驱动代码/创建两个文
- 【构建ML驱动的应用程序】第 4 章 :获取初始数据集