近日,国际测试委员会(Bench Council)邀请多位独立科学家,从 2022 至 2023 年度的数万项开源相关成果中遴选出近百项代表性成果,在确定主要贡献者的基础上产生开源领域年度人才榜、机构榜、国家榜。该榜单只以贡献论英雄,是对开源领域进行综合评估和全面总结的重磅榜单,受到国际权威专家们的强烈关注和热烈反馈。在开源领域,中国紧随美国排名第二入选国家榜。HVML 项目由于创新的设计理念以及完善的社区管理,成功入选年度世界开源成果榜。HVML 项目发起人魏永明入选年度世界开源贡献榜。
我们将再接再厉,计划于 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 社区将开始建设自己的超操作系统平台。要点如下:
- 我们将使用 flatpak 技术打包 xGUI Pro,用户直接下载和安装 xGUI Pro 的 flatpak 包,即可在绝大多数的 Linux 桌面发行版或操作系统上运行 xGUI Pro。
- 我们将使用 LXC 容器技术发布 HVML 解释器的运行环境和开发环境。普通用户使用运行环境;而开发者使用开发环境开发自己的 HVML 应用。
- xGUI Pro 将成为 HVML 应用的启动器。用户在 xGUI Pro 的界面上可直接启动安装在本地的 HVML 应用,亦可直接运行云端的 HVML 应用,免除应用的本地安装过程。
- 基于 HVML 应用的热迁移技术,用户可随时随地访问运行在云端的 HVML 应用,而无需中断 HVML 应用的运行。
- 我们将为开发者提供 HVML 应用的快捷发布能力,同时提供 HVML 应用商店服务。
合璧操作系统 2.0 架构图
我们设计和开发 HVML 的出发点,便是为了实践魏永明的操作系统方法论,为自主的合璧操作系统(HybridOS)设计一个全新的应用编程语言,围绕 HVML 构建这个操作系统的应用运行框架并提供相应的应用编程接口(API)。合璧操作系统是面向嵌入式设备以及智能设备的操作系统。
下图给出了 HybridOS 2.0 的系统框图。
从上图可以看出,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 发布):
- PurC 0.9.18,这是 PurC 的一个重要增强及缺陷修复版本:https://github.com/HVML/PurC
- xGUI Pro 0.9.0,这是 PurC 的一个重要增强及缺陷修复版本:https://github.com/HVML/xGUI-Pro
另外,我们同时发布了 HVML-FPM(The FastCGI Process Manager for HVML,HVML 的 FastCGI 进程管理器)项目。和 PHP-FPM 类似,使用 HVML-FPM,可使用 HVML 开发 Web 服务器后台程序:
- HVML-FPM:https://github.com/HVML/HVML-FPM
HVML 相关文档的更新
我们于 2023 年 11 月 30 日发布了 HVML 规范 1.0 RCg 版本。该版本主要为 hvml
标签增加了 template
属性。
我们于 2023 年 11 月 30 日发布了 HVML 预定义变量 1.0 RCg 版本。该版本新增了若干接口。
相关链接如下:
下一步计划
2023 年最后的一个月,我们将继续围绕 HVML 解释器和渲染器完成如下功能:
- 变体支持内置方法。
- 预定义动态对象 SQLITE 的实现。
- 发布 xGUI Pro 的 flatpak 包。
- 正式发布 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 上开源发布,其中包括:
- HVML 解释器(PurC):https://github.com/HVML/PurC
- 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 上开源发布,其中包括:
- 合璧数据总线(HBDBus):https://github.com/HybridOS2/HBDBus
- 合璧网络设备管理器(HBDInetd):https://github.com/HybridOS2/HBDInetd
- 合璧操作系统设计及规范文档:https://github.com/HybridOS2/Documents
Q:有可以直接下载安装的软件包吗?
A:因开发团队精力有限,目前尚没有制作针对各个操作系统的安装包,但来自开源社区的小伙伴们已经积极行动,帮助我们完成了一些 Linux 发行版的安装包。我们将这些软件包收集到了如下页面,可访问查看:
https://hvml.fmsoft.cn/software
Q:如何赞助 HVML 相关的项目?
A:个人打赏性质的赞助,您可以点击文后的原文链接。大额的赞助,可通过“联系我们”留下联系方式,或者致信 hvml@fmsoft.cn
,我们会及时联系您。