這是Fulcro rad的演示存儲庫。它包括一個共享的文件的共享源目錄,該文件將是任何項目共有的,然後是具有特定文件的單獨源目錄,這些目錄需要使用特定的後端技術(當前SQL和Datomic)。
重要的 | 登錄名是[email protected] ,帶有密碼letmein 。 |
筆記 | 病原3受支持。有關使用該版本的版本,請參見pathom3分支。該分支將在P3被認為是生產準備就緒後立即合併。 |
RAD是FULCRO的一組庫,您可以通過屬性對數據進行建模。屬性是對數據模型中事實的描述,該事實本身可以具有描述數據(ALA RDF)。 FULCRO組件也可以得到數據屬性。註釋組件和數據模型的組合會導致一些出色的協同作用,因為FULCRO本身已經具有UI組件參與您應用程序的全局數據模型。
結果是一個系統,可以利用一組屬性來自動創建:
資料庫結構定義
網絡API
文件
UIS完全需要的東西
自動化其客戶端數據的應用程序
形成和報告
聯合數據模式,其中一群屬性實際上可以生活在不同控制下的不同位置。
還有更多。
RAD包括我在任何新生產項目中都建議使用FULCRO推薦的功能。該演示是如何建立這樣一個項目的很好的參考。但是,RAD正在迅速變化,因此請注意,此演示可能有些過時。這不是一個模板項目,而是通過屬性設計數據模型的RAD方法,然後可以利用這些屬性來生成許多樣板代碼,在開發的所有階段都非常有用和強大。
即使是初學者也可以理解和修改該演示,也應該相對容易,我希望它可以激發您更多地了解Fulcro的更多信息。但是,如果您不了解Fulcro,那麼您將很快遇到困難。
因此,初學者應首先通過開發人員指南甚至標準https://github.com/fulcrologic/fulcro-template學習核心FULCRO 。 RAD不會消除理解核心庫的需求。 RAD只是一些利用Fulcro的宏和模式。
SQL版本有一些已知的錯誤。如果要使用RAD,請暫時使用數據組數據庫適配器。
RAD的一般前端元素都無法由任何數據源提供動力。主要要求是存在能夠支持EQL接口的FULCRO“遠程”。構建一個遙控器,該遙控器使用從服務器上的SQL數據庫到瀏覽器localstorage的任何內容。
您必須編譯CLJ源以運行客戶端。如果您想能夠編輯它,只需啟動Shadow-cljs手錶:
$ yarn
$ shadow-cljs watch main如果沒有yarn ,請改用npm install 。
演示中使用的數據組數據庫是Datomic Local。它使用內存數據庫,這使得寫作易於運行的演示簡單。要啟動Datomic中的WebApp,請使用:
$ clj -A:dev:datomic
user= > (clojure.core/require ' development)
user=> (development/go)這將播種數據庫並啟動Web服務器。 development名稱空間包括用於停止/啟動和重新啟動(使用代碼加載)服務器端代碼的幫助者。
示例代碼應與大多數SQL數據庫一起使用(並默認使用內存H2 DB)。數據源是在SQL源目錄中的defaults.edn值中配置的。請參閱Hikaricp連接池文檔。
SQL示例在src/sql源文件夾中具有自定義development名稱空間,以及運行該服務器所需的組件。
您可以使用設置適當的類路徑的DEP別名啟動SQL的服務器端版本:
$ clj -A:dev:sql
user= > (clojure.core/require ' development)
user=> (development/go) XTDB組件的示例代碼在src/xtdb文件夾中,以及自定義development.clj 。 XTDB節點由映射配置為:roterski.fulcro.rad.database-adapters.xtdb/databases鍵在defaults.edn中。
您可以使用:xtdb deps別名運行:
$ clj -A:dev:xtdb
user= > (clojure.core/require ' development)
user=> (development/go) ASAMI組件的示例代碼在src/asami文件夾中,以及自定義development.clj 。 asami由::cz.holyjak.rad.database-adapters.asami/databases鍵在defaults.edn中配置。
您可以使用:asami deps別名運行:
$ clj -A:dev:asami
user= > (clojure.core/require ' development)
user=> (development/go) development/restart將停止服務器,重新加載源並啟動服務器。
Rad一次使用幾個不同的庫。理想情況下,您可以查看所有這些源頭並設置您的DEP,以便您一次從它們的來源中運行。您可能還需要在開發名稱空間中更新開發空間中的set-refresh-dirs ,以指出CLJ中的其他源目錄,以便您在此處進行適當的重新加載。
我正在做的非常積極的開發一次更改5個項目(Fulcro,Fulcro Rad,Fulcro Rad Datomic,Fulcro Rad SQL和此演示)。我不保證,就DEP文件中的版本而言,我會保持所有內容。我個人將以下內容設置為我的頂級~/.clojure/deps.edn :
{:aliases {:f3-dev {:override-deps {com.fulcrologic/fulcro {:local/root "/Users/tonykay/fulcrologic/fulcro"
:exclusions [com.taoensso/sente]}}}
:rad-dev {:override-deps {com.fulcrologic/fulcro-rad {:local/root "/Users/username/fulcrologic/fulcro-rad"}
com.fulcrologic/fulcro-rad-sql {:local/root "/Users/username/fulcrologic/fulcro-rad-sql"}
com.fulcrologic/fulcro-rad-semantic-ui {:local/root "/Users/username/fulcrologic/fulcro-rad-semantic-ui"}
com.fulcrologic/fulcro-rad-datomic {:local/root "/Users/username/fulcrologic/fulcro-rad-datomic"
:exclusions [com.datomic/datomic-free]}}}}}因此,在Intellij(或在命令行中),我可以從本地來源工作。我試圖記住每天推動快照,但是如果我忘記了,並且您會發現一些丟失的符號錯誤或事物破裂,那幾乎可以肯定的是原因。
從命令行中運行Shadow,CLJ看起來像這樣:
# in one terminal
$ shadow-cljs -A:f3-dev:rad-dev watch main
# in another terminal
$ clj -A:dev:f3-dev:rad-dev:datomic在Intellij中,您只需確保使用當前的Class Path運行CLJ REPL,並在“ Clojure Deps”選項卡中使用別名複選框和+按鈕進行設置。
MIT許可證(MIT)版權(C),Fulcromologic,LLC
特此免費獲得許可,免費授予任何獲得此軟件副本和相關文檔文件(“軟件”)的人,以無限制地處理軟件,包括無限制的使用權,複製,複製,修改,合併,發布,分發,分發,分發,分配,sublicense和/或允許軟件允許與以下條件相關的軟件,以下是以下條件。
上述版權通知和此許可通知應包含在軟件的所有副本或大量部分中。
該軟件是“原樣”提供的,沒有任何形式的明示或暗示保證,包括但不限於適銷性,特定目的的適用性和非侵權的保證。在任何情況下,作者或版權持有人均不應對任何索賠,損害賠償或其他責任責任,無論是在合同,侵權的訴訟中還是其他索賠,與軟件或使用或其他軟件中的使用或其他交易有關。