《薛淑明-HVML编程语言及其应用的跨端运行技术.pdf》由会员分享,可在线阅读,更多相关《薛淑明-HVML编程语言及其应用的跨端运行技术.pdf(42页珍藏版)》请在三个皮匠报告上搜索。
1、HVML编程语言及其应用的跨端运行技术薛淑明 飞漫软件议题1.为什么设计HVML2.HVML编程语言的十大特性3.跨端应用的几种实现4.HVML语言的跨端实现方法5.HVML解释器和渲染器的实现6.将HVML作为全栈语言HVML-Hybrid Virtual Markup Language我们为什么设计HVML我们为什么设计HVML?当今时代,使用传统编程语言(C/C+等)编写用户界面程序就好像“杀鸡用牛刀”。另一方面,Web 技术使用 HTML/CSS 这类描述性的语言,可以直观地设置界面元素的样式、布局、动画、过渡等常见操作。如:HVML-Hybrid Virtual Markup Lan
2、guagediv transition:width 2s ease-in-out 1s;我们为什么设计HVML?HVML 最初的设计目标是,通过在传统编程语言(C/C+/Rust 等)及其运行时环境中引入 Web 技术,来解放熟悉传统语言又要开发界面的开发者。我们没有使用 JavaScript/TypeScript 等编程语言,是因为这需要完整的浏览器环境或者引入 Node.js 或类似的模块,而且很可能丧失对 Web 技术中最关键特性的支持能力。我们达到了以上设计目标,并且赋予了 HVML 全新的能力,使其成为一个通用的编程语言。HVML-Hybrid Virtual Markup Lang
3、uageHVML语言的十大特性1)描述性世界首款可编程标记语言HVML语言十大特性2)复合表达式HVML语言十大特性3)数据驱动HVML语言十大特性4)模板功能HVML语言十大特性5)基于栈式虚拟机的运行时引擎HVML语言十大特性6)内置事件驱动编程HVML语言十大特性7)异步编程模型HVML语言十大特性8)协程HVML语言十大特性9)并发HVML语言十大特性10)动态HVML语言十大特性针对不同场景的HVML框架示例与应用用于Linux桌面的HVML框架图用于嵌入式平台的HVML框架图HVML程序示例HVML 应用框架的关键特点A.解释器和渲染器分离 HVML 解释器提供了跨平台的接口,用于
4、业务逻辑的运行,负责和操作系统底层打交道。HVML 程序不处理任何和具体的渲染效果相关的工作。HVML 渲染器可基于成熟的 Web 前端技术开发,从而提供丰富的界面展现效果和交互效果;亦可运行在受限的嵌入式图形界面,甚至字符终端上。B.为什么其他编程语言很难做到这点?HVML 程序操控文档而非文档的渲染,处理文档元素上的事件而非底层输入事件。HVML 语言提供了将解释器和渲染器分离设计下的事件驱动模型内置的语言特性。HVML-Hybrid Virtual Markup Language基于HVML的实际产品展示1)智能音箱基于HVML的实际产品2)智能仪表盘基于HVML的实际产品3)智能面板H
5、VML语言的应用跨端技术1)X11 协议跨端应用的几种实现2)远程桌面和云手机跨端应用的几种实现3)CarPlay跨端应用的几种实现4)分布式应用跨端应用的几种实现HVML语言的跨端实现方法跨端应用的几种实现渲染器仅负责界面渲染和用户交互,不负责业务逻辑。渲染器的运行独立于解释器,它和解释器各自运行,可能在同一个进程里分属不同模块,也可能在一个设备的不同进程里,也可能在一个网络里的不同设备上。渲染器和解释器仅就这些内容通讯:需要显示或更新的HTML/XML内容和高层用户交互事件。这种方法打开了新世界的大门!vDOM:the DOM generated from HVML program.eDO
6、M:the effective DOM managed by HVML interpreter.uDOM:the ultimate DOM managed by HVML renderer.HVML语言的跨端实现方法HVML渲染器和解释器之间的交互行为HVML语言的跨端实现方法HVML渲染器和解释器之间的交互行为HVML跨端实现方法的优势HVML语言的跨端实现方法跨操作系统:不需要迁移整个应用和它的运行时环境。需要显示的内容始终使用Web标准表示:HTML、CSS。低网络带宽:不需要通过网络传输整个窗口的图像或者视频流。仅传输内容的变化和事件,这些变化的内容使用HTML/XML表示,而事件使用
7、JSON编码。使得对多屏应用的支持变得非常简单:应用可以在多个显示设备上显示相同的内容:多屏同显。应用可以在多个显示设备上显示不同的内容:多屏异显。这些显示的内容可以在显示设备之间迁移:应用热迁移。DesktopPhonePadDevice(HVML app)Device(HVML app)Device(HVML app)Device(HVML app)HVML应用可以在有显示或者无显示的设备上运行。渲染器可以运行在桌面电脑,手机或者平板上。用户与桌面电脑,手机和平板进行交互。HVML语言的跨端实现方法TabletPhoneDesktopTerminalHVML App ServerHVML应
8、用运行在云或者端侧服务器上。渲染器运行在有显示设备的单元上,比如桌面、手机、平板甚至是一个字符终端。HVML语言的跨端实现方法解释器和渲染器的实现HVML 解释器和渲染器的实现HVML-Hybrid Virtual Markup LanguagePurC一个使用C/C+实现的HVML解释器LGPLv3许可证https:/ Pro基于WebKit构建的HVML渲染器GPLv3许可证https:/ Virtual Markup Language Test for HVML-FPM(ECHO)Test for HVML-FPM(ECHO)The key-value pairs in REQ:$?:$REQ$?<EMPTY>将HVML作为全栈语言使用HVML-Hybrid Virtual Markup Language将HVML作为全栈语言使用HVML-Hybrid Virtual Markup Languagehttps:/https:/www.hvml.orghttps:/