HVML 是由中国首款开源基础软件 MiniGUI 的作者魏永明设计的描述式编程语言,也是世界首款可编程标记语言。

从 2020 年 5 月开始构思算起,魏永明带领团队历经两年多的时间,于 2022 年 7 月 31 日正式开源发布了 HVML 规范文档以及解释器、渲染器等软件,总代码行数逾百万!

面向碎片化世界的应用开发需求,HVML 为应用的跨平台及跨端运行提供了全新的技术框架,其描述式语法非常适合人工智能生成。HVML 蕴含了大量新颖的设计和独创的思想,是魏永明及其团队近三十年基础软件开发经验的结晶,一经发布便获得了业界的广泛关注。2022 年底,HVML 项目获评 CSDN 2022 “年度开源影响力项目”;2023 年 4 月,中国开源软件推进联盟(COPU)主席陆首群先生倡议:“全行业都应该积极支持 HVML 的研发!”

在 HVML 解释器、渲染器等软件开源发布一年之后,我们正式推出了合璧操作系统 2.0,其中的应用程序,全部使用 HVML 语言开发。

基于 HVML 和合璧操作系统 2.0 的汽车仪表应用

在 2023 年 7 月的 HVML 动态文章(此处添加链接)中,我们介绍了基于合璧操作系统 2.0,用 HVML 开发的智能音箱应用。为体现 HVML 的高效应用开发能力,我们又使用 HVML 开发了一款汽车仪表应用。这款应用的总开发人力投入为一名前端工程师 x 五个工作日。该应用主要包括智能汽车仪表的展示和更新,车况提示,路况提醒,来电接听及音乐播放等诸多功能。其中,HVML 扮演了从整个车机中获取各种信息并控制和更新仪表盘界面展示的角色。以下是该应用的介绍视频:

合璧操作系统 2.0 架构图

我们设计和开发 HVML 的出发点,便是为了实践魏永明的操作系统方法论,为自主的合璧操作系统(HybridOS)设计一个全新的应用编程语言,围绕 HVML 构建这个操作系统的应用运行框架并提供相应的应用编程接口(API)。

下图给出了 HybridOS 2.0 的系统框图。

 

HybridOS2.0-7.31新.png

从上图可以看出,HybridOS 2.0 应用主要使用 HVML 和 Python 两种编程语言,应用和系统服务之间,通过 HBDBus 数据总线相连。

合璧操作系统 2.0 在提供有完整硬件加速的图形栈、多媒体支持和各种常见控制能力的前提下,含 Linux 内核在内的根文件系统仅有 256MB 大小。运行时内存占用最低为 128MB(推荐 256MB)。在不包含 GPU、视频解码器等的简单应用场景下,根文件系统大小可进一步缩小到 128MB。

关键组件的更新

2023 年 08 月,HVML 社区更新了 HybridOS(合璧操作系统)2.0 的若干基础系统组件,其中包括 HBDBus 和 HBDInetd(用于实现对网络设备的控制能力),同时更新了 HybridOS 2.0 的图形栈,如 CairoHBD、MesaHBD 等。这些软件仓库均通过 https://github.com/HybridOS2 发布:

  1. 合璧数据总线(HBDBus):https://github.com/HybridOS2/HBDBus
  2. 合璧网络设备管理器(HBDInetd):https://github.com/HybridOS2/HBDInetd
  3. Cairo 的合璧变种:https://github.com/HybridOS2/CairoHBD
  4. Mesa 的合璧变种:https://github.com/HybridOS2/MesaHBD
  5. DRM 用户态驱动:https://github.com/HybridOS2/HBDDrmDrivers
  6. 合璧操作系统设计及规范文档:https://github.com/HybridOS2/Documents

同时更新了 PurC 和 xGUI Pro(通过 https://github.com/HVML 发布):

  1. PurC 0.9.15,这是 PurC 0.9.14 的一个次要增强及缺陷修复版本:https://github.com/HVML/PurC
  2. xGUI Pro 0.8.3,这是 xGUI Pro 0.8.2 的一个次要增强及缺陷修复版本: https://github.com/HVML/xGUI-Pro

HVML 相关文档的更新

我们于 2023 年 06 月 30 日发布了 HVML 规范 1.0 RCd 版本(本月无更新)。该版本主要为方便 HVML 程序的书写而做了一些调整。

我们于 2023 年 06 月 30 日发布了 HVML 预定义变量 1.0 RCd 版本(本月无更新)。该版本主要做了一些文字上的调整。

相关链接如下:

  1. HVML 规范 1.0
  2. HVML 预定义变量规范 1.0

下一步计划

2023 年 09 月底,研发团队将发布基于合璧操作系统 2.0 的智能面板应用。

2023 年 08 月底,我们将继续更新 HVML 解释器 PurC 和 HVML 渲染器 xGUI Pro。

2023 年下半年,我们将继续围绕 HVML 解释器和渲染器完成如下功能:

  1. 变体支持内置方法。
  2. 预定义动态对象的完整实现。
  3. 对 Windows 平台的支持。
  4. 增强 Foil 字符渲染器以支持表格(table)布局。
  5. 增强 Foil 字符渲染器以支持网格(grid)盒子布局。
  6. 增强 Foil 字符渲染器以支持弹性(flex)盒子布局。
  7. 增强 Foil 字符渲染器以支持全屏模式,支持多窗口。
  8. 增强 Foil 字符渲染器以支持 selectinput 等基本输入构件。
  9. 正式发布 PurC 1.0 和 xGUI Pro 1.0。

常见问题及解答

Q:HVML 是针对嵌入式和物联网使用的吗?

A:不仅仅是。HVML 是一种通用的胶水语言,HVML 的目标平台包括传统的桌面、服务器、智能手机、平板、嵌入式设备和物联网设备。

Q:HVML 是打算取代现有的 Web 前端开发技术,比如 JavaScript 吗?

A:没有这个计划。HVML 的渲染器会用到 Web 前端技术,但 HVML 的目标并不是取代现有的 Web 前端开发技术,而是面向未来的多屏协同场景下的需求,为应用的跨端运行提供全新的技术框架,同时作为合璧操作系统(HybridOS)的首选编程语言。

Q:在哪里可以看到 HVML 相关的源代码?

A:HVML 相关文档及代码仓库在 https://github.com/HVML 上开源发布,其中包括:

  1. HVML 解释器(PurC):https://github.com/HVML/PurC
  2. HVML 图形渲染器(xGUI Pro):https://github.com/HVML/xGUI-Pro

Q:相比 HybridOS 1.0,HybridOS 2.0 的主要区别是什么?

A:开发 HybridOS 1.0 时 HVML 尚未诞生。事实上,HVML 的设计来源于 HybridOS 1.0 开发中的一些原始设想。现在 HVML 已成熟,HybridOS 就有了自己的应用编程语言。

HybridOS 2.0 继承了 HybridOS 1.0 的图形栈以及大量基础设施(如数据总线)。其主要不同在于,开发者可使用 HVML 编程语言为 HybridOS 2.0 开发应用。

Q:在哪里可以看到 HybridOS 2.0 相关的源代码?

A:HybridOS 2.0 相关文档及代码仓库在 https://github.com/HybridOS2 上开源发布,其中包括:

  1. 合璧数据总线(HBDBus):https://github.com/HybridOS2/HBDBus
  2. 合璧网络设备管理器(HBDInetd):https://github.com/HybridOS2/HBDInetd
  3. 合璧操作系统设计及规范文档:https://github.com/HybridOS2/Documents

Q:有可以直接下载安装的软件包吗?

A:因开发团队精力有限,目前尚没有制作针对各个操作系统的安装包,但来自开源社区的小伙伴们已经积极行动,帮助我们完成了一些 Linux 发行版的安装包。我们将这些软件包收集到了如下页面,可访问查看:

https://hvml.fmsoft.cn/software

Q:如何赞助 HVML 相关的项目?

A:个人打赏性质的赞助,您可以点击文后的原文链接。大额的赞助,可通过“Contact”留下联系方式,或者致信 hvml@fmsoft.cn,我们会及时联系您。

原文链接

https://store.fmsoft.cn/campaign/denoteoss-lt


Loading Conversation