近日,国际测试委员会(Bench Council)邀请多位独立科学家,从 2022 至 2023 年度的数万项开源相关成果中遴选出近百项代表性成果,在确定主要贡献者的基础上产生开源领域年度人才榜、机构榜、国家榜。该榜单只以贡献论英雄,是对开源领域进行综合评估和全面总结的重磅榜单,受到国际权威专家们的强烈关注和热烈反馈。在开源领域,中国紧随美国排名第二入选国家榜。HVML 项目由于创新的设计理念以及完善的社区管理,成功入选年度世界开源成果榜。HVML 项目发起人魏永明入选年度世界开源贡献榜。

证书.png

我们将再接再厉,计划于 2024 年将 HVML 应用于真实的产品中,同时打造 HVML 的在线开发工具,完成商业闭环。

另外,魏永明将在本月召开的 C++ 系统大会和 QCon 上,发表《HVML 编程语言及其应用的跨端运行技术》的报告,欢迎小伙伴莅临现场:

  • 2023 全球 C++ 及系统软件技术大会(12 月 16-17 日,北京金茂万丽酒店);报告时间:16 号(周六)下午。
  • 2023 QCon 软件开发大会(12 月 28-29 日,上海中优城市万豪酒店);报告时间:29 号(周五)下午。

引言

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

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

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

在 HVML 解释器、渲染器等软件开源发布一年之后,我们正式推出了合璧操作系统 2.0,其中的应用程序,全部使用 HVML 语言开发;从现在起,HVML 开始建设自己的超操作系统平台。

HVML 应用的多屏异显功能

在 2023 年 7 月的 HVML 动态文章中,我们介绍了基于合璧操作系统 2.0,用 HVML 开发的智能音箱应用;在 2023 年 8 月的 HVML 动态文章中,我们介绍了基于合璧操作系统 2.0,用 HVML 开发的汽车仪表应用;在 2023 年 9 月的 HVML 动态文章中,我们介绍了基于合璧操作系统 2.0,用 HVML 开发的智能面板应用;在 2023 年 10 月,我们展示了 HVML 应用的热迁移技术。在过去的 2023 年 11 月,我们进一步展示了 HVML 应用的多屏异显功能。所谓多屏异显,指的是同一个应用可以在多个设备上展示不同的内容:

超操作系统的 HVML 应用平台

随着 HVML 解释器和渲染器逐渐成熟,我们最初的很多设想已经变成了现实。从现在起,HVML 社区将开始建设自己的超操作系统平台。要点如下:

  1. 我们将使用 flatpak 技术打包 xGUI Pro,用户直接下载和安装 xGUI Pro 的 flatpak 包,即可在绝大多数的 Linux 桌面发行版或操作系统上运行 xGUI Pro。
  2. 我们将使用 LXC 容器技术发布 HVML 解释器的运行环境和开发环境。普通用户使用运行环境;而开发者使用开发环境开发自己的 HVML 应用。
  3. xGUI Pro 将成为 HVML 应用的启动器。用户在 xGUI Pro 的界面上可直接启动安装在本地的 HVML 应用,亦可直接运行云端的 HVML 应用,免除应用的本地安装过程。
  4. 基于 HVML 应用的热迁移技术,用户可随时随地访问运行在云端的 HVML 应用,而无需中断 HVML 应用的运行。
  5. 我们将为开发者提供 HVML 应用的快捷发布能力,同时提供 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 年 11 月,HVML 社区更新了 HVML 解释器 PurC 和渲染器 xGUI Pro(通过 https://github.com/HVML 发布):

另外,我们同时发布了 HVML-FPM(The FastCGI Process Manager for HVML,HVML 的 FastCGI 进程管理器)项目。和 PHP-FPM 类似,使用 HVML-FPM,可使用 HVML 开发 Web 服务器后台程序:

HVML 相关文档的更新

我们于 2023 年 11 月 30 日发布了 HVML 规范 1.0 RCg 版本。该版本主要为 hvml 标签增加了 template 属性。

我们于 2023 年 11 月 30 日发布了 HVML 预定义变量 1.0 RCg 版本。该版本新增了若干接口。

相关链接如下:

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

下一步计划

2023 年最后的一个月,我们将继续围绕 HVML 解释器和渲染器完成如下功能:

  1. 变体支持内置方法。
  2. 预定义动态对象 SQLITE 的实现。
  3. 发布 xGUI Pro 的 flatpak 包。
  4. 正式发布 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:个人打赏性质的赞助,您可以点击文后的原文链接。大额的赞助,可通过“联系我们”留下联系方式,或者致信 hvml@fmsoft.cn,我们会及时联系您。

原文链接

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