開源專案是眾多組織與個人分享的元件或專案,作者付出的心血我們是無法體會的,所以首先大家要心存感激、尊重。請嚴格遵守每個專案的開源協議後再使用。尊重智慧財產權,共建和諧開源社群。
以下開源專案(含元件),從網路蒐集,後期會不斷補充。
- OrchardCore【.NET基金會為該專案提供技術支援】
Orchard Core 是一個免費和開源的社群交流專案,致力於在 ASP.NET Core 平臺開發應用程式和可重用性元件。它將建立用於ASP.Net Core應用和擴充套件的共享元件,以及修改這些元件以便使其應用於終端使用者,指令碼人員和開發者。如果您現在是.NET Core 跨平臺的愛好者,想找一個基於ASP.NET Core開發的開源框架,Orchard Core 是一個很不錯的選擇,Orchard Core 是一個基於 ASP.NET Core 構建的可擴充套件與模組化設計的開源CMS系統,全部程式碼在GitHub上已開源,其中使用了很多框架和最佳實戰,它的架構設計值學習 。
Orchard Core 是構建在 Orchard CMS 與 ASP.NET Core 之上進行二次開發的產品。
Orchard Core 包括兩個不同的目標:
Orchard Core Framework:用於在ASP.NET Core上構建模組化、多租戶應用程式的應用程式框架。
Orchard Core CMS:建立在Orchard Core框架之上的Web內容管理系統(CMS)。
重要的是要注意框架和CMS之間的差異。一些想要開發SaaS應用程式的開發人員只對模組化框架感興趣。其他想要建立政企網站、部落格網站的話將重點放在CMS和建立模組,以提高他們的網站或整個生態系統。
開源地址:https://github.com/OrchardCMS/OrchardCore
- SiteServer【國產】
SiteServer CMS 基於 .NET CORE,能夠以最低的成本、最少的人力投入在最短的時間內架設一個功能齊全、效能優異、規模龐大並易於維護的網站平臺。
產品特性
- 開源免費的企業級CMS。
- 網站群與多伺服器釋出。
- 內容多終端一體化。
- 眾多功能外掛,完整產品線。
- 支援各種內容模型。
- 高度靈活的許可權分配。
- 良好的擴充套件性與二次開發 如果有.NET開發人員,還能通過修改SiteServer CMS原始碼進行二次開發。
開源地址:https://gitee.com/siteserver/cms
- XBlog
XBlog是使用.NET Core技術,
完全基於BeetleX.FastHttpAp
框架開發,可以執行在Windows和Linux系統上的部落格系統。如果是個人學習與建站,則非常值得推薦。
技術要點:
- 基於dotnet core平臺,可以執行在windows和linux系統上。
- 完全基於BeetleX.FastHttpAp框架開發。
- 前後端分離,完全脫離後端檢視引擎;基於vuejs和webapi模式。
- 混合HTTP和Websocket,當瀏覽器相容Websocket的情況下請求會使用Websocket。
- 基於javascript前端Markdown,降低文章在服務端解釋的損耗。
- 支援HTTPS滿足安全訪問的需求。
- javascript async/await 對訪問的瀏覽器要求比較高,舊版本瀏覽器可能無法檢視。
開源地址:https://github.com/beetlex-io/XBlog
- Blog.Core
框架功能點
1、豐富完整的介面文件,在檢視的基礎上,可以模擬前端呼叫,更方便。
2、採用多層開發,隔離性更好,封裝更完善。
3、基於專案模板,可以一鍵建立自己的專案。
4、搭配程式碼生成器,實現快速開發,節省成本。
5、專案整合多庫模式以及讀寫分離模式,可以同時處理多個資料庫的不同模組,更快更安全。
6、整合統一認證平臺 IdentityServer4
,實現多個專案的統一認證管理,解決了之前一個專案, 一套使用者的弊端,更適用微服務的開發。
7、豐富的審計日誌處理,方便線上專案快速定位異常點。
8、支援自由切換多種資料庫,Sqlite/SqlServer/MySql/PostgreSQL/Oracle;
9、支援 Docker
容器化開發,可以搭配 k8s 更好的實現微服務。
應用領域
1、【對接第三方api】專案通過webapi
,可以快速對接第三方api
服務,實現業務邏輯。
2、【前後端分離】 採用的是API
+前端的完全分離的開發模式,滿足平時開發的所有需求, 你可以對接任何的自定義前端專案:無論是微信小程式,還是授權APP,無論是PC網頁, 還是手機H5。
3、【多專案】同時框架還整合了一套鑑權平臺,採用IdentityServer4,可以快速的實現多個客戶端的認證與授權服務, 從而大大的減少了平時的工作量,可以快速的進行產品迭代。
4、【微服務】當然,因為採用的是API模式,所以同樣適用於微服務專案,實現高併發的產品需求。
市場前景
1、前後端分離模式已經是目前的主流開發模式,框架已經是一套可行的方案,開箱即用。 2、擁有幾十篇技術文件和3000人的技術社群,方便快捷的解決問題。
3、目前已經有超過20多家公司在生產環境中使用,當然實際中更多,具體檢視 點選檢視使用的情況。
4、同時可以搭配自己的業務,實現微服務的開發,在大資料高併發中,佔有更好的優勢。
5、本專案直接作者由微軟MVP“老張的哲學”出品,並長久維護,不會斷更,有保障。
功能與進度
框架模組:
- [√] 採用
倉儲+服務+介面
的形式封裝框架; - [√] 非同步 async/await 開發;
- [√] 接入國產資料庫ORM元件 —— SqlSugar,封裝資料庫操作;
- [√] 支援自由切換多種資料庫,MySql/SqlServer/Sqlite/Oracle/Postgresql/達夢/人大金倉;
- [√] 實現專案啟動,自動生成種子資料 ;
- [√] 五種日誌記錄,審計/異常/請求響應/服務操作/Sql記錄等;
- [√] 支援專案事務處理(若要分散式,用cap即可);
- [√] 設計4種 AOP 切面程式設計,功能涵蓋:日誌、快取、審計、事務 ;
- [√] 支援 T4 程式碼模板,自動生成每層程式碼;
- [√] 或使用 DbFirst 一鍵建立自己專案的四層檔案(支援多庫);
- [√] 封裝
Blog.Core.Webapi.Template
專案模板,一鍵重建自己的專案 ; - [√] 搭配多個前端案例供參考和借鑑:Blog.Vue、Blog.Admin、Nuxt.tbug、Blog.Mvp.Blazor ;
- [√] 統一整合 IdentityServer4 認證 ;
元件模組:
- [√] 提供 Redis 做快取處理;
- [√] 使用 Swagger 做api文件;
- [√] 使用 MiniProfiler 做介面效能分析 ;
- [√] 使用 Automapper 處理物件對映;
- [√] 使用 AutoFac 做依賴注入容器,並提供批量服務注入 ;
- [√] 支援 CORS 跨域;
- [√] 封裝 JWT 自定義策略授權;
- [√] 使用 Log4Net 日誌框架,整合原生 ILogger 介面做日誌記錄;
- [√] 使用 SignalR 雙工通訊 ;
- [√] 新增 IpRateLimiting 做 API 限流處理;
- [√] 使用 Quartz.net 做任務排程(目前單機多工,叢集排程暫不支援);
- [√] 支援 資料庫
讀寫分離
和多庫操作 ; - [√] 新增 Redis 訊息佇列 ;
- [√] 新增 RabbitMQ 訊息佇列 ;
- [√] 新增 EventBus 事件匯流排 ;
- [√] 新增 實現聚合支付;
- [ ] 計劃 - 資料部門許可權;
- [ ] 計劃 - ES 搜尋;
微服務模組:
- [√] 可配合 Docker 實現容器化;
- [√] 可配合 Jenkins 實現CI / CD;
- [√] 可配合 Consul 實現服務發現;
- [√] 可配合 Ocelot 實現閘道器處理;
- [√] 可配合 Nginx 實現負載均衡;
- [√] 可配合 Ids4 實現認證中心;
參考文獻:
- https://jishuin.proginn.com/p/763bfbd2b794
- https://www.cnblogs.com/shanyou/p/9700422.html
- https://www.cnblogs.com/sheng-jie/p/9789180.html