使用YonBuilder低代碼平臺(tái)輕松構(gòu)建企業(yè)級(jí)應(yīng)用(如何使用低代碼平臺(tái))
數(shù)字化經(jīng)濟(jì)時(shí)代下,企業(yè)如何迅速進(jìn)行商業(yè)創(chuàng)新,適應(yīng)瞬息萬(wàn)變的市場(chǎng),是企業(yè)提升競(jìng)爭(zhēng)力的關(guān)鍵。傳統(tǒng)ERP產(chǎn)品模式固定,不靈活,一定程度上限制了企業(yè)的商業(yè)創(chuàng)新。用友于2020年發(fā)布了商業(yè)創(chuàng)新平臺(tái)YonBIP,平臺(tái)具有數(shù)字化、智能化、高彈性、安全可信、平臺(tái)化、 生態(tài)化、全球化和社會(huì)化八大特性,能夠更敏捷地支持?jǐn)?shù)字化戰(zhàn)略的實(shí)現(xiàn)和快速商業(yè)創(chuàng)新。隨著YonBIP的推廣,我們基于YonBIP平臺(tái)的客開(kāi)項(xiàng)目越來(lái)越多,交付過(guò)程中主要使用YonBuilder進(jìn)行開(kāi)發(fā)。
什么是YonBuilder
YonBuilder是用友推出的低代碼開(kāi)發(fā)平臺(tái),是用友企業(yè)數(shù)智化新底座iuap平臺(tái)的一部分,iuap是用友商業(yè)創(chuàng)新平臺(tái)YonBIP的底層PaaS云平臺(tái)。YonBuilder通過(guò)在線(xiàn)建模、圖形化頁(yè)面設(shè)計(jì)、在線(xiàn)腳本編輯、實(shí)時(shí)預(yù)覽調(diào)試等功能,可以簡(jiǎn)化企業(yè)應(yīng)用系統(tǒng)的構(gòu)建過(guò)程,提高開(kāi)發(fā)效率。YonBuilder既支持零代碼方式構(gòu)建應(yīng)用,也支持專(zhuān)業(yè)方式構(gòu)建應(yīng)用,開(kāi)發(fā)者可以根據(jù)應(yīng)用復(fù)雜情況自由選擇。
我們?cè)鯓佑肶onBuilder做項(xiàng)目交付
在客開(kāi)項(xiàng)目交付過(guò)程中,我們通常會(huì)遇到這幾種需求場(chǎng)景:
- 標(biāo)準(zhǔn)產(chǎn)品擴(kuò)展開(kāi)發(fā):對(duì)YonBIP平臺(tái)預(yù)置產(chǎn)品功能進(jìn)行修改擴(kuò)展,滿(mǎn)足客戶(hù)需求。
- 新功能開(kāi)發(fā):開(kāi)發(fā)全新的功能,與預(yù)置產(chǎn)品無(wú)關(guān)。
- 移動(dòng)端開(kāi)發(fā):嵌入APP端的H5網(wǎng)頁(yè)、小程序、公眾號(hào),一般是移動(dòng)辦公類(lèi)的需求。
YonBuilder既支持對(duì)標(biāo)準(zhǔn)產(chǎn)品的擴(kuò)展開(kāi)發(fā),也支持全新開(kāi)發(fā)功能,同時(shí)支持PC端和移動(dòng)端頁(yè)面開(kāi)發(fā)。
YonBuilder是個(gè)靈活全面的平臺(tái),提供兩種開(kāi)發(fā)模式。標(biāo)準(zhǔn)開(kāi)發(fā)模式,即低代碼模式,通過(guò)建模、頁(yè)面設(shè)計(jì)、在線(xiàn)調(diào)試等,可以實(shí)現(xiàn)無(wú)需本地搭建任何開(kāi)發(fā)環(huán)境,完全基于web端進(jìn)行開(kāi)發(fā),開(kāi)發(fā)后,可以在線(xiàn)部署并運(yùn)行,提交測(cè)試或客戶(hù)試用,是一種簡(jiǎn)單高效的開(kāi)發(fā)模式。另一種是專(zhuān)業(yè)開(kāi)發(fā)模式,滿(mǎn)足標(biāo)準(zhǔn)開(kāi)發(fā)模式無(wú)法實(shí)現(xiàn)的復(fù)雜功能的開(kāi)發(fā)需求,也包含在線(xiàn)建模和表單設(shè)計(jì),配合本地運(yùn)行腳手架代碼,按平臺(tái)規(guī)范擴(kuò)充專(zhuān)業(yè)代碼,實(shí)現(xiàn)復(fù)雜需求。
在項(xiàng)目開(kāi)發(fā)過(guò)程中,我們通過(guò)分析項(xiàng)目需求,選擇合適的方式進(jìn)行開(kāi)發(fā)。下面介紹下我們?cè)谝粋€(gè)數(shù)字化人力項(xiàng)目上的開(kāi)發(fā)流程,在該項(xiàng)目上,我們選擇以專(zhuān)業(yè)開(kāi)發(fā)模式進(jìn)行系統(tǒng)構(gòu)建,主要的步驟分為數(shù)據(jù)建模、頁(yè)面建模、前端開(kāi)發(fā)、后端開(kāi)發(fā)、系統(tǒng)配置、版本發(fā)布。
數(shù)據(jù)建模
建模是在YonBuilder平臺(tái)的web界面操作,通過(guò)在線(xiàn)編輯表單方式進(jìn)行模型創(chuàng)建,可以自動(dòng)生成系統(tǒng)屬性字段,增加唯一校驗(yàn)規(guī)則,增加索引,支持模型表間建立一對(duì)一、一對(duì)多和多對(duì)多關(guān)聯(lián)關(guān)系。
在完成數(shù)據(jù)建模之后,可以導(dǎo)出模型的SQL腳本,在數(shù)據(jù)庫(kù)執(zhí)行腳本建表,省去了傳統(tǒng)開(kāi)發(fā)方式中的數(shù)據(jù)庫(kù)建模、建表的工作。
在建模時(shí)可以通過(guò)勾選常用的引用接口,將常用的審批流、業(yè)務(wù)流、交易類(lèi)型、樹(shù)形結(jié)構(gòu)等相關(guān)的必要字段與業(yè)務(wù)字段關(guān)聯(lián)起來(lái),不用單獨(dú)設(shè)計(jì)相關(guān)的數(shù)據(jù)庫(kù)字段。
頁(yè)面建模
頁(yè)面建模時(shí),平臺(tái)內(nèi)置了多種頁(yè)面類(lèi)型可供選擇,其中包含了單據(jù)頁(yè)面、分析類(lèi)型頁(yè)面、第三方頁(yè)面三個(gè)類(lèi)型。在開(kāi)發(fā)中,我們最常用的是單卡頁(yè)面。
完成選擇之后,會(huì)進(jìn)入到頁(yè)面設(shè)計(jì)器,對(duì)頁(yè)面的字段、類(lèi)型、樣式進(jìn)行調(diào)整。所有的可供選擇的頁(yè)面類(lèi)型都已經(jīng)做好了適配,免去了兼容、適配工作。
數(shù)據(jù)建模和頁(yè)面建模功能,通過(guò)復(fù)用平臺(tái)預(yù)置的大量組件,降低了“重復(fù)造輪子”的成本,節(jié)約70%左右的研發(fā)投入。
前端開(kāi)發(fā)
數(shù)據(jù)建模和頁(yè)面建模完成之后,前后端分別根據(jù)詳細(xì)設(shè)計(jì)進(jìn)行開(kāi)發(fā)。前端主要處理顯示和用戶(hù)操作相關(guān)邏輯,后端主要處理業(yè)務(wù)操作邏輯。YonBuilder支持開(kāi)發(fā)者進(jìn)行前端擴(kuò)展開(kāi)發(fā)。開(kāi)發(fā)者只需要根據(jù)對(duì)應(yīng)的應(yīng)用名稱(chēng)及模塊名稱(chēng)的ID在前端腳手架工程中建立腳本文件,按照用友的語(yǔ)法規(guī)范進(jìn)行編碼,程序發(fā)布之后,當(dāng)用戶(hù)訪(fǎng)問(wèn)到對(duì)應(yīng)頁(yè)面時(shí),前端引擎會(huì)自動(dòng)加載對(duì)應(yīng)的擴(kuò)展腳本并執(zhí)行。
擴(kuò)展腳本方式功能很強(qiáng)大,可以實(shí)現(xiàn)任意功能,適合復(fù)雜頁(yè)面開(kāi)發(fā)。除此以外,YonBuilder還支持在頁(yè)面設(shè)計(jì)器中直接進(jìn)行前端腳本編輯,如:按鈕事件綁定、頁(yè)面初始化等腳本開(kāi)發(fā)。
后端開(kāi)發(fā)
YonBuilder提供了統(tǒng)一的基于springboot的后端腳手架工程,開(kāi)發(fā)者只需要按規(guī)范在相應(yīng)的位置編寫(xiě)后端代碼即可,后端通過(guò)編寫(xiě)業(yè)務(wù)邏輯,以接口方式供前端調(diào)用,接口開(kāi)發(fā)與傳統(tǒng)開(kāi)發(fā)方式無(wú)區(qū)別,在數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)層,后端腳手架支持了多種開(kāi)發(fā)方式。
數(shù)據(jù)庫(kù)層面的開(kāi)發(fā)方式主要有以下3類(lèi):
1、傳統(tǒng)的Mybatis,編寫(xiě)xml方式,給傳統(tǒng)用戶(hù)提供了開(kāi)發(fā)方式,配置SqlHelper類(lèi),不需要編寫(xiě)DAO層接口,只需要配置XML地址,即可實(shí)現(xiàn)。
2、使用jdbcTemplate進(jìn)行開(kāi)發(fā)
3、用友自行封裝的數(shù)據(jù)庫(kù)操作類(lèi):YonQLActionFactory。
系統(tǒng)配置
開(kāi)發(fā)功能的過(guò)程中,通過(guò)使用配套的YMS管理控制臺(tái)對(duì)新開(kāi)發(fā)應(yīng)用進(jìn)行配置。YMS提供配置管理、基線(xiàn)管理、微服務(wù)管理、配置中心、權(quán)限管理、組織管理、產(chǎn)品管理等功能,可以完全通過(guò)YMS管理控制臺(tái)實(shí)現(xiàn)統(tǒng)一的系統(tǒng)管理、配置,解決了項(xiàng)目開(kāi)發(fā)過(guò)程中繁重的配置及管理工作。
版本發(fā)布
由于使用了專(zhuān)業(yè)開(kāi)發(fā)模式,與傳統(tǒng)開(kāi)發(fā)模式相似,需要使用配套的開(kāi)發(fā)者中心,配置流水線(xiàn)進(jìn)行版本發(fā)布,同時(shí)對(duì)系統(tǒng)服務(wù)的資源情況、運(yùn)行情況進(jìn)行監(jiān)控管理。
完成后的系統(tǒng)效果
開(kāi)發(fā)完的系統(tǒng)運(yùn)行效果圖如下,新應(yīng)用內(nèi)置到Y(jié)onBIP平臺(tái),用戶(hù)使用平臺(tái)賬號(hào)登錄后即可使用,應(yīng)用的整體風(fēng)格和操作與YonBIP預(yù)置應(yīng)用相同,確保統(tǒng)一的用戶(hù)體驗(yàn)。
YonBuilder的特點(diǎn)總結(jié)
零代碼搭建
提供可視化設(shè)計(jì)器、聲明式配置的無(wú)代碼應(yīng)用構(gòu)建能力,降低企業(yè)云應(yīng)用構(gòu)建門(mén)檻,無(wú)代碼開(kāi)發(fā)經(jīng)驗(yàn)的實(shí)施及業(yè)務(wù)人員也可快速實(shí)現(xiàn)業(yè)務(wù)單據(jù)設(shè)計(jì)、單據(jù)之間業(yè)務(wù)流轉(zhuǎn)、業(yè)務(wù)報(bào)告。
無(wú)服務(wù)專(zhuān)業(yè)開(kāi)發(fā)
基于用友云gPaaS,為專(zhuān)業(yè)開(kāi)發(fā)者提供云原生、安全可靠的多租戶(hù)、具備開(kāi)放集成特性的源碼深度定制;無(wú)需過(guò)多考慮服務(wù)器,為開(kāi)發(fā)者提供開(kāi)發(fā)、測(cè)試、部署、發(fā)布、運(yùn)維、運(yùn)營(yíng)全生命周期的服務(wù)。
函數(shù)式低代碼擴(kuò)展
支持基于iuap編程模型實(shí)現(xiàn)組件化、插件化、模板化的開(kāi)放擴(kuò)展;在線(xiàn)通過(guò)javaScript腳本編寫(xiě),即可實(shí)現(xiàn)前端頁(yè)面擴(kuò)展、后臺(tái)業(yè)務(wù)邏輯擴(kuò)展的開(kāi)發(fā),無(wú)需部署、在線(xiàn)調(diào)試、快速發(fā)布。
泛終端開(kāi)發(fā)體驗(yàn)
一套代碼多端運(yùn)行,通過(guò)統(tǒng)一的開(kāi)發(fā)配置流程實(shí)現(xiàn)PC、友空間小程序、微信小程序等多端開(kāi)發(fā)體驗(yàn),為開(kāi)發(fā)者提供豐富的多端模板和組件,為不同類(lèi)型的開(kāi)發(fā)者提供小程序的可視化設(shè)計(jì)、低代碼擴(kuò)展、專(zhuān)業(yè)開(kāi)發(fā)工具支持。
YonBuilder通過(guò)標(biāo)準(zhǔn)模式和專(zhuān)業(yè)模式,全面覆蓋了零代碼、低代碼、高代碼三種開(kāi)發(fā)方式,使不同能力的人員均能開(kāi)發(fā)應(yīng)用,即提升了開(kāi)發(fā)效率,降低了開(kāi)發(fā)難度,又不限制專(zhuān)業(yè)開(kāi)發(fā)者能力的發(fā)揮,是一件開(kāi)發(fā)企業(yè)應(yīng)用的利器。YonBuilder隨著YonBIP和iuap的版本更新,也在不斷完善中,我們期待未來(lái)的項(xiàng)目交付中,能夠用到更多切實(shí)便利的功能,提高交付效率,降低成本投入,更好的服務(wù)客戶(hù)。
來(lái)源:漢普新語(yǔ) ,作者王洪斌 馬祥祥