2020 年 5 月,笔者有了设计一款与众不同编程语言的想法,后于 2020 年 7 月提出了 HVML 编程语言并公开了第一份规范草案。一年后,即 2021 年 7 月,我们成立了一个攻坚团队并正式开始了 HVML 解释器(PurC)的开发。2021 年 12 月 27 日,第一个 HVML 程序成功运行,标志着 HVML 的正式诞生。从 2020 年 5 月开始构思,到 2021 年 12 月诞生,整整 20 个月!
从 2021 年 8 月起,我们通过“考鼎录”公众号发表 HVML 的开发月报,向关注 HVML 的各位朋友汇报相关研发进展。本文是 HVML 开发月报的第六期。
在笔者发表于 2018 年的《三谈操作系统》一文中提到,一个操作系统区别于其他操作系统最为重要的技术特征就是围绕某个特定编程语言形成的应用编程接口(API)。我将这个技术特征比喻为操作系统的基因。要设计一个全新的操作系统,就必须在某个编程语言基础上设计一套完备的、可扩展的、易用的应用编程接口,而 HVML 就是笔者为正在开发中的下一代操作系统——合璧操作系统——设计的全新编程语言。
第一次听说 HVML 的朋友,可以阅读如下文章以了解其背景:《合璧操作系统的大胆技术突破:漫谈 HVML,它的由来和未来》。
本文作为 HVML 开发月报的第六期,主要包括如下内容:
- 2021 年 12 月完成的工作内容
- 下一步计划
- HVML 兴趣小组
- 常见问题及解答
2021 年 12 月完成的工作内容
在研发团队的努力下,2021 年 12 月 27 日,我们成功运行了 第一个 HVML 程序,验证了 HVML 编程语言的基本原理。
2021 年 12 月,我们完成的主要工作如下:
- 完成了 PurC 中的 HVML 解释运行模块,主要包括:
- 执行栈、栈帧及变量管理。
- 错误及异常处理。
- 主要 HVML 动作标签的实现。
- 序列化 eDOM 作为程序输出。
- 为预定义变量
$MATH
和$STR
新增若干方法。 - 调试用渲染器:
- 通讯协议数据包的解析。
- 命令行程序框架。
- 微调如下规范文档:
下一步计划
2022 年 01 月,团队将完成:
- 围绕 第二个 HVML 程序 继续完善 PurC:
- 从外部数据源中获取内容初始化变量。
- 验证
$T
预定义变量。 - 通过操作
$TIMERS
变量设置定时器。 - 观察定时器并周期性改变目标文档内容。
- 支持更多动作元素。
- 围绕 第三个 HVML 程序 继续完善 PurC:
- 完善针对对象、集合的
merge
、unite
等操作。 - 完善针对元素汇集及元素的属性及内容的更新。
- 支持
test
和match
标签。 - 验证
$MATH
可装载预定义变量。
- 完善针对对象、集合的
- 完成调试用渲染器。
HVML 兴趣小组
HVML 兴趣小组是一个虚拟小组,主要成员是对 HVML 及相关技术感兴趣的业内人士,这个小组主要通过微信群聊沟通。
如有兴趣加入该群聊,您可以通过点击“Contact”在后台留言,留下您的微信号,小编加您好友之后拉您入群。
目前 HVML 兴趣小组正在围绕如下两个规范文档展开工作:
常见问题及解答
Q:HVML 是针对嵌入式和物联网使用的吗?
A:不仅仅是。HVML 是一种通用的胶水语言,主要用来开发跨平台的 GUI 应用,因此,HVML 的目标平台包括传统的桌面、智能手机、平板、嵌入式设备和物联网设备。
Q:HVML 是打算取代现有的 Web 前端开发技术,比如 JavaScript 吗?
A:没有这个计划。HVML 的渲染器会用到 Web 前端技术,但 HVML 的目的并不是取代现有的 Web 前端开发技术,而是为跨平台 GUI 应用的开发提供另外一种技术框架。
Q:在哪里可以看到 PurC 和 xGUI 的源代码。
A:PurC 和 xGUI 仍然处在开发状态,暂时不向公众开放其代码仓库。
Q:未来会开源 PurC 和 xGUI 吗?
A:会的,而且我们会使用商业友好的宽松许可证(如 LGPL)发布 PurC 和 xGUI。
Q:如何赞助 HVML 相关的项目?
A:个人打赏性质的赞助,您可以点击文后的阅读原文。大额的赞助,可点击“Contact”留下联系方式,我们的小编会联系您。
原文链接
https://store.fmsoft.cn/campaign/denoteoss-lt
附:商标声明
本文提到的产品、技术或者术语名称,涉及北京飞漫软件技术有限公司在中国或其他地区注册的如下商标:
- 飛漫
- FMSoft
- 合璧
- HybridOS
- HybridRun
- MiniGUI
- xGUI
- miniStudio
- HVML
- 呼噜猫
- Purring Cat
- PurC