天天看點

「開源」企業級應用開發全棧架構,企業級少代碼平台,快速開發平台

一飛開源,介紹創意、新奇、有趣、實用的免費開源應用、系統、軟體、硬體及技術,一個探索、發現、分享、使用與互動交流的開源技術社群平台。緻力于打造活力開源社群,共建開源新生态!

一、開源項目簡介

Jmix 是一個庫和工具的集合,可以加快以資料為中心的 Spring Boot 應用程式開發過程。Jmix 提供了許多開箱即用的功能,包括類似複雜的資料安全和審計方面的進階系統功能以及類似于報表引擎或業務流程執行引擎的業務功能,隻需要幾行代碼就可以引入這些功能。

降低成本和時間業務系統開發

發現一個應用程式快速開發平台,實作您的數字化願景,無低代碼平台限制,無供應商依賴,無需按使用者付費。

二、開源協定

使用Apache-2.0開源協定

三、界面展示

「開源」企業級應用開發全棧架構,企業級少代碼平台,快速開發平台

四、功能概述

Jmix 是企業級 Web 應用程式開發的進階别架構。配備了先進的開發工具和豐富的功能子產品。

Jmix 最适合用于建構以資料為中心,且具有複雜資料模型和豐富使用者界面的應用程式。從某種意義上說,它是一個全棧架構,能為建立應用程式的後端和 UI 提供支援。

Jmix 基于 Spring Boot,這是建立企業級 Java web 應用程式的事實标準。也就是說,除了使用 Jmix 提供的功能之外,還能以最小的配置使用很多第三方庫和架構。

Jmix Studio 是 IntelliJ IDEA 的一個插件,可以在整個應用程式開發周期為你提供幫助:建立和配置項目、定義資料模型、生成資料庫腳本以及在可視化編輯器開發 UI 界面。更是為 Jmix 項目提供了代碼的進階導航、自動完成和提示功能。

五、技術選型

「開源」企業級應用開發全棧架構,企業級少代碼平台,快速開發平台

架構概覽

這裡我們采用 C4 模型表示法,展示 Jmix 架構的鳥瞰圖。

容器

首先,我們将一個用 Jmix 建構的典型資訊系統劃分成不同的容器。這裡的容器是指可以單獨運作/部署的單元,負責執行代碼或者存儲資料。

「開源」企業級應用開發全棧架構,企業級少代碼平台,快速開發平台

可以看到,系統的主要部分包括運作在 JVM 上的 Web 應用程式以及一個關系型資料庫。Web 應用程式基于 Spring Boot,支援用 Java 或 Kotlin 編寫。關系型資料庫用于儲存 Jmix 子系統的資料(例如,安全配置)以及作為應用程式資料的主要存儲。

Jmix 應用程式可以與多個附加資料存儲連接配接,并支援使用檔案系統或雲環境作為獨立的檔案存儲。此外,Jmix 還支援內建 Elasticsearch 實作對應用程式資料的全文檢索功能,支援通過 OIDC 服務進行外部認證和單點登入(SSO)。

Jmix 應用程式為使用者提供 web 界面,界面使用 Jmix UI 子系統通過 Java/Kotlin 和 XML 建立。

你也可以建立獨立的前端應用,通過 Jmix REST API 或建立自己的接口與 Jmix 後端連接配接。這裡的前端應用并不在 Jmix 的範圍内,你可以選擇任何技術進行建構。

元件

我們更進一步進入 Jmix 容器内了解其内部元件。

「開源」企業級應用開發全棧架構,企業級少代碼平台,快速開發平台

Jmix 應用程式始終包含對 Spring Boot 和其他 Jmix 子系統的依賴關系。Jmix 有兩類子系統:

  • 核心子系統 提供系統級别的功能,包含在絕大多數項目中。
  • 擴充元件 是可選的子系統,根據需要添加至項目中。擴充元件在 Jmix 市場 釋出。

技術上來說,核心子系統和擴充元件都是以相同的方式進行組織。子系統包含一個或多個功能子產品以及對應的 Spring Boot starter,均以 JAR 檔案格式打包。子系統可以依賴其他子系統,例如,很多包含界面的擴充元件依賴核心 UI 子系統。

使用 Jmix

下載下傳 Jmix Studio - 一個 IntelliJ IDEA 插件。它可以在應用程式開發的所有階段提供幫助:建立和配置項目、定義資料模型、生成資料庫腳本以及使用可視化編輯器開發界面。它也為 Jmix 項目提供了專有的進階導航、代碼完成和代碼審查功能。

按照快速開始 指南可以在15分鐘内建立并運作一個項目。該指南展示了在建立任何 Web 應用程式時都必須做的一些事情:如何設計模型、如何維護資料、如何建立業務邏輯以及如何建立使用者界面。

從源碼建構

  • 通路一飛開源:https://code.exmay.com/ 下載下傳
  • 安裝 JDK 8 。
  • 建構并釋出架構子產品到本地 Maven :
  • cd jmix ./gradlew publishToMavenLocal
  • 如果你要建構 Jmix Gradle 插件、 Studio 模闆或架構的本地化翻譯,可在相應的目錄中執行 ./gradlew publishToMavenLocal :
    • jmix-gradle-plugin - 用于建構 Jmix 應用程式的 Gradle 插件。
    • jmix-build - 一個内部 Gradle 插件,封裝了架構的建構邏輯,建構應用程式時不使用它。
    • jmix-templates - Studio 建立項目向導中使用的項目模闆。
    • jmix-translations - 架構翻譯 。

如果你想要為 Jmix 貢獻代碼, 請參閱貢獻。

六、源碼位址

通路一飛開源:https://code.exmay.com/

繼續閱讀