首頁>技術>

現在低程式碼開發平臺很火,能夠透過零程式碼或少量程式碼就可以快速建立應用。

但是從實踐結果來看,完全的零程式碼開發應用是不可能的,機器替代人類智慧還需要很長的路要走。但是介於兩者之間的低程式碼模式開發應用是值得嘗試的,現在很多企業級應用都是低程式碼,甚至很多定製場景也不需要太多高深的程式碼就能搞定。

就我從事的資料領域,報表開發這一項工作近十年來因為低程式碼平臺的出現,有了很大的改觀。BI報表開發中一些複雜的邏輯可能只需要幾個公式或者幾句JS就能輕鬆搞定。從產品開發上來講,其本質就是提效。一方面是對開發人員的提效,另一方面是對使用者的提效。

以往我們IT開發報表,一開始用Excel處理,後來寫PHP來開發,再者用java的一些開源元件來開發。用程式碼開發報表能很快的解決點對點的需求,但是作為長期工作,你要對接資料庫,還要收集資料,做報表維護,到後面基本就是堆人力寫程式碼。

當一項業務成熟之後,自然就會有將技術平民化的管理系統出現,比如報表系統。我們在零幾年的時候就開始嘗試使用一些國外的BI報表系統,比如水晶、BO,還嘗試了一些開源的jaspereport,birt。能減少程式碼開發投入,自主開發報表。

隨著企業的發展和資料業務龐大,資料逐漸承載企業的管理業務,很多需求比如實時風險監控,各種經營報表以及各種資料應用(體現在報表和業務分析上),也逐漸有了資料、報表許可權和資料填報流程。

這個時候就要從自身管理體系出發,要求產品功能能夠符合企業的管理思想,然後逐漸開始使用符合一些流程上管理的平臺系統(國內做這塊比較陳述),帆軟報表平臺FineReport。

在開發效率方面,FineReport是一個通用的報表工具,報表開發、填報、視覺化展示的需求基本都能滿足,涉及到一些業務的定製有介面,可以外掛化的定製開發比如單點登入OA。對於使用者,報表因為有了承載的平臺,使用者比如業務和管理者只要登入平臺系統就可以檢視分析。

具體來看:

1、視覺化SQL語句編輯面板

做報表要取數,取數都是寫SQL,一般視複雜程度幾十到幾百行不等,更重要的是需要熟悉資料庫和表,不然你都不知道要取什麼數。

FineReport低程式碼的第一點,就是有一個視覺化SQL語句編輯面板,在與資料庫連結成功後能看到資料庫表和欄位,然後拖拽資料表和欄位到編輯頁面就可以生成SQL語句,避免一行一行寫,就像像一個內建的navicat。能減少不少工作量。

2、視覺化報表模板設計器

讀完庫取完數之後就是作報表。

FineReport的主面板就是表格模板設計器,表格式、功能操作、函式等都類似Excel,不同點在於Excel是對單個數據操作,這裡是對資料欄位操作,將需要的資料欄位拖到表格中,再配以各種視覺化的屬性設定。

設計器針對有三種報表設計模式:普通報表、聚合報表、決策報表。

普通報表模式最貼近Excel,用來做大部分報表包括基礎報表、中國式複雜報表,運算上更多SHEET和跨SHEET計算,相容EXCEL公式。

聚合報表模式用來做一些不規則的報表,像運單表,一些保險單之類的,這種報表要頻繁的合併、拆分單元格,工作極其繁瑣。

決策報表模式用來做視覺化儀表板、駕駛艙、管理看板等,就像一個空白畫布,把各種視覺化圖表拖拽到介面搭建儀表板。

3、引數查詢視覺化設定

企業報表應用,除了最簡單的展示類報表外,查詢報表往往用的最多,各部門各業務團隊都要查資料查報表的需求,這就會用到查詢報表。之前程式碼開發往往是賦一個引數去對應資料表或欄位,這就有個問題,引數多了不好管理,換一個人來迭代報表就要重新熟悉。

FineReport有視覺化的引數設定介面,能夠零程式碼定義引數,繫結查詢控制元件,直接定義出查詢介面,使用者就透過介面輸入查詢條件,來顯示報表內容。

4、駕駛艙視覺化構建

上文提過決策報表模式下可以做視覺化儀表板、駕駛艙、管理看板。原理也是透過元件拖拽操作來快速製作元件式報表。這在以往程式碼開發上,都是需要寫JS來呼叫前端視覺化庫,後端連結資料。FineReport直接視覺化操作,可以直接適應螢幕大小和解析度,設計佈局和互動,方便許多。

5、移動決策平臺編碼生成

移動端是企業報表應用的一大趨勢,以往的開發需要PC端和移動端分別開發,為了適配公司APP的報表展示,我們還特地找了一個移動開發同事,移動端還分為安卓系統和IOS系統,需要配三套不同的人馬。後來這個平臺能直接適配,零程式碼操作,介面化配置、自動打包,還可以實現自我版本管控整合方式。

另外還有一些其他低程式碼開發報表的功能這裡就不多贅述了。

可以看到,低程式碼開發對於效率的提升,能力的解放是很明顯的,起碼在我熟知的資料領域,比如還有資料需求管理平臺,指標管理平臺,資料治理平臺等。

一套優秀的軟體離不開兩個核心要素:程式設計能力和業務知識,這就要求優秀的技術團隊深刻理解業務或業務人員熟悉技術邊界。

世界上不存在完全相同的管理模式,即使是範疇很小的資料報表每個企業都有其獨特的需求,集中體現在幾個問題上:

1、需求難以確定,始終有新需求提出,不斷修改從而面目全非。

2、客觀條件的不確定性,報表開發是一個不斷的過程,期間人員流動、資源調整等種種變化都會加大這個專案的成本,減低效率

所以平臺就需要滿足以下幾個需求:

1、靈活,不拘泥於業務(不同專案、業務領域)必須全部通吃。

2、快速,極快的功能實現速度。

3、穩定,不挑食但要能全部消化。

我初覺這樣的系統似乎遙不可及,但我舉例的FineReport就是一個典型範例。

天下武功唯快不破,實現開發快、變動快、維護快才能解決現有軟體開發的困境。

不過,使用低程式碼/無程式碼平臺也許需要的開發者更少了,但是對於人的要求卻更高了:一方面要對業務非常瞭解,一方面又要對資料和開發非常通透,最後要能把從需求到開發串聯起來。這對於我們這一行也是一種進度,IT需要更熟悉業務,需要更明確資料價值。

10
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 併發程式設計之ForkJoin框架原理分析