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