.net开源框架简介和通用技术选型建议
.net体系
.net core
.net 类库
asp.net mvc
asp.net webapi
asp.net core
EF
跨平台和运行时解决方案(解决方案)
Katana:微软基于OWIN规范实现的非IIS寄宿ASP.NET和MVC等。
MONO.NET:跨平台的.NET运行环境,让.NET跨平台运行成为可能。
Unity3D:微软大力支持的机遇C#和Java的跨平台游戏开发框架。
Cassini、IIS Express和Cassinidev:开源的ASP.NET执行环境。
IKVM.NET:基于.NET的JAVA虚拟机,让JAVA运行在.NET之上。
Enterprise Library:微软针对企业级应用开发的最佳实践组件。
架构思想框架
PetShop:微软ASP.NET宠物商店。 分层思想的代表
ABP:ASP.NET Boilerplate Project (ASP.NET样板项目) 。 领域驱动思想代表
eShopOnContainers:微服务架构和Docker容器的一个简单的.Net Core的应用。微服务思想代表
依赖注入IOC容器框架(解耦)
Unity:微软patterns&practicest团队开发的IOC依赖注入框架,支持AOP横切关注点。
Spring.NET:依赖注入、面向方面编程(AOP)、数据访问抽象,、以及ASP.NET集成。
Autofac:最流行的依赖注入和IOC框架,轻量且高性能,对项目代码几乎无任何侵入性。
Ninject:基于.NET轻量级开源的依赖注入IOC框架
数据访问和ORM框架(数据访问层,持久化层)
EF(ADO.NET Entity Framework):微软基于ADO.NET开发的ORM框架。
Dapper:轻量级高性能基于EMIT生成的ORM框架。
EmitMapper:性能较高的ORM框架,运行时通过EMIT动态生成IL代码,并非采用反射机制。
FluentData:开源的基于Fluent API的链式查询ORM轻量级框架。
SqlMapper.cs:用于小项目的通用的C#数据库访问类。
SqlHelper.cs:用于小项目的通用的C#数据库访问类。
EnterpriseLibray:微软企业库,特点是快速开发,融合了微软工程师多年的经验。
Nhibernate:面向.NET环境的轻量级的ORM框架。
数据间格式转换
Newtonsoft.Json:目前.NET开发中最流行的JSON序列化库,为新版的WebApi库提供基础。
AutoMapper:流行的对象映射框架,可减少大量硬编码,很小巧灵活,性能表现也可接受。
实体类和DataTable的转换 :反射,表达式树,emit三种中,三选一。
Redis和数据连接驱动框架
ServiceStack.Redis:
StackExchange.Redis:
csredis:
MySQL Connector:完全托管的 MySQL ADO.NET 数据库提供程序、连接器
中间件与消息队列
RabbitMQ.NET:AMQP 客户端的 C# 实现
NServiceBus:.NET 平台下最流行的服务总线
全文搜索和爬虫框架
Lucene.net:流行高性能的全文索引库,可用于为各类信息提供强大的搜索功能。
Elasticsearch.Net:操作ES
日志记录框架
Log4Net.dll:轻量级的免费开源.NET日志记录框架。
NLog:是一个简单灵活的日志记录类库,性能比Log4Net高,使用和维护难度低。
任务计划调度
Quartz.NET:开源的作业调度和自动任务框架。
办公系列框架(文档操作)
NPIO.dll:该项目是 .NET 版本的 POI 项目,原始的 Java 版本位于http://poi.apache.org/ 。
DocX:不需要安装word软件,通过C#操作word文件。
Open XML SDK:Open XML SDK 是一个开源库,用于处理 Open XML 文档
ITextSharp:iText 是一个PDF库,用于创建、修改、检查和维护 (PDF)格式的文档
语法解析和模板引擎(Template Engine)
RazorEngine:基于微软 Razor 解析器引擎的开源模板引擎。官网
Nustache:无逻辑模板的开源库。官网
DotLiquid:Ruby Liquid 模板语言的 C# 移植版本
MarkdownSharp:C# 实现的开源 Markdown 处理器,在 Stack Overflow 中使用
Java.NET和Clear(微软出品):基于.NET开发的Java引擎
ExCSS:C# 的 CSS3 解析器开发库
HtmlAgilityPack:一个灵活的 HTML 解析器,可以对 DOM 进行读写,支持 XPATH 和 XSLT
通讯框架(网络)
SignalR:ASP.NET 库,开发者可以通过它在 web 应用程序中非常简单地实现实时功能
Helios:一套高性能的Socket通信中间件
压缩框架
SharpZipLib:一个 Zip、GZip、Tar 和 BZip2 的类库,完全由 C# 编写,面向 .NET 平台
安全性框架
OAuth:超轻量级 OAuth 1.0a 签名生成库,C# 编写
ASP.NET Identity:用于 ASP.NET 应用程序的新身份系统。
IdentityServer:可扩展的 OAuth2 和 OpenID 连接提供程序框架
HashLib:HashLib 包含了几乎所有你见过的哈希算法,它几乎支持所有东西并且非常容易使用
图像处理框架
Paint.NET:基于.NET小巧灵活强大的图形处理开源项目。
NGraphics:NGraphics 是一个 .NET 跨平台矢量图形渲染库
DynamicImage:高性能开源图片处理库,用于 ASP.NET
人工智能与数学框架
Math.NET:强大的数学运算、微积分、解方程和科学运算。
Accord.NET:机器学习框架,包含了音频和图像处理的库(计算机视觉、计算机听觉、信号处理和统计)
移动互联网和云计算
PushSharp:通过.NET向各种移动平台推送消息。
mono for android:用.NET语言开发安卓应用:
MonoTouch:用.NET语言开发IOS应用。
PhoneGap和AppCan:跨平台基于HTML5的移动开发平台。
Cordova:PhoneGap贡献给Apache后的开源项目,是驱动PhoneGap的核心引擎。
桌面程序框架
DevExpress:一个全球知名的桌面应用程序UI控件库。
Prism:微软开发的针对WPF和Silverlight的MVVM框架,通过功能模块化的思想,来讲复杂的业务功能和UI耦合性进行分离。
WPFToolkit 和 Fluent Ribbon Control Suite:开发类似于Office风格的Ribbon菜单。
测试(Testing)
Faker.Net:方便生成大批量测试数据的框架。
包管理
NuGet:.NET 包管理器。官网
MyGet:为 NuGet、NPM、Bower 和 VSIX 提供程序包仓库宿主,同样提供 CI 服务。
Paket:.NET 的一个包依赖管理器,支持 NuGet 包和 GitHub 仓库。
编译器和IDE框架
ILSpy:ILSpy 是一个开源的 .NET 程序集查看器和反编译器
Visual Studio Code:非常棒的编辑器,来自微软,基于 GitHub Atom
MSBuild也是一个MIT License的开源软件,可以在Github上看到它的 仓库 。
Visual Studio 插件
Resharper:Visual Studio 开发人员生产力工具
打包发布和自动构建持续集成和升级框架
Wix Toolset:强大的工具集,用于创建你自己的 Windows 安装程序
Squirrel:Squirrel 即是一套工具也是一个类库,可以无安全管理 Windows 桌面程序的安装和更新
MSBuild:微软构建引擎(MSBuild)是 .NET 和 Visual Studio 的构建平台
Psake:基于 .NET 的自动化构建工具,使用 PowerShell 编写
成品应用系统框架
Orchard:国外一个MVC开源的博客,内容管理CMS系统。
技术选型或技术预研
选型考虑三要素:功能性,性能,稳定性
功能性:满足现在和可预期的未来
性能:考虑现在和未来,明白上限
稳定性:
- 1.主流,团队中询问大家用过的多不
- 2.坑少,资料多,千锤百炼
- 3.不要让本已满负荷的小小团队,再去趟雷,你和你的技术团队有那个实力吗第一个吃螃蟹。
如果有多个优秀待选?
团队人员:
有很多优秀的可选,看团队的熟练度
个人素质:
广度决定能知道
深度决定知道好
不用并不代表不关注
选不好,会造成进退两难,人马疲惫
关于以后
不要让以后,忽略了当下。
太多的以后可能让你走不出当下。
真的有以后吗。
想做好,少不了以后。
.net开源框架简介和通用技术选型建议相关推荐
- 六款值得推荐的Android开源框架简介
六款值得推荐的Android开源框架简介 技术不再多,知道一些常用的.不错的就够了.下面就是最近整理的"性价比"比较高的Android开源框架,应该是相对实用的. 1.volley ...
- lion.ec开源框架简介(原创)
lion.ec开源框架 主要功能有移动.传统电商.数据分析.工作流.库存.订单.支付.运行.移动交易.客户等功能: 代码方式开源: 代号:lion IDE:JDK7.0,Eclipse,Maven3. ...
- 联邦学习开源框架简介
0.FATE平台 该平台是微众银行开发的,是全球第一个联邦学习工业级开源框架.不管是对初级人门者,还是联邦学习产品级系统的开发人员,FATE都是一个非常合适的选择.相比于利用Python从零开发,FA ...
- 6个值得推荐的Android开源框架简介
此文章转载至http://blog.csdn.net/lxmhuendan/article/details/39643995点击打开链接 虽然我们在做app的时候并不一定用到框架,但是一些好框架的思想 ...
- 六款值得推荐的 android 开源框架简介
1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(sched ...
- 六款值得推荐的android(安卓)开源框架简介
1.volley 项目地址 https://github.com/smanikandan14/Volley-demo (1) JSON,图像等的异步下载: (2) 网络请求的排序(scheduling ...
- java常见开源框架简介
对于一般常见的框架,在和别人交谈或者看见项目用到了,知道是干什么用的就够了.开始垒高楼gogo 1.Apache Shrio 介绍 Apache Shiro™是一个功能强大且易于使用的Java安全框架 ...
- 网厨管理java_点菜网---Java开源生鲜电商平台-技术选型(源码可下载)
centos 安装php7.0.2 PHP7.0正式版已经在2015年11月份左右发布,目前是PHP7.0.2版本,本人最早是从2015年8月php7的第一个测试版跟起,现在正式版发布. linux版 ...
- 网易云轻舟设计理念与技术选型
微服务架构技术经过几年的发展,已经是百花齐放,各领风骚.SpringCloud.Dubbo.自研RPC.Service Mesh-- 大家对微服务架构下的技术.架构.功能模块似乎总有说不尽的话题.大部 ...
最新文章
- POJ-3414 Pots BFS+记忆路径
- PhpMyAdmin导入数据库大小限制?
- 百度飞桨和Imagination宣布在全球AI生态系统方面开展合作
- random(随机函数生成)
- sde oracle11g,Arcsde post oracle11g报错解决办法
- ExtJS4.2 menu鼠标移开隐藏
- Vue2学习小记-给Vue2路由导航钩子和axios拦截器做个封装 1
- 17.词法分析和语法分析
- 信息学奥赛一本通1011
- scratch python转化_从Scratch到Python——Python生成二维码
- 浮点数计算常见错误1.#INF, 1.#IND和#QNAN
- 帝国军师--约森·梅尔沃德(微软技术总监)
- “抛弃 Gmail!”
- 对于最小二乘法的解释
- OpenWRT(十一)LuCi开发(三)
- 天猫精灵,还缺点啥?
- MAC中 Texpad编辑
- 做公众号一年,赚100万
- RocketMQ中的消息类型种类(二)
- Unity 3D学习之路
热门文章
- java读写注册表的两种方式,Preferences与jRegistry
- 图片加到json中,提交到服务器端处理异常问题。
- Java程序员的推荐阅读书籍
- 用多媒体库 Bass.dll 播放 mp3 [15] - 设置与获取播放速度
- transformer bert GPT(未完)
- POJ-1651 Multiplication Puzzle 矩阵连乘问题(区间dp)
- Java学习笔记3——集合框架
- 堆排序python代码实现_python实现堆排序
- yii2通过url访问类中的方法_每日学点---nginx变量使用方法详解(3)
- 南京二本有什么计算机学校,南京有什么好的二本学校?