1、HVML解释器PurC的新特性以及新的渲染器xGUI薛淑明 飞漫软件议题1.HVML编程语言2.HVML解释器和渲染器3.解释器PurC的新特性4.新的渲染器 xGUIHVML-Hybrid Virtual Markup LanguageHVML编程语言什么是HVML?HVML 是 Hybrid Virtual Markup Language 的缩写。它是由中国首个开源项目 MiniGUI 的作者魏永明提出并设计的一种通用且易学的编程语言,是一种具有新结构、新原理和新设计模式的可编程标记语言。HVML 是一种可编程标记语言,使用标记来定义程序的结构和数据。HVML定义了20多个标签分为三个大类
2、:框架标签(frame tag),用于定义 HVML 程序的框架或者整体结构。模板标签(template tag),用于定义参数化模板。动词标签(verb tag),用于定义操作数据、更新目标文档或控制虚拟机的动作。上述标签以外的标签称为 外部标签(foreign tag)。对于由外部标签定义的元素,HVML 赋予一个默认且统一的操作:对属性值和内容求值,然后将它们复制到目标文档。HVML-Hybrid Virtual Markup LanguageHello,World!HVML解释器和渲染器用于Linux桌面的HVML框架图用于嵌入式平台的HVML框架图HVML 应用框架的关键特点解释器和
3、渲染器分离 HVML 解释器提供了跨平台的接口,用于业务逻辑的运行,负责和操作系统底层打交道。HVML 程序不处理任何和具体的渲染效果相关的工作。HVML 渲染器可基于成熟的 Web 前端技术开发,从而提供丰富的界面展现效果和交互效果;亦可运行在受限的嵌入式图形界面,甚至字符终端上。HVML-Hybrid Virtual Markup Language 渲染器仅负责界面渲染和用户交互,不负责业务逻辑。渲染器的运行独立于解释器,它和解释器各自运行,可能在同一个进程里分属不同模块,也可能在一个设备的不同进程里,也可能在一个网络里的不同设备上。渲染器和解释器仅就这些内容通讯:需要显示或更新的HTML
4、/XML内容和高层用户交互事件。使得对多屏应用的支持变得非常简单:应用可以在多个显示设备上显示相同的内容:多屏同显。应用可以在多个显示设备上显示不同的内容:多屏异显。这些显示的内容可以在显示设备之间迁移:应用热迁移。HVML-Hybrid Virtual Markup LanguageHVML 应用框架的关键特点HVML 解释器和渲染器的实现HVML-Hybrid Virtual Markup Language PurC 一个使用C/C+实现的HVML解释器 LGPLv3许可证 https:/ xGUI Pro 基于WebKit构建的HVML渲染器 GPLv3许可证 https:/ 为了让Pu
5、rC解释器独立运行而内建的特殊渲染器 Foil:一个使用字符界面渲染的轻量级渲染器 Headless:不进行任何渲染动作的渲染器。Seeker:一个在网络或者本地搜寻可用物理渲染器的软件。使用GPLv3许可证作为PurC解释器源代码的一部分。其他开发中的渲染器:xGUI:完全从头开发的跨平台渲染器解释器PurC的新特性多屏应用的增强 23年实现了多屏异显和应用执迁移。24年实现了多屏同显,应用界面可以同时显示在多个设备上,并且都支持操作。解释器与渲染器通讯改进 重新实现了解释器与渲染器之前的通讯。针对Websocket通讯提供了SSL的支持。新增$SOCKET$SOCKET 是一个行者级内置变
6、量,该变量可用于创建流套接字或者数据报套接字,并监听该套接字上的连接请求,或者直接收发消息。该变量主要提供如下接口:使用$SOCKET 提供的 stream()方法,可创建一个用于监听连接请求的流套接字(streamSocket)原生实体。使用$SOCKET 提供的 dgram()方法,可创建一个数据报套接字(dgramSocket)原生实体。流套接字流套接字(streamSocket)原生实体主要提供如下接口:socket:connAttempt 事件,用于通知一个新的客户端连接请求。accept()方法:用于接