本文从技术和工具的角度分享可视化大屏的开发!
主要是对报表工具开发可视化大屏做测评!
可视化大屏开发工具选择
常规的数据可视化方式我们可以选择直接读取数据库,通过绘图软件/库进行绘制,最终构成自建的前端显示效果,比如使用 Apache ECharts (incubating) 等工具。
除此以外,追求效率的我们还可以选择成熟的报表套件,这类套件往往具有一系列的图表模板+支持推拽且可视化的配置页面,方便我们快速的构建出可视化大屏。其实大部分套件的机理差异并不大,为了降低文章内容量,本文直接讲解某一种套件,
当然报表套件又分为三类:
- 桌面应用产品,生成的是桌面端程序,程序往往直接连接云端数据库,需要数据库开放公网 ip。也有部分会有服务端提供 crud api 来降低数据泄露风险
- web 端直连数据库 / 自建后端产品,这种产品较少,毕竟已经做到 web 了再配个服务器岂不是更好,否则还是要数据库开放 ip
- B-S 产品,服务端提供与多源数据库的连接、数据提取、前端页面生成,前端负责显示、用户交互与动态刷新等等
本文选择第三类的一款套件作为讲解 -- 帆软的 FineReport,选择此产品原因:
1、国产软件,中文文档、中文配置界面,对于国内用户友好度高
2、国内基本最领先的报表工具,可视化大屏开发成熟
(注:我尽量从可视化报表工具的角度出发描述,而不是针对某个具体的产品,只是为了形象且可查证会给出 FineReport 在下面各方面的实践方式 / 方案,不作任何额外评价)
既然是个套件应该有很多完整成熟的功能,我们以这几个维度来聊聊:
- 环境与基础设施:设计平台,安装环境,故障传递与追溯,数据安全,协作开发,功能扩展性
- 视觉效果与用户交互:布局,配色,交互,可复用组件,组件自定义
设计平台
首先