Orchard 與 ABP架構比較 (aspnetboilerplate)


前言:  ABP框架經常在一些.NET群中聽群友提起,以前也瀏覽過官網,大致了解它是一個框架,直到今天本人才正式下載源碼入門 ...

 

經過兩個小時的ABP中文文檔入門(感謝各位辛勤的翻譯者) ,大致了解到 ABP框架提供了一些類似 Orchard的功能,如 日志,多租戶,事件總線,多語言等.

由於剛剛接觸ABP框架,下面來談談我對它的基本理解,不當之處敬請各位指正 :

 

  Abp Orchard 作用
項目定位 開發框架 內容管理系統(CMS)+開發框架  
基礎框架 aspnetboilerplate(ABP.dll) (源碼) Orchard.Framework 兩者都不能獨立運行, 提供框架基礎架構
核心實現 module-zero (源碼), 純庫,沒有UI實現部分,不能獨立運行 Orchard.Core(核心模塊集合,里面的每一個文件夾均為一個模塊),
有UI實現.
ABP提供常用的基礎功能,ABP有用戶,角色,多租戶,配置管理,Orchard有CMS相關的核心模塊
模塊生成 module-zero-template(源碼),提供在線版. Orchard.CodeGeneration(命令行) ABP官網提供一個在線的模塊創建功能(地址),此生成器有兩個版本:
1.僅依賴核心ABP  
2.依賴Module-Zero.
ABP在創建模塊的時候並沒有提供輸入一些meta信息,而orchard可以.

 

一直以來,很多.NET開發者都非常喜歡Orchard這個項目,但是部分有潔癖的開發者總是想方設法將它剝離成一個干凈的框架,如OrchardNoCms,

如今ABP可能是你最佳的選擇:

1 .ABP擁有非常類似Orchard的項目結構(筆者甚至認為ABP的靈感取自Orchard).

2. 功能上也提供與Orchard同等的特性, 如多租戶,模塊,日志,用戶,角色,授權等.

3. ABP沒有附帶任何額外的業務代碼, 用戶與角色這樣核心功能也在是Zero模塊中實現 ,如果你不喜歡可以不用.

 

利用ABP框架進行二次開發,如果不關注框架本身,直接使用線上的地址生成模塊下載到本地, 再用nuget下載 Abp.dll和 Abp.zero.dll(可選)及其它三方依賴就可以直接開發Web應用程序.

 

ABP框架為企業用戶提供一個付費的后台管理實現  :  aspnetzero(地址,$699,$1699,$2799 三種license) , 利用這個增值模塊, 你可以擁有一套基於Bootstrap的后台管理UI來管理多租戶及用戶角色等基本信息,當然你也可以使用它開發其它功能.

 

好了最后再說一句:

Abp尚在主力開發期,截止目前還未到達1.0版,接口變更很頻繁,如果用於產品環境將要面臨升級與不升級的糾結中!

如果你非侵入式的進行ABP二次開發,升級時改動略小, 如果是侵入式的,那么升級將是非常痛苦的事情!

 

Orchard是一個經歷6年的項目,由微軟ASP.NET小組成員主刀, 目前進入主力維護優化期,接口非常穩定,而且使用Orchard開發,可以盡可能的非侵入(本人一直是非侵入堅持者),

模塊間並不需項目依賴,即使需要調用另一個模塊的方法(模塊通信),也可以使用Orchard強大的事件總線實現!

 

下面來一張ABP架構簡圖

標簽: OrchardAbpOrchardNoCms


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM