有了這款低代碼工具,報表開發可以告別996啦
最近低代碼、零代碼很火,網絡一搜,各家都鼓吹自己零代碼開發的平臺。確實,近十年IT的發展以及互聯網產品的推動,使得很多細分領域的工具都呈現出一種簡單易用少開發輕量化的趨勢。
筆者自己也在IT行業做了10多年的開發,開發過類office的套件、數據平臺、也開發過互聯網應用,個人覺得:目前面世的零代碼開發平臺只適合在邏輯簡單的小型軟件,比如一些簡單的數據上報和簡單數據統計功能,比如調查問卷和數據提交類小型的、邏輯簡單的、臨時性的小程序。但是針對企業復雜業務環境使用的,比如常見的ERP、OA、數據平臺以及銀行、證券等專業性強、邏輯復雜的軟件,充其量還只能算是低代碼開發。要知道軟件的可開發程度和功能豐富程度是相斥的,和業務的需求滿足豐富度也是相斥的。 就工具而言,無論是低代碼還是零代碼,都是為了解決開發效率問題。現在很多工具在現有先進技術基礎上抽象出一套可視化的語言和組件。有些是針對ERP、有些是針對OA、有些是針對可視化表格處理,基本上在某種場景下,這些低代碼平臺的效率提升速度是非常可觀的。比如我所熟知的報表和BI領域,很多公司都有數據采集、數據處理、數據展示等一系列數據“交互”的需求,具體如報表、填報、數據流轉、數據讀取展示等。 就報表開發這一項需求,以往的操作或者現在大部分小型公司的辦法是:業務數據在數據庫中——需要數據時IT通過sql取——有的會進一步處理成成品數據——導出Excel給業務——然后業務在Excel中處理數據。 有些公司開發可能會針對一些使用高頻的報表開發自動化,比如java或Python寫一個自動化的腳本。但這就帶來代碼開發的問題,代碼有bug需要維護,需求要變動需要改代碼。報表需求又多又雜,每次來個需求就要動手改代碼,挺手工的。且這樣的公司報表數據,存在于每個人的Excel中,存在于代碼中,沒有平臺承載,無異于裸奔。 于是,在零幾年的時候,就陸續誕生各種報表平臺,一步步將操作可視化、將代碼可視化、將運維、開發相關平臺化、系統化,基本已發展成穩定的低代碼報表開發平臺。就比如業內翹楚FineReport。 接下來我從功能上深入淺出剖析下這個低代碼報表開發平臺。 1、SQL語句可視化編輯 開發報表的重要操作之一就是讀取填寫數據,大部分情況我們都是直接寫SQL。那成熟的報表開發平臺怎么做? 在操作數據庫數據時,FineReport有一個類Navicat的數據庫可視化操作界面,鏈接數據庫,讀取數據表......其次是一個可視化的SQL編輯頁面(如下圖),直接拖拽表和字段到編輯中,直接生成SQL語句。當你寫個百八十行SQL的時候,還是能節省不少時間。 2、報表模板零編碼編輯 然后就是設計報表,報表的大部分時間都花在開發報表樣式上,類似Excel,可視化填數據、處理數據、做表格樣式。FineReport做報表模板的邏輯類似Excel,也不要寫代碼,將相應字段拖到表格中,全程基本也是可視化編輯。 但是數據展示的邏輯不同。Excel處理的對象是一個個數據,FineReport處理的對象是數據庫中的數據表字段名。模板中一個單元格放一個數據字段,web端展示時,數據隨字段橫向或者縱向擴展。 3、參數查詢可視化配置 在很多情況下報表的數據展示,需要根據條件查詢數據、過濾。通過設置參數綁定數據字段和過濾的控件(單選框復選框等),通過界面輸入查詢條件來控制報表顯示的內容及形式,而后導出。關于參數設置,FineReport有可視化參數界面,用來放置與查詢相關的控件,可以隨意布局,拖拽設計想要得到的界面效果。 4、可視化dashboard構建 數據可視化方面,FineReport通過決策報表來設計展現,操作上報表、圖表以及各類控件都封裝成了模塊,通過組件拖拽操作方式快速制作組件式報表,比傳統格子報表更美觀,可以自適應屏幕的大小和分辨率,智能排布組件布局,交互效果更佳,極適合構建決策駕駛艙。 另外,配合可視化的參數定義,FineReport能夠實現可視化的多層鉆取功能設置,同一張報表根據不同字段值進行鉆取的功能。 說完開發操作再來談談平臺運維相關。 1、定時調度 報表這塊的定時調度,比如有些報表如日報、月報、季報是需要定期生成、定期發布,為避免定期重復做,FineReport在平臺上開發了現成的定時任務功能,設定后服務器會在指定的時間自動完成設定的任務,定時生成報表,定時轉換數據,定時發送郵件、短信、移動端客戶端信息,能指定報表生成目錄,并以Web方式查看報表生成結果。 2、權限管理 有平臺就有用戶,數據安全方面就要做好權限管理。平臺策FineReport配置有可視化的權限設置精細到單元格的權限粒度。 通過分級權限控制功能,可以實現不同分子公司/部門共用系統,各個分子公司/部門有其自己的管理員,并給其下屬員工分配權限,即超級管理員控制所有權限,下級管理員只能管理自己職責范圍內的用戶和報表模板。 其他,還有封存好的功能如,集群配置、備份還原、智能檢測、云端運維、平臺日志、資源遷移等,也都平臺化了。 低代碼平臺最大的好處是讓程序員可以專注于核心業務邏輯的部分,所有外圍的東西平臺都為你預置了,可以直接調用。 上文說過,軟件的可開發程度和功能豐富程度是相斥的,大部分通用功能都已經模塊化集成到軟件中,能應付絕大部分業務需求。但是企業環境是多變的,業務需求是多變的,個性的不能滿足的部分就要靠開發來實現。 所以FineReport也“留了一手”可開發的部分,其實就是開放接口,開發人員可以使用網頁腳本JS、API 接口等對 FineReport 進行深入的開發與控制,比如前端調用第三方可視化庫,比如和一些非主流的業務系統、數據庫對接,比如需要開發公司特有的平臺界面,做單點登錄集成等等。 再回到低代碼平臺! 對于開發人員來說: 對于業務人員來說: 低代碼開發的核心價值在于顯著降低軟件開發的技術門檻,并大幅提升開發效率,縮短項目交付周期。所以,低代碼可以廣泛應用于企業信息化建設的各個環節,包括構建企業核心業務系統、實現工作流程信息化、為行業軟件做客戶化開發。這已經是軟件應用開發不可阻擋的趨勢!開發操作
平臺運維
開發相關
最后