2022 年 7 月 31 日,我们开放了 HVML 相关的六大代码仓库,其中前五个代码仓库的总行数已超过一百万行:

  1. HVML 解释器(PurC)
  2. HVML 外部数据获取器(PurC Fetcher)
  3. HVML 字符渲染器(PurC Midnight Commander)
  4. HVML 图形渲染器(xGUI Pro)
  5. DOM 布局库(DOM Ruler)
  6. 扩展 WebKit 引擎(仅源代码包)

这标志着 HVML 1.0 的正式发布。

两年的时间,我们实现了从 0 到 1 的突破:

  1. 2020 年 5 月,笔者有了设计一款与众不同的编程语言的想法,后于 2020 年 7 月提出了 HVML 编程语言并公开了第一份规范草案。
  2. 2021 年 7 月,我们成立了一个攻坚团队并正式开始了 HVML 解释器(PurC)的开发。
  3. 2021 年 12 月 27 日,第一个 HVML 程序成功运行,标志着 HVML 的正式诞生。
  4. 2022 年 3 月 11 日,HVML 解释器完成和渲染器的对接,标志着 HVML 解释器和渲染器通讯协议 PURCMC 的诞生。
  5. 2022 年 5 月 30 日,我们完成了 HVML 图形渲染器 xGUI Pro 的初步版本。
  6. 2022 年 7 月 31 日,HVML 1.0 解释器 PurC、渲染器 xGUI Pro 趋于稳定,我们公开了 HVML 相关的所有源代码仓库(或软件包)。

在整整一年的开发过程中,笔者带领团队实现了所有的创新性设想以及绝大多数的功能。最初,我们的目标是让熟悉 C/C++ 或其他编程语言的开发人员可以通过 HVML 使用 Web 前端技术(如 HTML/SVG/MathML 和 CSS)轻松开发 GUI 应用程序,而不是在 Web 浏览器或 Node.js 中使用 JavaScript 编程语言做绕转。现在,我们不光实现了这一目标,而且还将 HVML 实现为一种通用的编程语言。

作为设计者,笔者将 HVML 定义为一种全新的编程语言:可编程标记语言(Programmable Markup Language)。我们为 HVML 赋予了全新的设计理念,使之不同于我们熟知的任何一种编程语言:

  1. HVML 使用标记来定义程序的结构和控制流,这大大提高了程序的可读性,同时大幅降低了学习难度。
  2. HVML 使用具有动态功能的扩展 JSON 来定义数据,这使其成为粘合不同系统组件的理想胶水。
  3. HVML 引入了数据驱动的编程模型,这让开发人员更多地关注数据生成和处理,而不是控制流。
  4. HVML 是动态的;开发人员不仅可以从远程数据源获取数据、模板和程序片段,还可以删除已有的变量。
  5. HVML 使用独有的方式来支持协程、线程、闭包等等这些现代编程语言必备的特性。
  6. HVML 非常灵活;开发人员可以使用 HVML 编写简单的脚本工具,也可以使用它来开发复杂的 GUI 应用程序,甚至可以用 HVML 开发 Web 服务器的网关程序。
  7. HVML 的运行飞快;HVML 解释器使用简单高效的基于堆栈的虚拟机,不使用任何垃圾收集器。
  8. 相比常见的脚本语言,HVML 具有更高的抽象级别;使用 HVML,开发者可以用更少的代码完成更多的工作。

现在,任何人都可以使用 HVML 开发自己的程序,体验 HVML 的设计思想,用简洁的代码实现自己的创意,并探究其内部实现。我们欢迎任何人通过开源协作的方式提出自己的改进意见,甚至是优化或缺陷修正。

访问 HVML 解释器 PurC 的源代码仓库,并按照 README.md 文件中描述的步骤,即可自行构建 PurC 以及相关软件:

https://github.com/HVML/PurC

一定要点亮每个 HVML 代码仓库的 Star 给予我们鼓励!

并请牢记 HVML 社区在 GitHub.COM 上的官方组织 URL:

https://github.com/HVML

或者 HVML 社区的官方网站:

https://hvml.fmsoft.cn

您通过这两个 URL 之一,可以找到所有 HVML 相关的代码仓库、文档和资源。

今天,HVML 的正式发布只是开始;今后,HVML 相关的开发将进入开源协作的新阶段。HVML 社区将围绕语言本身的演进、预定义变量的实现、跨平台应用以及合璧操作系统等主题开展后续工作。我们将联合各方力量共同建设 HVML 社区,同时推进 HVML 的应用。

一个新的编程语言,从诞生到成熟,需要一个漫长的成长过程,因此,HVML 将是一个长期的项目。我们期待更多的个人或者企业加入到 HVML 社区中当中,和 HVML 一起成长!

另外,有关 HVML 的教程、设计思想的介绍等相关的内容,我们将通过订阅号“考鼎学堂”发布,欢迎大家关注“考鼎学堂”。

 

考鼎学堂.jpeg

常见问题及解答

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

A:不仅仅是。HVML 是一种通用的胶水语言,HVML 的目标平台包括传统的桌面、服务器、智能手机、平板、嵌入式设备和物联网设备。作为通用编程语言,您可以将其应用于任何适合的场合。

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

A:没有这个计划。HVML 的渲染器会用到 Web 前端技术,但 HVML 的目的并不是取代现有的 Web 前端开发技术,而是为跨平台 GUI 应用的开发提供另外一种技术框架,同时作为合璧操作系统的首选编程语言。

Q:PurC 和 xGUI Pro 等软件使用哪种开源许可证发布?

A:PurC 主要以函数库的形式提供给开发者使用,您可以基于 PurC 开发自己的 HVML 解释器。因此,我们使用 LGPLv3 许可证发布 PurC。LGPLv3 许可证不要求您基于 PurC 开发的解释器或者运行其上的 HVML 程序代码遵循 GPL 的条款,故而,在遵循 LGPLv3 许可证条款以及约定条件的前提下,将 PurC 用于商业用途是 LGPLv3 许可证赋予您的权利,您无需提前知会版权所有人,也无需向任何人付费。

我们遵循 GPLv3 发布 xGUI Pro。xGUI Pro 是一个应用程序,在遵循 GPLv3 许可证条款以及约定条件的前提下,将 xGUI Pro 用于商业或其他用途,是 GPLv3 许可证赋予您的权利,无需提前知会版权所有人,也无需向任何人付费。

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

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

原文链接

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

附:商标声明

本文提到的产品、技术或者术语名称,涉及北京飞漫软件技术有限公司在中国或其他地区注册的如下商标:

  1. 飛漫

飛漫

  1. FMSoft

FMSoft

  1. 合璧

合璧 合璧 合壁

  1. HybridOS

HybridOS

  1. HybridRun

HybridRun

  1. MiniGUI

MiniGUI

  1. xGUI

xGUI

  1. miniStudio

miniStudio

  1. HVML

HVML

  1. 呼噜猫

呼噜猫

  1. Purring Cat

Purring Cat

  1. PurC

PurC