Orchard Core 1.0.0 正式发布!
James: Orchard 最早是微軟的員工創(chuàng)造的開源項(xiàng)目,使用的技術(shù)架構(gòu)可以說是非常優(yōu)秀,源碼值得學(xué)習(xí)。功能也非常強(qiáng)大,支持模塊化、多租戶、工作流等等功能,可以說是 .NET 世界的 WordPress。一開始是.NET Framework 的,在 .NET Core 發(fā)布后,就開始開發(fā) .NET Core 的版本。幾年之后,直到最近終于發(fā)布了 1.0.0 正式版,非常興奮!
Orchard Core 簡介
Orchard Core 是基于 ASP.NET Core 重新開發(fā)的 Orchard CMS.
Orchard Core 由兩個(gè)不同的目標(biāo)組成:
Orchard Core Framework:一個(gè)在 ASP.NET Core 上構(gòu)建模塊化、多租戶應(yīng)用程序的應(yīng)用框架。
Orchard Core CMS:建立在 Orchard Core Framework 之上的 Web 內(nèi)容管理系統(tǒng)(CMS)。
注意區(qū)分框架和 CMS 之間的區(qū)別是很重要的。一些想要開發(fā) SaaS 應(yīng)用程序的開發(fā)人員只對模塊化框架感興趣。其他想要建立可管理網(wǎng)站的人將專注于 CMS 和構(gòu)建模塊來增強(qiáng)他們的網(wǎng)站或整個(gè)生態(tài)系統(tǒng)。
三行命令即可使用
安裝模板:dotnet new -i OrchardCore.ProjectTemplates::1.0.0
創(chuàng)建項(xiàng)目:dotnet new occms -n MySite
運(yùn)行項(xiàng)目:dotnet run --project .\MySite\MySite.csproj
下面是官方文檔上的介紹——
使用Orchard核心框架構(gòu)建軟件即服務(wù)(SaaS)解決方案
Orchard Core Framework 是獨(dú)立于 CMS 在 nuget.org 上發(fā)布的,理解這一點(diǎn)非常重要。我們在 https://github.com/OrchardCMS/OrchardCore.Samples 上做了一些示例應(yīng)用程序,指導(dǎo)您如何只用 Orchard Core Framework 構(gòu)建模塊化和多租戶應(yīng)用程序,而不使用任何 CMS 具體功能。
我們的目標(biāo)之一是支持基于社區(qū)的托管應(yīng)用生態(tài)系統(tǒng),可以使用模塊進(jìn)行擴(kuò)展,如電子商務(wù)系統(tǒng)、博客引擎等。Orchard Core Framework 提供了一個(gè)模塊化的環(huán)境,允許不同的團(tuán)隊(duì)在應(yīng)用程序的不同部分上工作,并使組件可以跨項(xiàng)目重用。
使用 Orchard Core CMS 構(gòu)建網(wǎng)站
Orchard Core CMS 是在 ASP.NET Core 上完全重寫的 Orchard CMS。這不僅僅是一個(gè)移植,因?yàn)槲覀兿M蠓鹊靥岣咝阅?#xff0c;并盡可能地與 ASP.NET Core 的開發(fā)模型保持一致。
性能 -?當(dāng)您開始使用 Orchard Core CMS 時(shí),這可能是最明顯的變化。對于 CMS 來說,這是非常快的。速度如此之快,以至于我們都沒有考慮過如何處理輸出緩存模塊。在不緩存 Orchard Core CMS 的情況下,CMS 的速度比之前的版本快了 20 倍。
可移植性 -?您現(xiàn)在可以在 Windows、Linux 和 macOS 上開發(fā)和部署 Orchard Core CMS,我們還提供了開箱即用的 Docker 映像。
文檔數(shù)據(jù)庫 抽象 -? Orchard Core CMS 仍然需要一個(gè)關(guān)系數(shù)據(jù)庫,并且兼容 SQL Server, MySQL, PostgreSQL 和 SQLite,但是它現(xiàn)在使用了一個(gè)文檔抽象(YesSql),提供了一個(gè)文檔數(shù)據(jù)庫 API 來存儲和查詢文檔。對于CMS系統(tǒng)來說,這是一種更好的方法,可以顯著提高性能。
NuGet 包 -?模塊和主題現(xiàn)在可以用 NuGet 包來共享。用 Orchard Core CMS 創(chuàng)建一個(gè)新網(wǎng)站實(shí)際上就像從 NuGet 庫中引用一個(gè)元包一樣簡單。它還意味著更新到新版本只涉及更新這個(gè)包的版本號。
即時(shí)預(yù)覽 -?當(dāng)編輯內(nèi)容項(xiàng)時(shí),您現(xiàn)在可以實(shí)時(shí)看到它在您的站點(diǎn)上的樣子,甚至在保存內(nèi)容之前。它也適用于模板,在模板中,您可以瀏覽任何頁面,在輸入更改時(shí)檢查更改對模板的影響。
Liquid 模板支持 -?編輯器可以使用 Liquid 模板語言安全地更改 HTML 模板。選擇它是因?yàn)樗扔泻芎玫奈臋n記錄(Jekyll, Shopify 中也有使用),又安全。
自定義查詢 -?我們希望為開發(fā)者提供一種盡可能簡單的方式來訪問他們的所有數(shù)據(jù)。我們創(chuàng)建了一個(gè)模塊,它允許您創(chuàng)建定制的 ad-hoc SQL 和Lucene 查詢,這些查詢可以被重用以顯示定制內(nèi)容,或者作為 API 端點(diǎn)公開。您可以使用它來創(chuàng)建高效的查詢,或?qū)?shù)據(jù)公開給 SPA 應(yīng)用程序。
部署計(jì)劃 -?部署計(jì)劃是可以包含構(gòu)建網(wǎng)站的內(nèi)容和元數(shù)據(jù)的腳本。現(xiàn)在,您可以包含二進(jìn)制文件,甚至可以使用它們來遠(yuǎn)程部署站點(diǎn),例如,從登臺部署到生產(chǎn)環(huán)境。它們也可以是 NuGet 包的一部分,允許你發(fā)布預(yù)定義的網(wǎng)站。
可伸縮性 -?因?yàn)?Orchard Core 是一個(gè)多租戶系統(tǒng),你可以在一個(gè)部署中托管盡可能多的網(wǎng)站。然后,一臺典型的云機(jī)器可以并行地托管數(shù)千個(gè)站點(diǎn),并與數(shù)據(jù)庫、內(nèi)容、主題和用戶隔離。
工作流 -?內(nèi)置了創(chuàng)建內(nèi)容審批工作流,可以對 webhook 做出反應(yīng),在表單提交時(shí)采取行動,以及任何其他你想用用戶友好的 UI 實(shí)現(xiàn)的過程。
GraphQL?- 我們提供了一個(gè)非常靈活的 GraphQL API,這樣任何授權(quán)的外部應(yīng)用程序都可以重用您的內(nèi)容,比如 SPA 應(yīng)用程序或靜態(tài)站點(diǎn)生成器。
不同的網(wǎng)站建設(shè)策略
Orchard Core CMS 支持所有主要的網(wǎng)站建設(shè)策略:
完整的 CMS. 在這種模式下,網(wǎng)站使用主題和模板來呈現(xiàn)你的內(nèi)容,目標(biāo)是很少或根本沒有定制開發(fā)的場景。
解耦的 CMS. 除了內(nèi)容管理后端,網(wǎng)站一開始是空白的。你用 Razor Pages 或 MVC 動作創(chuàng)建所有你需要的模板,并通過內(nèi)容服務(wù)訪問你的內(nèi)容。參考: https://www.youtube.com/watch?v=yWpz8p-oaKg
Headless CMS. 站點(diǎn)只管理內(nèi)容,您創(chuàng)建一個(gè)單獨(dú)的應(yīng)用程序,該應(yīng)用程序?qū)⑹褂?GraphQL 或 REST api 獲取托管內(nèi)容。參考: https://www.youtube.com/watch?v=4o9zG17cfa0
總結(jié)
以上是生活随笔為你收集整理的Orchard Core 1.0.0 正式发布!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 预约 .NET Conf: Focus
- 下一篇: Abp太重了?轻量化Abp框架