新聞中心
最近低代碼、零代碼很火,網(wǎng)絡(luò)一搜,各家都鼓吹自己零代碼開發(fā)的平臺。確實(shí),近十年IT的發(fā)展以及互聯(lián)網(wǎng)產(chǎn)品的推動,使得很多細(xì)分領(lǐng)域的工具都呈現(xiàn)出一種簡單易用少開發(fā)輕量化的趨勢。

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


咨詢
建站咨詢
