weekly icon indicating copy to clipboard operation
weekly copied to clipboard

【开源自荐】国产编程语言HVML

Open chichina opened this issue 1 year ago • 1 comments

HVML 的设计目标是让熟悉 C/C++、Python 或其他编程语言的开发人员使用 Web 前端技术(如 HTML/SVG、DOM 和 CSS)轻松开发 GUI 应用程序,而不是在 Web 浏览器或 Node.js 中使用 JavaScript 编程语言。

所谓“虚拟 DOM” 是指前端应用程序通过 JavaScript 来创建和维护一个虚拟的文档对象树,应用脚本并不直接操作真实的 DOM 树。在虚拟 DOM 树中,通过一些特别的属性实现了基于变量的一些流程控制,如条件、循环等。虚拟 DOM 技术提供如下一些好处:

由于脚本并不使用脚本程序直接操作真实的 DOM 树,故而一方面通过现有的框架简化了前端开发的复杂性,另一方面通过优化对真实 DOM 树的操作而减少了由于动态修改页面内容而对 DOM 树的频繁操作,从而提高了页面的渲染效率和用户体验。 通过虚拟 DOM 技术,程序对某个数据的修改,可以直接反映到该数据绑定的页面内容上,开发者无需主动或直接地调用相关接口来操作 DOM 树。这种技术提供了所谓的“响应式”编程,极大降低了开发者的工作量。 以 React.js、Vue.js 为代表的前端框架取得了巨大成功。看起来还是互联网公司钱多人多,所以可以肆无忌惮地不停地造各种各样的轮子。

然而,嵌入式或者物联网设备上的应用开发者却无法享受这些技术进步带来的红利。要开发嵌入式或者物联网设备上的应用,绝大多数情况下还是要使用 C/C++ 这种编程语言。虽说现在也有一些物联网操作系统尝试在系统中引入 JavaScript 或者 Python 语言的支持,但仅仅一个编程语言是不够的。比如博大精深的 Web 前端技术中,JavaScript 的确扮演了重要的角色,但 Web 前端技术赖以运转的基础却是 DOM 以及 CSS:DOM 提供了一种描述文档或者界面中的元素及其属性、内容的数据结构,而 CSS 描述了元素的布局、样式以及动画效果等渲染特性。一句话,那精妙的 Web 页面效果,不是通过 JavaScript 描述的,而是由 DOM 和 CSS 决定的。

github地址:https://github.com/HVML

chichina avatar Aug 02 '22 09:08 chichina

请教一些问题:和JSX灵活性相比有优势吗?在生成DOM方面,有多少性能提升?(看您提到了低端/专用设备,不知道这些提升是否能实际应用到创建GUI应用上呢)

ryuujo1573 avatar Aug 02 '22 16:08 ryuujo1573