日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

CUBA - 一个卓越的 Java 快速开发框架

發布時間:2023/12/20 java 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CUBA - 一个卓越的 Java 快速开发框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 引言
  • CUBA - 一個企業級快速開發框架
  • CUBA 架構介紹
    • CUBA 框架的能力
      • 開箱即用的功能和界面
        • 主菜單和界面布局
        • 角色與安全控制
        • 實體探查和實體恢復
      • 可擴展性
      • 成熟可信賴
  • CUBA Studio - CUBA 平臺專用 IDE(集成IntelliJ IDEA)
  • 費用如何
  • 中文資源

引言

作為一個 IT 企業管理者,或者項目管理者,常常頭疼,現在項目做一個賠一個。開發人員不好招,甲方給的費用也不高,但是研發給出的估算總是特別高。看著研發給出的估算表,對比著甲方給出的預算,一個工時一個工時的摳,一個功能點一個功能點的排查,希望能找到適合團隊的成本線,才能知道這項目到底能不能接。研發團隊做事,不能高效快速一點嗎?

作為架構師,一方面忙于解決各種技術結合點出現的問題。為了技術選型足夠跟得上時代、足夠穩定好用,往往要花很多時間調研技術甚至親自上陣寫項目的關鍵部分。另一方面,還需要了解業務需求,根據業務需求設計業務數據結果和流程。

快速應用開發(Rapid Application Development - RAD)平臺(或框架),能極大的提高團隊的工作效率。同時,RAD 平臺會集成時髦的技術和采用先進的架構,使得架構師不需要考慮各個單點技術之間的結合點,而關注于業務系統的數據架構和業務流程,將精力投入到客戶看得見的地方。

CUBA - 一個企業級快速開發框架

什么是 CUBA 框架?企業級、快速、開發,這三個詞概括了 CUBA 框架的定位。CUBA 框架是 “用于業務應用程序的全棧 Java 框架和組件”(詳見 CUBA 框架官網 )。具體來說有三點:

  • CUBA 框架的定位是用于開發業務應用程序 - 主要是用來開發業務應用,也就是以前說的 LOB 系統。
  • CUBA 的技術架構著力于 全棧 Java 框架 - 以 Java(Kotlin) 為基礎開發語言。
  • CUBA 框架的工作模式為 組件式 - 除 CUBA 基本平臺功能外,用戶還可以自由組合其他需要的組件。
  • 基于以上的定位,“CUBA 是構建后臺管理類應用程序的最佳選擇,也可以作為對外服務或移動應用的全面且可擴展的后端”。即:

  • CUBA 是后臺管理類應用程序的最佳選擇 - 什么是后臺管理類應用程序?ERP/CRM 這類。界面簡潔緊湊不花哨,以展示數據,方便操作為主要目的。
  • 作為對外服務和移動應用的可擴展后端 - CUBA 可以作為帶管理員操作頁面的互聯網后端服務,為前端和移動應用提供 REST API。 不僅如此,這個后端是可擴展的,CUBA 的組件模式可以讓用戶更快讀、便捷的引入不同功能的組件。
  • 最讓開發者心動的,CUBA 框架是開源的;如果框架的某些實現不符合客戶的業務,CUBA 支持用 “擴展” 的方式讓用戶修改框架邏輯;甚至框架本身的數據庫設計也可以擴展。

    如果你是企業技術管理人員或架構師,繼續閱讀下文,CUBA 會給你驚喜,讓你躍躍欲試。
    如果你是技術專家或者研發工程師,來了解一個正在快速發展的新框架吧!根據快速開始指南,五分鐘即可搭建一個帶完整管理頁面的 CRUD 系統。

    CUBA:讀音 /'kju?b?/,古巴島 - CUBA 名稱的由來。

    CUBA 架構介紹

    下圖是 CUBA 的架構圖,可以看到其核心包括 WEBPORTALCOREGLOBAL 四個模塊。

  • WEB - 后臺管理系統界面。使用基于 Vaadin 框架開發的 Web 界面組件庫。Vaadin 是使用 Java 寫 Web UI 的唯一選擇。后臺管理系統的 UI 界面代碼都存儲在這個模塊中。
  • PORTAL - 基于 Spring MVC 的模塊,這里可以寫 Spring controller,提供自定義的 API。另外,這里也是與對外應用或者移動應用的接口。注意到左邊有 TypeScript SDK,這個主要用于使用 Typescript 開發的純前端應用,比如 React 或者 Angular。
  • CORE - 核心中間件模塊。Service 的實現在這個模塊中,這個模塊也負責讀寫數據庫。
  • GLOBAL - 全局模塊。這里放 Service API 的接口以及全局配置接口和數據模型的代碼。
  • 其中,GLOBAL 模塊的數據模型、API 接口、配置接口可以在所有模塊被訪問到。但是 WEB 界面層和 PORTAL 層是獨立的,之間不能互相訪問,但是它們都能通過 CORE 層讀寫數據。

    由此可見 CUBA框架非常全面,它是基于 Spring 的 Java EE 框架(最新版已經全面支持 Kotlin), 是一個涵蓋了從數據模型到界面的全棧架構,提供數據訪問、服務、REST API、TypeScript SDK。根據最新的研發進度,目前已經提供了基于 React 的前端初始化帶登錄的界面。

    了解更多關于 CUBA 框架的架構介紹,可以閱讀這篇文章。

    下一章節,我們介紹一下CUBA 框架開箱即用的功能。

    CUBA 框架的能力

    企業級應用開發從 1990 年代中期開始,至今快速發展了 20 多年。基于老一輩快速開發平臺(Dephi,FoxPro 等)的業務應用系統比比皆是,極大地提高了當時基于計算機的工作效率。可惜的是,這些平臺并沒有能在 Web 時代繼續閃耀,要么不支持 Web 開發,要么演進太慢。CUBA 平臺等基于 Web 的企業快速開發平臺得以從前輩們的骨灰中崛起。(摘自 快速開發平臺 20 年的演進)。

    CUBA 框架在技術和功能方面,都是極為優秀的開發平臺。技術方面,CUBA 集成了全球領先的企業級 Web 開發技術,提供大量的企業級開發界面組件、提供全棧架構;另外框架還帶有所見即所得、大大提高效率的 IDE開發環境(集成 IntelliJ IDEA 的 CUBA Studio)。
    功能方面,CUBA 提供了自帶的文件存儲、主界面、用戶和角色管理、從數據庫行級別至界面組件級別的用戶權限配置、數據軟刪除、管理員菜單、運行機器性能統計等開箱即用的功能。另外,CUBA 的插件市場還提供了包括 REST API、單點登錄、報表、圖表、工作流、全文檢索等即插即用的組件。

    使用 CUBA 框架一方面能提高公司和開發人員的技術實力,另一方面可以極大提升工作效率。

    開箱即用的功能和界面

    我們知道,在企業應用開發領域,很多需求其實是通用的;CUBA 框架把這些通用功能為你實現了,下面介紹其中的一些常用的主要功能。

    主菜單和界面布局

    CUBA 默認提供了可伸縮的左邊欄菜單樣式、管理員菜單與幫助菜單。如下圖。
    下圖右側是一個角色權限配置頁面,從這個頁面能看到部分 CUBA 界面組件:面包屑導航、輸入控件、標簽頁、分組表格等。
    另外,CUBA 也支持使用頂部菜單的的布局,小小的設置一下即可。

    角色與安全控制

    同樣在上圖,角色管理界面,我們可以看到,針對一個特定角色的配置,CUBA 可以支持界面訪問權限、實體權限(支持數據庫行級別訪問權限)、實體屬性權限(控制實體個別屬性是否可訪問)、特定權限(比如是否可修改全局樣式)、界面元素權限(比如是否可看到某個按鈕)。

    最便捷的方式是針對不同的業務配置不同的角色,某個用戶需要哪項業務,即將對應的角色分配給用戶,角色可以組合使用。

    實體探查和實體恢復

    實體探查,是指通過界面直接查看數據庫實體數據。如下圖,管理員可以通過該界面對數據庫進行CRUD 操作。這個頁面你可以看到CUBA 提供的過濾器;對于每個表格,都可以配置默認的過濾器,無需為不同實體手寫不同的過濾條件;這個頁面你也可以看到創建、編輯、移除、Excel、導入、導出等操作功能按鈕,這些都是CUBA表格組件默認支持的操作。

    CUBA默認使用軟刪除(即數據不會真正從數據庫刪除,只是做移除標記),因此不必擔心數據丟失。刪除的數據可以通過 恢復刪除的實體 界面進行恢復。

    CUBA 框架還默認支持WEB安全設施、用戶管理模塊、多語言和多時區、通用REST API、報表管理、工作流、全文檢索等功能。
    另外還有下列管理員工具開箱即用:日志查看功能、實體(Entity)探查、性能統計、定時任務、數據恢復、Session查看。
    查看 這篇文章 可以進一步了解上述開箱即用功能。

    可擴展性

    業務需求千變萬化,開箱功能有時候可能也與客戶的需求沒有完全契合,這個時候 CUBA 框架獨特的應用程序組件擴展技術 可以讓用戶輕松修改框架邏輯。
    任何使用 CUBA 框架開發的應用都可以作為組件集成到另一個 CUBA 項目中,而 CUBA 提供對這些組件做進一步修改、擴展的方式,你可以輕松實現:

  • 實體擴展 - 可以添加新的字段。
  • 界面擴展 - 可以修改或者以原界面為模板開發新界面。
  • 業務擴展 - 服務可以進行繼承并修改。
  • 所以,基于 CUBA 框架開發的組件,集成到你項目中后,便可以做上述擴展;而 CUBA 框架本身也是一種 CUBA 組件,所以你也同樣可以對 CUBA 框架自有的實體進行擴展和替換!比如可以擴展默認的 用戶 類,添加新字段,只要在開發環境中勾選 Replace Parent,則框架會自動使用自定義擴展后的 新 用戶 類作為 User 實體。

    來 CUBA 的組件市場看看,它們可以為你的項目提供更多的功能與便利。

    成熟可信賴

    如果只看一個框架的當前狀態,是沒有辦法下決心使用的。因為還有幾個因素需要考慮:

  • 框架的核心開發是否活躍 - 決定了一旦使用過程中框架有 bug,是否能得到及時的維護。
  • 框架的用戶基礎怎么樣 - 決定了框架是否穩定,問題數和用戶數一般來講是成反比的。
  • 框架是否在進化 - 決定了技術是否能一直跟進和演化,不至于被時代淘汰。
  • 使用 CUBA 框架你不需要擔心上述問題:

  • 框架從最初的版本發展到現在的 7.2,歷經 10 多年的演進,核心團隊一直在活躍開發,bug 修復及時快速。
  • 10 多年積累的用戶,有中英俄三種語言的活躍論壇, 你可以通過論壇反饋、討論。
  • 框架一直在進化。最近,在前端界面部分,集成了全球用戶數最大的 React 庫。后端部分,全面支持了新的 JVM 開發語言 Kotlin。核心研發團隊一直在跟蹤技術的演進和轉化。可以查看CUBA博客,了解團隊對企業開發技術趨勢的關注。
  • CUBA Studio - CUBA 平臺專用 IDE(集成IntelliJ IDEA)

    最后不得不提到 CUBA Studio,一款開發利器。將 CUBA Studio 以插件的方式提供給 IntelliJ IDEA,將這款世界上最好的代碼編輯器與 CUBA 項目設計器結合在一起,給了任何獨立軟件都不能提供的高效率編程體驗,這里列舉一些主要功能:

  • 界面前端代碼和界面后臺控制器代碼之間互相跳轉。
  • 界面、實體的可視化設計,支持拖拽組件。(付費功能)
  • 代碼生成,界面事件、依賴注入、代理、操作,各種部件一應俱全。
  • 使用 IDEA 的智能提示,代碼完成功能。
  • 自動部署,支持熱部署。
  • 費用如何

  • CUBA 框架本身完全開源免費,國內在 Gitee 有 Github 的鏡像。
  • CUBA Studio 部分收費。CUBA Studio 的代碼生成、依賴注入、事件監聽等功能可以免費使用。所見即所得的數據庫實體和界面的可視化設計器為收費功能。 具體可以查看這里。
    在您選擇是否付費之前,可以免費試用 CUBA Studio 商業版 30 天。所以在您做決策之前,有足夠的時間深入了解 CUBA 框架和 CUBA Studio。
    另外,如果您的團隊只有一個人負責界面設計或實體設計,可以只購買一個商業許可。如果您的團隊通過一段時間的使用之后,能夠脫離可視化設計器直接通過代碼編寫界面、設計實體,則可以選擇不再續費。
  • 但是筆者相信,如果你用過可視化設計器后,是不會想放棄的 😄

    中文資源

    CUBA 框架在 2018 年登陸中國,經過一年多的發展,中文文檔已經完善;社區也很活躍。所以,來,做個早鳥吧~

    中文官網: https://www.cuba-platform.cn
    中文論壇: https://forum.cuba-platform.cn
    微信公眾號: CUBACN

    總結

    以上是生活随笔為你收集整理的CUBA - 一个卓越的 Java 快速开发框架的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。