這兩年數據可視化大屏成為了各家公司的網紅有决,老板動不動開口就要“酷炫大屏”闸拿,大屏的應用場景確實很多,不僅能實時監(jiān)控重點數據书幕,提高決策效率新荤,放在公司會議室,展臺等地方台汇,還能提升公司形象迟隅。
于是這兩年各種可視化大屏的文章和技術分享博客越來越多了,一些文章把大屏制作說的神乎其技励七,低門檻智袭,成本低,給很多企業(yè)和IT從業(yè)者帶來了很多誤導掠抬,導致很多公司興沖沖去搞大屏項目吼野,但是花費了巨大的時間和成本,做出來的大屏實用性并不高两波。
作為一個接觸可視化大屏項目4年多的老技術瞳步,做了過大大小小十幾個大屏項目,給大家科普一下實際工作中腰奋,一個可視化大屏項目的上線流程单起,順帶給大家掃一掃對大屏認知的誤區(qū)
可視化大屏項目實施流程
一般整個大屏開發(fā)流程可劃分為六個部分,之前的文章里我介紹過劣坊,這邊再講一下:
1嘀倒、需求調研:最耗費時間,最重要的一步局冰。大屏需求調研是大屏項目的重中之重测蘑,搞清楚業(yè)務需求,做出來的大屏才有應用的價值康二,這個過程需要和業(yè)務方溝通確認碳胳,耗時很長,不少大屏項目前期需求沒溝通清楚就動手開發(fā)沫勿,后面改到哭爹喊娘挨约。
除了業(yè)務需求調研之外味混,如果要在硬件上展示的大屏,還需要對大屏硬件進行需求調研诫惭,比如大屏顯示設備采購惜傲、分辨率輸出等等
2、原型設計:大屏展示什么指標贝攒,指標如何布局盗誊,一般需要列一個指標清單,和業(yè)務方明確隘弊。然后圖表的樣式哈踱,可視化交互功能,如鉆取梨熙、聯動开镣、輪播等,根據排版好的內容落地成盒原型圖demo咽扇。
3邪财、藍圖方案:然后根據原型圖進行視覺美化,需要結合屏幕尺寸质欲、分辨率树埠、大屏的風格來設計。對于大屏而言嘶伟,藍圖方案除了業(yè)務怎憋、數據、技術九昧、實施方案外绊袋,更重要的是對大屏的指標、功能點铸鹰、預期效果進行整理輸出癌别。
4、效果落地:根據藍圖在前端繪制demo
5蹋笼、數據處理:數據處理大致分為三步展姐,底層數據處理,前端數據展現姓建,數據校對诞仓。根據數據量和實時性需求權衡是否需要做結果表。
數據量兴偻谩(計算簡單),準實時活玲,不需要結果表
數據量大(計算復雜)涣狗,準實時谍婉,需要結果表。
數據量卸频觥(計算簡單)穗熬,實時,不需要結果表丁溅。
數據量大(計算復雜)唤蔗,實時,需要技術方案(如kafka+flink)
6窟赏、大屏調試:理論上顯卡分辨率和PC端調試分辨率一致的情況下且字體自適應妓柜,不需要過多調試,在條件允許的情況下涯穷,建議在效果圖落地甚至原型圖設計階段就進行大屏預調試棍掐。
這樣一套流程下來,一個大屏項目周期在10-20人天不等拷况,如果需求復雜作煌,很有可能一個項目耗費1-2個月,這之后還有相當大的維護工作要做赚瘦,所以單純從技術角度去做一張大屏很容易粟誓,但是要完成一個實用的大屏項目并不簡單,望大家慎重考慮后動手起意。
可視化大屏技術上如何實現努酸?
通常做大屏前端方案設計有三類選擇,①是自行開發(fā)杜恰,利用開源的自定義可視化圖表获诈;②是利用BI/報表廠商的工具來制作;③是找集成商定制心褐,可以軟硬件一體化承包舔涎。
自行開發(fā)。比如基于vue逗爹、Echart 框架構建大屏展示模板亡嫌,網上有很多開源源碼。
其自帶一些動效掘而,比如數據動態(tài)刷新渲染挟冠、屏幕適應、內部圖表自由替換袍睡、Mixins注入等功能知染,這個是前端。后端需要另寫一套框架請求數據斑胜,一般java控淡。
后端開發(fā)比較麻煩嫌吠,如果數據需求復雜的話,比如需要多源數據連接掺炭,不斷的數據抽取和更新辫诅,定制開發(fā)難度會上升,代碼復雜了多了還有BUG涧狮,制作周期比較長炕矮,維護成本比較高。
我遇到的很多項目前期都是做了源碼開發(fā)的嘗試者冤,最后因為不穩(wěn)定肤视,沒人維護等原因走了商業(yè)開發(fā)。
大屏定制廠商:這種定制不是那種簡單的圖表展示譬嚣。通常都是特殊需求钢颂,如3D建模,所以往往需要專業(yè)做可視化的廠商來按需定制拜银。技術上基于三維的引擎如ventuz或者unity來定制大屏效果殊鞭。商業(yè)定制效果通常來說都是最優(yōu)的,但實施成本和后期維護成本也是極其高昂的尼桶,實施幾百萬不等操灿。
BI/報表做大屏幕。現在很多大屏項目都是用BI/報表工具來開發(fā)泵督,比如FineReport
雖然其本身是報表工具趾盐,但其實市面上能很好解決前端展示和后端數據讀取連接的平臺。再者本身提供構建可視化的“畫布”(在FineReport里叫設計器)小腊,拖拽操作救鲤,對大屏的和移動設備也提供了一套高效可用的設計模式,構建可視化的成本比較低秩冈,上手也比較容易本缠,光這一點就能節(jié)約一周的人天。
可視化方面入问,為大屏效果專門提供可復用模板和組件丹锹,能滿足絕大部分大屏的需求,涉及到特殊3D模型芬失,也可和專業(yè)廠商做集成楣黍,提供建模實施方案。
另外棱烂,項目管理往往需要考慮成本租漂,人力成本和后續(xù)的維護成本。FineReport具備前端展示和后端數據讀取的技術條件,平臺化的產品窜锯,后續(xù)維護成本很低张肾。
大家對可視化大屏有哪些認知誤區(qū)芭析?
誤區(qū)一:效果圖是效果圖锚扎,實際不一定能做出來
我們經常能在網上看到很多視覺效果非常驚艷的效果圖,拿來做參考馁启,但是大部分的效果圖都不能百分百復現驾孔,因為我們實際實施時需要適配屏幕分辨率,比如字體能否自適應大小惯疙。一些動態(tài)展示如3D旋轉以及圖表空間和數據刷新的速率也無法看見翠勉,基本上實際圖做出來會和效果圖差那么一兩成。
誤區(qū)二:大屏不僅僅是前端技術
很多人把大屏理解為單純的前端展現技術霉颠,想的太簡單了对碌,數據從哪里來,是讀業(yè)務數據庫還是建立中間庫蒿偎,數據更新的頻率要求是什么朽们,數據質量有無問題還要先做底層數據處理?
硬件方面诉位,需要明確大屏的尺寸骑脱、種類、驅動大屏的主機苍糠?業(yè)務方面叁丧,大屏展示什么指標和維度,業(yè)務分析邏輯誰來支撐岳瞭?這些都是要考慮的拥娄。
誤區(qū)三:大屏成本低,零代碼實現瞳筏?NO稚瘾!
據我所知,一個大屏項目十幾萬是常有的事乏矾,上千萬的大屏項目我也見過孟抗。
大屏的成本除去前端設計和定制還有硬件費用,一個大屏硬件都是十幾萬钻心、幾十萬起步凄硼。另外有一些智慧城市、制造行業(yè)有3D建模需求的捷沸,需要定制建模渲染摊沉,那成本就是無底洞了,有待商榷痒给。
大屏的前端技術實現有很多種方案说墨,有低代碼的繪制骏全,也有全代碼的定制,取決于技術和需求尼斧,技術和業(yè)務需求總是相互取舍的姜贡,后面會詳細講這塊。