[譯]ABP框架v2.0 和 ABP商業版


ABP框架v2.0 和 ABP商業版

ABP框架2.0版已經在本周公布.這篇文章解釋了為什么我們發布了一個搶先主版本,和2.0版本中的變化.

除了v2.0版本,我們很高興地宣布ABP商業版,這是建立在開源ABP框架的之上的一套專業的模塊,工具,主題和服務.

ABP框架V2.0

為什么2.0,而不是1.2?

本來在V1.1.2發布后計划發布1.2版.然而,有報告稱1.x版在Linux上有一些性能穩定性問題,尤其是當應用程序部署在低配CPU和內存Linux容器上.

我們深入研究了這一問題,並已查明問題的根本原因與攔截async方法的實現有關.此外,也有一些 asyncsync 的用法影響了線程池的優化.

最后,在社區在大力協助下我們解決了所有的問題.但是,我們也有一些重要的設計決策導致了一些破壞性變更,因為語義版本,我們不得不改變框架的主版號.

大多數的應用程序不會受到破壞性變更的影響,或者只需要做一些微小的修改.

破壞性變更

刪除了一些同步的API

一些攔截器需要使用async的API.當他們攔截sync方法時,他們需要調用asyncsync.這最終導致了asyncsync的問題.這就是為什么我們刪除了一些同步的API.

當你需要async方法中調用sync方法時, asyncsync 這種模式是C#一個經典問題.雖然有一些解決方法,但是都有相應的缺點,並建議不要寫這樣的代碼.你可以在網上找到關於這一話題的許多文檔.

為了避免這個問題,我們已經移除:

如果你遇到了編譯錯誤,只需使用這些API的async版本.

始終async!

從v2.0開始,ABP框架假設你以async方式編寫你的應用程序代碼.否則,一些框架的功能可能無法正常工作.

建議你的所有應用服務, 倉儲方法, 控制器動作(ontroller actions), 頁面處理器(page handlers)都是async.

即使你的應用服務方法並不需要是async,也將其設置為async,因為攔截器需要執行async操作(授權,工作單元等).你可以在不調用async的方法中返回Task.Completed.

示例:

public Task<int> GetValueAsync()
{
    //這個方法沒有任何async調用
    return Task.CompletedTask(42);
}

上述例子通常並不需要是async因為它不執行async調用.然而,將它設置為async,這樣可以幫助ABP框架運行攔截器時避免出現async套sync的調用.

此規則不強制你寫的每一個方法都是async.這樣並不好而且很乏味.只在攔截的服務上需要(特別是應用服務倉庫方法)

其他破壞性變更

查看發行說明中的破壞性變更.他們中的大多數都不會影響你的應用程序代碼.

新功能

本次發布還包含一些新的功能和一堆改進:

  • #2597 新的Volo.Abp.AspNetCore.Serilog包.
  • #2526 C#客戶端代理的客戶端驗證.
  • #2374 async后台作業.
  • #265 管理應用程序關閉.
  • #2472 IdentityServer模塊實現DeviceFlowCodesTokenCleanupService.

功能,改進和BUG修復的完整列表, 請查看發布說明.

文檔

隨着v2.0的發布,我們也完成了一些缺少的文檔.在接下來的幾周內,我們將主要關注文檔和教程.

ABP商業版

ABP商業版是建立在開源ABP框架之上的一套專業的模塊,工具,主題和服務.

  • 除了ABP框架免費和開源模塊之外, 提供專業模塊.
  • 包含一個漂亮的UI主題, 具有5種不同的樣式.
  • 提供ABP套件; 一個讓開發更具有生產力的工具. 通過配置實體屬性, 它可以在幾秒內創建全棧的CRUD頁面. 更多的功能陸續開發中.
  • 為企業提供高級支持.

除了這些標准的功能,我們會將提供定制服務.更多細節請參見commercial.abp.io網站.

ABP框架 vs ABP商業版

ABP商業版不是付費版本的ABP框架.可以把它當作為專業公司提供的附加套餐.你可以用它來節省時間和更快地開發產品.

ABP框架將永遠是開源免費的!

一個原則是,我們創建的主要基礎設施作為開源產品, 然后銷售額外的預制應用程序功能,主題和工具.類似於ASP.NET BoilerplateASP.NET Zero產品.

購買商業版許可極大地節省你的時間和精力,你可以專注於自己的業務,此外也可獲得專門的和優先的支持.同時,你也在支持ABP核心團隊,因為我們花了大部分時間來開發,維護和支持開源的ABP框架.

有了ABP商業版,ABP現在變為一個平台.我們稱之為ABP.IO平台, 其中包括開源ABP框架和ABP商業版.

演示

如果你想知道ABP商業版應用程序的啟動模板是什么樣,你可以很容易地創建一個演示,並看到它的實際效果.該演示包括所有的預制模塊和主題.

下面是一張IdentityServer管理模塊UI的截圖:

這是一張來自使用material設計風格主題的演示應用程序的截圖:

價格

你可以創建無限個工程/產品, 銷售給無限個客戶, 部署在無限台服務器上, 不受任何限制. 定價主要是基於開發人員個數,支持等級源代碼需求上.有三個標准包;

  • 團隊許可: 包括所有的模塊,主題和工具.允許最多3個開發者開發產品.可購買額外的開發者許可.
  • 商業許可: 允許下載所有的模塊和主題的源代碼.此外,默認包含了5個開發者許可.可購買額外的開發者許可.
  • 企業許可: 在商業許可上, 提供無限的專屬支持.

請查看價格頁面了解詳細信息.除了標准包以外,我們也提供定制服務和定制許可.如有任何問題,請聯系我們.

許可比較

許可價格是根據開發者數量,支持等級和源代碼訪問而變化的.

源代碼

團隊許可證不包括預制模塊和主題的源代碼.以NuGet和NPM包的方式使用所有這些模塊.通過這種方式,你可以很容易地通過更新包的依賴得到新功能和bug修復僅.但是不能訪問其源代碼.所以不能嵌入模塊的源代碼到你的應用程序里,和隨意修改源代碼.

預制模塊提供一定等級的定制擴展,並允許你覆蓋服務,UI部分等.我們正在努力使他們更加可定制和可擴展.如果你無需在預制模塊中做很大修改的話,團隊許可是你理想的選擇,因為它更便宜,並且可輕松獲得新的功能和bug修復.

商業和企業許可允許你在需要時下載任何模塊和主題的源代碼.它們使用與團隊許可相同的啟動模板,所以所有的模塊都默認使用NuGetNPM包.但是,在需要的情況下,你可以從一個模塊中刪除包的依賴,並嵌入它的源代碼到你自己的解決方案中,然后完全定制它.在這種情況下,當一個新版本可用時, 升級模塊將不會那么容易.當然, 你不必升級!但是,如果你願意,你也可以使用一些合並工具或Git的分支系統來做到這一點.

許可周期

ABP商業版許可是永久的,這意味着你可以永遠使用它繼續開發應用程序.

但是,下面的服務周期為一年:

  • 高級支持一年后結束.你可以繼續得到社區支持.
  • 一年后將不會得到模塊和主題的更新.你可以繼續使用最后獲得的版本.甚至可以在主版本內得到BUG修復和改進.
  • 你可使用ABP套件一年.

如果想繼續獲得這些好處,可延長許可期限.續訂價格比正常價格低20%.

NDC London 2020

去年一樣, 我們是著名的軟件開發會議NDC London的合作伙伴! 去年, 我們開展了ASP.NET BoilerplateASP.NET Zero主題:

今年,我們將着重於ABP.IO平台(開源ABP框架和ABP商業版).我們的展位會是這樣的:

如果你參加會議,記得要參觀我們的展位.我們將很高興來談一談ABP平台的功能,目標和軟件開發.

你想見ABP團隊嗎?

如果你在倫敦, 而且想和我們喝杯咖啡的話, 在2月1日的下午@hibrahimkalkan@ismcagdas會在那.

想見面就給info@abp.io寫個郵件 😃


免責聲明!

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



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