杰克布JeecgBoot低代碼開發(fā)框架,優(yōu)秀的國產(chǎn)開源項(xiàng)目(杰克部落下載安卓版)
低代碼low-code,無代碼no-code,合稱LCNC,近年來獲得較快發(fā)展,一個重要的原因是需求推動,各個行業(yè)數(shù)字化升級和工業(yè)4.0,對軟件開發(fā)人員需求巨大。
一,LCNC解決方案
很多公司和創(chuàng)業(yè)者有想法沒團(tuán)隊(duì),為了降低軟件開發(fā)門檻,將通用代碼形成組件化模塊,通過圖形化界面來拖拽組件拼裝成應(yīng)用。
降低培訓(xùn)學(xué)習(xí)成本、降低開發(fā)投入、降低技術(shù)和業(yè)務(wù)人員門檻,這是LCNC平臺要解決的終極問題。
現(xiàn)在市場上已經(jīng)有一些成熟的解決方案可用,比如國內(nèi)的明道云、清流、搭搭云,國外的OutSystems等著名企業(yè)。當(dāng)SaaS/PaaS平臺提供的通用服務(wù)模塊無法滿足業(yè)務(wù)需求時,推薦使用開源框架JeecgBoot。
二,JeecgBoot開源項(xiàng)目
JeecgBoot基于代碼生成器,支持無代碼配置化快速開發(fā),適用于常見的企業(yè)信息管理系統(tǒng)開發(fā),比如OA辦公、ERP系統(tǒng)、客戶關(guān)系管理系統(tǒng)等,顯著提高開發(fā)效率,降低開發(fā)成本。
代碼托管在Github和Gitee,star數(shù)量超14.7K,fork數(shù)量超5.7K,獲得多個獎項(xiàng),連續(xù)五年中國最火TOP5、十大優(yōu)秀開源項(xiàng)目、2014年微信開發(fā)商大會第一名。
三,Jeecg開源社區(qū)
JeecgBoot和多個項(xiàng)目一起,形成了完善的解決方案。
1,JeecgBoot
基于代碼生成器的低代碼開發(fā)平臺,無代碼配置化,前后端分離架構(gòu),技術(shù)棧使用主流的Java Spring Boot MyBatis,前端使用node Ant Design。
最新版本JeecgBoot2.2.1,發(fā)布于2020年7月13日,包括多項(xiàng)功能優(yōu)化,支持Docker一鍵部署。
2,JeecgCloud
Jeecg Boot的微服務(wù)版本,基于Nacos服務(wù)注冊和發(fā)現(xiàn)框架。
最新版本1.0.0 Beta,發(fā)布于2020年5月21日。
3,JeecgUniApp
一站式跨平臺,完整的移動解決方案,采用Uniapp ColorUI 框架,APP、小程序、H5多終端適配。
版本1.0.0 Beta,發(fā)布于2020年6月8日,最新改版上線于8月17日。
4,JeewxBoot
基于Java Spring Boot開發(fā)的微信管理平臺,采用插件機(jī)制,支持公眾號、小程序、第三方平臺,包括公眾號基礎(chǔ)管理、群發(fā)、系統(tǒng)權(quán)限、抽獎活動、小程序官網(wǎng)等功能。
最新版本1.1.0,發(fā)布于2019年12月5日。
5,JeewxAppCMS
基于wepy語言開發(fā)小程序,包含CMS網(wǎng)站基本功能,快速開發(fā)應(yīng)用。
最新版本1.1.0,發(fā)布于2020年5月30日。
四,軟件工程實(shí)踐改進(jìn)
JeecgBoot功能強(qiáng)大,社區(qū)活躍,版本發(fā)布及時。但是當(dāng)看到JeecgBoot版本升級說明不能做到平滑兼容時,就有點(diǎn)感概了。
“JeecgBoot屬于平臺級產(chǎn)品,每次升級改動內(nèi)容較多,目前做不到平滑升級?!?/p>
作為忠實(shí)用戶,如果有新版本發(fā)布或者重大問題修復(fù),是非常希望能夠平滑升級功能的。從幾方面提一些建議。
1,代碼質(zhì)量保障,單元測試
打開JeecgBoot工程,僅有兩個單元測試,而且不能夠直接運(yùn)行通過,需要準(zhǔn)備好依賴環(huán)境。
單元測試好處,歡迎補(bǔ)充:
1) 保證代碼質(zhì)量,及早發(fā)現(xiàn)bug。
2) 修改過的bug,避免再次發(fā)生。
3) 改動代碼時,避免引入新bug。
4) 回歸測試,保障功能兼容。
如何寫單元測試?Java開發(fā)時,常用JUnit Mockito,使用起來非常高效。
2,Git發(fā)布版本管理
Git提升團(tuán)隊(duì)協(xié)作水平,團(tuán)隊(duì)架構(gòu)和代碼管理相對應(yīng),功能開發(fā)、代碼合并、測試發(fā)布,分支和標(biāo)簽配合使用,清晰高效。
在并行功能開發(fā)較多時,上線順序不完全確定,結(jié)合多個分支,完成測試和發(fā)布版本時,打上對應(yīng)標(biāo)簽。
3,SQL腳本版本化管理
和代碼對應(yīng)的數(shù)據(jù)庫SQL腳本,也應(yīng)該包含在Release Tag中,建議引入Flyway。
Flyway是一個數(shù)據(jù)庫版本化管理工具,通過SQL腳本實(shí)現(xiàn)DB Migration自動化升級,支持獨(dú)立運(yùn)行,也可以和構(gòu)建工具或者Spring開發(fā)環(huán)境集成。
4,自動化部署,Docker-compose資源編排
打包Docker鏡像常采用的兩種方式:
一種是本地編譯,然后將得到的jar包文件加入到Docker鏡像中,這種方式速度較快,多用于本地開發(fā)測試。
另一種就是Dockerfile包括完整步驟,從編譯源碼開始,不依賴本地環(huán)境,全量構(gòu)建,這種方式經(jīng)常配合構(gòu)建服務(wù)器,耗時較長,用于發(fā)布部署。
為了提高開發(fā)測試效率,經(jīng)常配置兩個Dockerfile。
├── Dockerfile
├── Dockerfile_ce
5,持續(xù)集成,Docker鏡像自動構(gòu)建
充分利用免費(fèi)的阿里云容器鏡像服務(wù),配置持續(xù)集成系統(tǒng),實(shí)現(xiàn)Docker鏡像自動構(gòu)建功能。
登錄阿里云容器鏡像服務(wù),增加Docker鏡像,配置代碼源,增加構(gòu)建規(guī)則,指定Dockerfile路徑。
當(dāng)有代碼提交時,將觸發(fā)構(gòu)建,Docker-compose.yml引用鏡像,實(shí)現(xiàn)自動更新部署。