基于CEF3 的跨平台计算机监控系统开发与应用
2021-02-04
(华自科技股份有限公司,湖南长沙 410000)
0 引言
计算机监控系统广泛应用于电力、水利、工矿等行业的自动化与信息化项目中,可实现设备状态监控、生产安全运行管理等功能[1-2]。根据近年来华自科技市场部的调研反馈,客户对于监控系统在Linux/Unix/Windows 中的跨平台使用有明确需求,因此跨平台计算机监控系列产品研发意义重大。
计算机监控产品开发主要分为人机交互与后台服务两部分。人机交互跨平台开发的主要方式有:①基于跨平台GUI 库的QT[3-4]、GTK[5]、wxWidgets[6],或采用Java 的GUI 工具包[7]。但这些方式都有一定局限性,如GUI 库受制于样式库,不完全与目标系统原生样式一致,使用Java语言开发的应用则需要在客户端安装运行环境等[8-9]。②基于Web 的方式[10]。该方式主要分为两种:一是采用可通过浏览器直接访问的B/S 模式,但涉及到设备交互、跨域等问题,且工业现场对计算机监控系统的专业性、稳定性和安全性有严格要求;二是利用嵌入浏览器内核的集成器开发的产品,集成器包括CEF3、Electron 等,市面上使用两者开发的成熟产品有Visual Studio Code、Atom 等上百种。
方案采用基于Web 的方式二开发,即通过封装CEF3(Chromium Embedded Framework 3)框架形成独立的应用程序。Chromium Embedded Framework(CEF)是一个基于Google Chromium 项目的开源Web browser 控件,支持Win⁃dows、Linux 与Mac 平台,除提供C/C++接口外,也有其它语言的移植版。CEF3 是基于Chromium Content API 的多进程实现的,支持HTML5 的特性,使用最先进的V8 JavaS⁃cript 脚本解析引擎,其性能表现类似于Google Chrome[11]。考虑CEF3 具有跨平台样式一致、性能优异、配置灵活等优势,本方案将CEF3 作为跨平台开发的优先选项。
该选项不仅能满足监控系统作为工业领域专用平台独立、安全运行的要求,既能保留原系统中稳定的底层通讯,又能充分利用互联网中海量的前端资源[12-13]。……
