从原来的领导辅助决策系统,到现在的大数据运行管理中心,城市大脑,业务运行大厅是不是感觉最近几年,大屏展示系统越来越多?
从原来的运行监控系统,到原来的统计分析,到GIS平台,到大数据公司,感觉现在所有公司产品方向都在统一一个方向,就是大屏可视化。感觉现在没有一个大屏,就显得你技术很落后,就显得产品规划的不合理一样?
那既然现在大部分项目都需要我们进行大屏相关的开发?作为研发人员,我们怎么做才能快速开发呢?现在主流的思想就是通过大屏可视化配置系统进行配置。
1、那现在主流的配置系统有什么?如何选择?
2、可视化配置系统的逻辑架构是什么?
3、如果自主开发如何进行架构设计?
一、主流的大屏可视化配置系统选型?
现在主流的大屏可视化配置系统主要来源于两个渠道,一个是原来做报表的厂商,典型的比如帆软和润乾。第二类是做BI出身的厂商,比如SmartBI以及阿里的DataV。
基于报表的大屏可视化配置工具,一般来说因为是基于报表工具,更加注重业务逻辑,注重数据,但是在大屏的配置灵活性,大屏的组件丰富程度等方面比较欠缺。很难达到用户灵活多变的需求。
而DataV和SmartBI的这些厂商一开始的产品定位就是定位简化开发人员的工作量,从图表配置的角度去设计产品。这一类产品大部分简化的是前端开发人员的工作量,在图表支持的情况下,能够开发出相对令人满意的效果图。但是这一类图表配置产品的都是需要收费的,一旦客户的数据情况比较复杂,需要进行数据组合和加工的时候,需要后端技术人员参与进行深度定制。
当然还有一类,以三维地图发展起来的可视化配置工具,比如数字冰雹,睿呈时代,51World等公司原来主要基于三维引擎或者三维GIS平台,在这个基础上进行大屏开发和配置,但是这一类厂商主要是以承接项目为主,一般不开放他们的可视化配置平台。
从开源的角度上来讲,更多单纯的图表工具集,一般没有成体系的图表可视化工具,比如百度的Echarts,阿里的AntV,等等。一般研发人员可以基于这些开源的组件图表库来开发自己的大屏页面。自定义程度高,难度也不大,如果项目的需求不多,变化不大,完全可以通过前端人员自定义开发的方式去实现。
本文主要讨论如何实现自定义配置,不去讲由研发人员完全自定义开发的实现方式。
PS:在小范围应用场景下,其实没有必要引入可视化配置工具。
二、可视化配置系统的逻辑架构
在讨论可视化配置系统之前,我们需要了解一个大屏可视化系统,由哪几个部分组成?
我们按照模块化拆分的视角进行拆解,拆解的架构如下:
一个应用(大屏)由多个页面组成,而每个页面又是由不同的业务组件、布局组成。
什么叫布局?
什么叫业务组件?
业务组件是图表+业务数据+修饰元素(比如标题等)形成的业务独立、可复用的一个组件。
三、那业务组件又怎么拆分呢?
业务组件按照实现形式可以分为:图表+数据、HTML代码组件、地图GIS组件、复合组件(地图+HTML等)、级联组件(可以进行钻取,级联操作的组件)等等。
而图表+数据的组件,将根据数据的不同,可以分为静态数据(JSON串)、动态模拟数据(基于变量的有规律的静态变化数据)、动态数据(基于后台业务逻辑变化的数据);
好了,到目前为止,已经知道一个大屏会拆分成多少零部件了?
反过来说,如果我想实现基于这些零部件进行组装,怎么实现呢?
1.首先要做数据源管理,可以配置Json串,API访问接口等方式。
2.然后拖拽相关的图表库,比如饼状图、柱状图等。
3.然后结合数据和图表实现业务组件。
4.选择一个模板,以及N个业务组件实现几个页面。
5.通过几个页面实现一个大屏可视化应用。
说到这里是不是感觉也不是很麻烦?
- 如果自主开发,需要如何实现?
如果自主开发,首先要搞清楚哪些界面是对客户的,那些是研发的?
按照我们的理解,我们认为应用、页面、组件可以开放给最终客户。
而组件本身的组织,比如数据绑定、数据解析、样式调整等等都有研发人员来完成,不需要开放过于专业化的截图给客户。
也就是说最终的逻辑架构应该是:
讲到现在,大家应该能明白一个大屏可视化系统应该包含几部分,每个部分的作用是什么了?下一步就是具体的技术问题,如何实现蒙版?如何实现组件可拖拽?如何实现数据绑定?如何实现组件联动?如何实现传值?如何实现联动传值?这些都可以交给研发团队挨个去攻关了。
评论留言