开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激、尊重。请严格遵守每个项目的开源协议后再使用。尊重知识产权,共建和谐开源社区。
以下开源项目(含组件),从网络搜集,后期会不断补充。
- 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