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