HVML 是由中国首款开源基础软件 MiniGUI 的作者魏永明设计的描述式编程语言,也是世界首款可编程标记语言。
从 2020 年 5 月开始构思算起,魏永明带领团队历经两年多的时间,于 2022 年 7 月 31 日正式开源发布了 HVML 规范文档以及解释器、渲染器等软件,总代码行数逾百万!
面向碎片化世界的应用开发需求,HVML 为应用的跨平台及跨端运行提供了全新的技术框架,其描述式语法非常适合人工智能生成。HVML 蕴含了大量新颖的设计和独创的思想,是魏永明及其团队近三十年基础软件开发经验的结晶,一经发布便获得了业界的广泛关注。2022 年底,HVML 项目获评 CSDN 2022 “年度开源影响力项目”;2023 年 4 月,中国开源软件推进联盟(COPU)主席陆首群先生倡议:“全行业都应该积极支持 HVML 的研发!”
目前,HVML 解释器及渲染器已接近成熟,研发团队已启动 HybridOS 2.0 的开发,将使用 HVML 开发各类 HybridOS 应用。
本文将向读者介绍 HVML 社区的近期动态。
软件及文档的更新
HVML 解释器 PurC 0.9.10
2023 年 04 月 30 日,HVML 社区发布 PurC 0.9.10,这也是 PurC 1.0.x 的第九个 alpha 版本。
在这个版本中,开发团队增强了 PurC 中内置的 Foil 字符渲染器以支持文档内容的动态更新,同时支持 PURCMC 协议 120 版本。其中升级后的 PURCMC 协议可用于支持多个协程使用同一个渲染器页面,从而方便复杂应用的开发。
三维随机游走示例程序
PurC 0.9.10 版本中一些主要的变化说明如下:
- 接口变化:
- 暴露 PurC 函数库中的
pcutils_kvslist_xxx
接口,应用程序可使用该接口创建键/值列表。 - 新增
$CRTN.static
和$CRTN.temp
接口,以方便在 HEE 中访问或者操作静态变量或临时变量。 - 新增若干接口。
- 暴露 PurC 函数库中的
- 增强:
- PURCMC 120 协议支持。
- 优化 HVML 和 HEE 解析的错误信息,以帮助开发者更好地定位错误。
- Foil 渲染器支持文档内容的动态更新。
- Foil 渲染器新增若干测试用例。
- 缺陷修正:
- 修复
match
和back
元素的缺陷。
- 修复
- 示例程序:
- 新增示例程序
file-system-browser.hvml
:多个协程使用同一渲染器页面。
- 新增示例程序
若发现任何错误、不兼容性和问题,请向 https://github.com/HVML/PurC/issues 报告。
HVML 渲染器 xGUI Pro 0.7.0
最新发布的 xGUI Pro 0.7.0 版本,主要提供了如下增强:
- 对 PURCMC 120 协议的支持。
若发现任何错误、不兼容性和问题,请向 https://github.com/HVML/xGUI-Pro/issues 报告。
HVML 规范 1.0 RCb
我们于 2023 年 04 月 30 日发布了 HVML 规范 1.0 RCb 版本,并进入到 HVML 规范的 1.0 RCc 版本。
在 RCb 版本中,我们围绕 HVML 语言规范主要做了如下调整及增强:
- 调整页面类型及工作区名称规范。
- 新增
rdrState:pageLoaded
事件。
有关详情,可点击阅读如下链接:
HVML 预定义变量规范 1.0 RCb
我们于 2023 年 03 月 31 日发布了 HVML 预定义变量 1.0 RCb 版本。
在这个版本中,我们围绕 HVML 预定义变量主要做了如下调整及增强:
- 调整
$CRTN.static
和$CRTN.temp
两个属性的用法。 - 新增
$DOC.serialize
方法。 - 移除
$PY.info.path
属性。 - 新增
native/dirStream.stat
方法。 - 新增
$RDR.stat
方法。
有关详情,可点击阅读如下链接:
社区活动
2023 年 04 月 02 日,HVML 社区举办了第四次线上研讨会,主要内容是讲解如何在 HVML 中内嵌使用 Python 以及 Foil 渲染器的最新进展。视频回放如下:
2023 年 04 月,社区小伙伴们围绕如下方面做出了贡献:
-
更新 0.9.8 版本的 AUR 包描述信息,由 @taotieren 提交拉取请求;
-
添加 PurC/README_zh.md 中 Python 的具体版本号,由 @LTreeshu 提交拉取请求。
下一步计划
2023 年 04 月,研发团队启动了 HybridOS 2.0 的开发,将使用 HVML 开发各类 HybridOS 应用,并和合作伙伴一起,为汽车电子、AIoT 智能设备等领域打造全自主的操作系统。
2023 年 05 月底,我们将发布 PurC 0.9.12 版本和 xGUI Pro 0.8.0 版本,预期功能包括:
- 增强 Foil 字符渲染器以支持表格(table)布局。
- 预定义动态对象的完整实现。
- xGUI Pro 对 MiniGUI 的支持。
2023 年 06 月底,我们将发布 PurC 0.9.14 版本,预期功能包括:
- 增强 Foil 字符渲染器以支持网格(grid)盒子布局。
- 增强 Foil 字符渲染器以支持弹性(flex)盒子布局。
2023 年 07 月底,我们将发布 PurC 0.9.16 版本(相当于 1.0.0 Beta),预期功能包括:
- 增强 Foil 字符渲染器以支持全屏模式,支持多窗口。
- 增强 Foil 字符渲染器以支持
select
、input
等基本输入构件。
预计我们将在 2023 年 07 月底发布 PurC 1.0.0 版本,预期功能包括:
- 内存及性能的初步优化。
- 对 Windows 平台的支持。
常见问题及解答
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
- 扩展 WebKit 引擎(仅源代码包)
- 开发用 HVML 字符渲染器(PurC Midnight Commander):https://github.com/HVML/PurC-Midnight-Commander
Q:有可以直接下载安装的软件包吗?
A:因开发团队精力有限,目前尚没有制作针对各个操作系统的安装包,但来自开源社区的小伙伴们已经积极行动,帮助我们完成了一些 Linux 发行版的安装包。我们将这些软件包收集到了如下页面,可访问查看:
https://hvml.fmsoft.cn/software
Q:如何赞助 HVML 相关的项目?
A:个人打赏性质的赞助,您可以点击文后的阅读原文。大额的赞助,可通过“联系我们”留下联系方式,或者致信 hvml@fmsoft.cn
,我们会及时联系您。