认识CUBA平台的CLI
毫無疑問,軟件開發(fā)人員(尤其是Java開發(fā)人員)的世界充滿了鍵盤狂熱者,最好是一次單擊即可鍵入10-15個字母。 而且我們的社區(qū)也不例外,因此經(jīng)常有人問我們“如何在沒有CUBA Studio的情況下啟動項目?”之類的問題。 或“是否有輕量級的免費(fèi)命令行替代CUBA Studio?”。 所以,大家好消息!
免費(fèi)CLI是否可以代替商業(yè)CUBA Studio?
CLI不被視為CUBA Studio的替代品,它還有另一個使命。 CLI對于對Spring框架,JPA和CUBA基礎(chǔ)結(jié)構(gòu)有豐富經(jīng)驗(yàn)的開發(fā)人員非常有用,并且(很重要!)在黑色窗口中使用灰色字母感到很舒服。 簡而言之,cuba-cli是一個命令行實(shí)用程序,使您可以輕松地基于CUBA Platform創(chuàng)建項目。 此外,它提供了主要項目工件的輕量級支架:實(shí)體,屏幕,服務(wù)等。
同時Studio保持其利基地位,可讓您輕松了解CUBA世界。 它提供了一個直觀的用戶界面,即使沒有任何JPA或Spring或任何底層技術(shù)的經(jīng)驗(yàn),即使是CUBA的新手也可以在幾分鐘內(nèi)設(shè)計出他們的第一個應(yīng)用程序……實(shí)際上,您不需要編寫任何代碼即可進(jìn)行開發(fā)標(biāo)準(zhǔn)的CRUD應(yīng)用程序– Studio會為您完成。 對于從另一個生態(tài)系統(tǒng)遷移到CUBA的人們以及習(xí)慣于在IDE中獲得終極舒適的人們,Studio也是一個絕佳的選擇。
綜上所述,CUBA Studio更多地是關(guān)于“邊做邊學(xué)”和巨大的“省時”,而CLI是為您編寫強(qiáng)制性樣板例程的主力軍。
什么CLI可以?
顯然,您必須先安裝CLI。 它支持主要的操作系統(tǒng),您可以在此處找到每個操作系統(tǒng)的安裝指南。 安裝后,只需在命令行中輸入cuba-cli即可 ,就是這樣–我們準(zhǔn)備開始一個新項目或使用現(xiàn)有項目進(jìn)行操作。 通過點(diǎn)擊選項卡,您可以找到列出的所有受支持的命令。 選擇或鍵入help命令,它將為您簡要介紹每個命令。 讓我們看看這些命令在后臺的作用,以及它們?nèi)绾喂?jié)省開發(fā)人員的時間并延長鍵盤的使用壽命:
一般用途
- help,version,exit,cd –這些命令顯然不會影響您的源代碼,并且從名稱中可以清楚地理解它們的操作,所以讓我們跳過它們:)。
項目設(shè)置和全局設(shè)置
- create-app –指導(dǎo)完成新的CUBA項目所需的步驟:項目名稱,名稱空間,根軟件包,平臺版本和項目中使用的數(shù)據(jù)庫。 該項目將包含全局(可從核心和Web模塊訪問),核心(用于業(yè)務(wù)邏輯的服務(wù)器端層)和Web(用于屏幕控制器和其他GUI邏輯的服務(wù)器端層)模塊。
- polymer –基于Google開發(fā)的Polymer庫,將新客戶端添加到您的應(yīng)用程序中。 它通過添加新模塊的配置和任務(wù)來修改settings.gradle和build.gradle 。 它還會創(chuàng)建所需圖像資源的文件,并為Polymer前端應(yīng)用程序生成登錄,菜單和其他有用的Web組件。
- 主題 –在modules / web目錄下創(chuàng)建一個特殊的文件夾結(jié)構(gòu),一些用于標(biāo)記應(yīng)用程序的圖像(登錄圖標(biāo),菜單圖標(biāo)和favicon)以及一些scss文件,您可以在其中修改默認(rèn)方案。 還將webThemesModule模塊及其配置添加到settings.gradle和build.gradle文件中。 最后,此命令添加了deployThemes gradle任務(wù),以便無需重新啟動服務(wù)器即可查看更改。 文檔的此部分提供有關(guān)此主題的詳細(xì)信息。
- add-component –將現(xiàn)有的應(yīng)用程序組件插入您的應(yīng)用程序。 它將新行添加到構(gòu)建gradle的dependency塊中,并修改Web模塊的web.xml ,將應(yīng)用程序組件的主包添加到appComponents上下文參數(shù)中。
領(lǐng)域建模
- 實(shí)體 –為JPA實(shí)體及其DDL腳本生成存根。 此實(shí)體還將根據(jù)實(shí)體類型在persistence.xml或metadata.xml中注冊-不管它是否持久。 最后,CLI將生成一個消息包,以提供實(shí)體屬性的本地化。
- 枚舉 –生成一個實(shí)現(xiàn)EnumClass接口的Enum,帶有本地化消息的字段以及有用的fromId方法。
商業(yè)邏輯
- 實(shí)體偵聽器 –搭建實(shí)現(xiàn)Entity Listeners接口的Spring組件,并在相應(yīng)的Entity類中聲明它。 當(dāng)實(shí)體更改狀態(tài)時,此類偵聽器將被鉤住。 您可以在此處找到更多信息。
- 服務(wù) –搭建全局模塊中的接口及其核心中的實(shí)現(xiàn)。 為了可從Web模塊使用,它已在web-spring.xml的WebRemoteProxyBeanCreator bean定義中注冊 。
- bean –只需生成一個Spring組件,并節(jié)省大約150個字符的鍵入時間:)。
- config –在具有指定源類型(系統(tǒng),數(shù)據(jù)庫或應(yīng)用程序)的指定模塊中為CUBA配置接口提供一個存根。 在文檔的這一章中找到有關(guān)CUBA配置接口的更多信息。
用戶界面
- 屏幕 –搭建GUI屏幕。 該命令支持創(chuàng)建:
–一個新的空白屏幕
–擴(kuò)展現(xiàn)有的 –瀏覽器–包含實(shí)體列表,其上的CRUD操作和過濾器的屏幕 –編輯器–用于創(chuàng)建或編輯單個實(shí)體的屏幕。
該命令使用其本地化消息包來支持xml屏幕描述符及其Java控制器。 也可以選擇將屏幕添加到主菜單。
雜項
- 應(yīng)用程序組件 –將您的CUBA應(yīng)用程序可嵌入(可插入)到另一個CUBA應(yīng)用程序中。 在文檔中找到有關(guān)應(yīng)用程序組件概念的更多信息。 該命令生成app-component.xml文件,該文件定義了對其他組件的依賴關(guān)系,描述了現(xiàn)有的應(yīng)用程序模塊,生成的工件和公開的應(yīng)用程序?qū)傩浴?運(yùn)行該命令時,它將提示您將當(dāng)前模塊前綴更改為唯一的前綴,以避免沖突。 如果更改前綴,它還將調(diào)整settings.gradle和build.gradle文件。
- update-script –創(chuàng)建一個SQL更新腳本文件,其位置和名稱符合CUBA約定。 CUBA平臺包括在應(yīng)用程序啟動時應(yīng)用更新腳本的機(jī)制。 這些腳本應(yīng)按照從舊到新的歷史順序執(zhí)行。 為確保此類排序,更新腳本應(yīng)放在modules / core / db / update / {USED DATABASE} / {yy} /目錄下,并命名為{yyMMdd}-{INCREMENT}-{SCRIPT NAME} .sql 。
- 自定義模板 –根據(jù)開發(fā)人員定義的速度模板生成項目文件。 模板機(jī)制允許聲明性地擴(kuò)展CLI命令集,而無需編譯。 在此處找到有關(guān)CLI模板引擎的更多信息。
如您所見,CLI承擔(dān)了大量工作,以保護(hù)開發(fā)人員免受無聊但不可避免的例行攻擊。
可擴(kuò)展性
首先,如前所述,CLI提供了一個模板引擎來擴(kuò)展其命令集,而無需更改源并重新編譯它。 CLI模板包括兩部分:
該維基頁面提供有關(guān)CLI模板的詳細(xì)信息。
其次,CLI提供擴(kuò)展點(diǎn)來加載自定義插件,并公開可在自定義插件中使用的公共事件。 使用這種機(jī)制,開發(fā)人員可以創(chuàng)建具有最大靈活性的新命令并擴(kuò)展現(xiàn)有命令,例如,為screen命令添加其他選項,例如查找。 您可以在此處找到CLI插件的文檔和開發(fā)指南。
最后,CUBA CLI是一個開源項目,其源代碼發(fā)布在GitHub上 。 CUBA團(tuán)隊很高興看到您的貢獻(xiàn)(請參閱貢獻(xiàn)指南 )以及您可能遇到的問題 。 因此,如果您看到一些常見但未發(fā)現(xiàn)的用例,請隨時幫助社區(qū)并向我們發(fā)送您的請求!
結(jié)論
這只是我們CLI的起點(diǎn),我們希望它將幫助您使開發(fā)過程更加流暢和快速,特別是如果您不使用CUBA Studio。 我們將進(jìn)一步改善CLI,并已經(jīng)在規(guī)劃路線圖– 在這里您可以看到我們要在第二版中發(fā)布的功能。
最后,我也想分享一條建議。 開始您的第一個CUBA項目時,對于平臺的初始評估,CLI可能會變得過于繁重。 CUBA Studio提供30天的試用期 ,因此,如果您或您的同事不熟悉該框架,建議在初始階段使用CUBA Studio并以交互方式發(fā)現(xiàn)平臺功能。 由于試用期已結(jié)束,因此您可以決定是否要訂閱并繼續(xù)使用CUBA Studio或移至CLI。
最后,您可以在我們的YouTube頻道上觀看CLI演示視頻。
PS哦,是的,幾乎忘了說CLI是用Kotlin編寫的。 這是我們第一次在生產(chǎn)中使用這種語言-到目前為止,一切都很好!
翻譯自: https://www.javacodegeeks.com/2018/08/cli-cuba-platform.html
總結(jié)
以上是生活随笔為你收集整理的认识CUBA平台的CLI的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: javafx弹出式窗口_JavaFX 8
- 下一篇: 如何当好站长(站长如何应对ddos)