衣明志 发表于 2015-03-05 18:34 , 阅读 (4077)javascript
今天是2015年的元宵节了,14年承诺朋友们公开本身经常使用的工具和类库集,一直没能及时兑现。今天忙里偷个闲,整理了一下清单,在此公布出来,但愿可以对你们在.NET、App、Web等开发方面有所帮助。也当是给.NET开发者一个元宵礼物吧,哈哈。不废话直接上菜啦~ 【注:最下方有补充更新】php
Bootstrapcss
Twitter团队出品,简洁、直观、强悍的前端开发框架,让web开发更迅速、简单。3.1支持IE8+、Chrome、Firefox、Safari、Opera等浏览器。框架的语法和规范完善优秀,文档详细。支持使用LESS语法进行个性化定制。html
官方网站: http://getbootstrap.com前端
中文文档: http://v3.bootcss.com/getting-startedhtml5
LESSjava
LESS是一种动态样式语言,LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数. LESS 既能够在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也能够借助Node.js或者Rhino在服务端运行。node
官方网站: http://lesscss.orgpython
中文文档: http://www.bootcss.com/p/lesscssjquery
Font Awesome
Font Awesome号称是完美的图标字体,专为Bootstrap而设计的。一个字体文件中包含了多达几百个图标,支持IE7+,矢量图可无限缩放,完美支持Retina等超高像素密度的显示器,兼容屏幕阅读器。
官方网站: http://fontawesome.io
中文文档: http://www.bootcss.com/p/font-awesome
html5shiv
愈来愈多的网站开始使用HTML 5,可是目前的状况是不少人同样在用IE六、IE七、IE8等不支持HTML5的旧版IE浏览器,Html5shiv是解决此问题的不错手段,它仅仅是个js文件,在须要的时候(低于IE9时)引用一下便可。
官方网站: https://github.com/aFarkas/html5shiv
jQuery
目前全球Web开发领域最流行的前端js框架,因为本网站官方要求支持IE8,因此本项目不能使用2.x的版本。
官方网站: http://jquery.com
jQuery.Cookie
jQuery的Cookie操做插件,用于在网站前端读、写、删cookies。
官方网站: https://github.com/carhartl/jquery-cookie
jQuery.Hotkeys
jQuery的前端热键插件,用于给web页面提供快捷热键功能。
官方网站: https://github.com/tzuryby/jquery.hotkeys
jQuery.Validation
jQuery的前端验证插件
官方介绍: http://bassistance.de/jquery-plugins/jquery-plugin-validation
Microsoft.jQuery.Unobtrusive.Validation
jQuery的前端验证插件的扩展,能够不用写js代码实现大部分的jQuery.Validation功能
官方资料参考页面: http://go.microsoft.com/fwlink/?LinkId=389866
linq.js
linq.js是用于在Web前端的js代码中使用相似C#的Linq语法对数据进行查询统计等处理
官方网站: https://linqjs.codeplex.com
Modernizr
专为HTML5和CSS3开发的功能检测类库。Modernizr是一个开源的JS库,它使得那些基于访客浏览器的不一样(指对新标准支持性的差别)而开发不一样级别体验的设计师的工做变得更为简单。它使得设计师能够在支持HTML5和CSS3的浏览器中充分利用HTML5和CSS3的特性进行开发,同时又不会牺牲其余不支持这些新技术的浏览器的控制。
官方网站: http://www.modernizr.com
RequireJS
国际上很是流行的前端js模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更简单天然。其与国内淘宝团队出品的SeaJS差别在于遵循的标签不一样,RequireJS 遵循的是 AMD(异步模块定义)规范,SeaJS 遵循的是 CMD (通用模块定义)规范。因为本站会用到较多jQuery库和jQuery插件,因此遵循AMD规范的RequireJS更适合。
官方网站: http://requirejs.org
AngularJS
Google公司出品的Web前端VMW(View-Model-WhatEver)框架,AngularJS是一款开源 JavaScript函式库,并由Google维护。它的目标是加强基于浏览器的应用,并带有MVC模式 (MVC) 功能。具有很是优秀的性能和双向绑定特性。
官方网站: http://angularjs.org
Momentjs
Moment.js 是一个轻量级JavaScript日期库用于解析、操做和格式化日期。它设计成可运行在浏览器和NodeJS两种环境中,而且全部单元测试也均可以在两种环境中运行。
QUnit
QUnit是一个强大的JavaScript单元测试框架,用于调试代码。该框架是由jQuery团队的成员所开发,而且是jQuery的官方测试套件。任意正规JavaScript代码QUnit都能测试。
官方网站: http://qunitjs.com
jQuery.Mockjax
jQuery Mockjax是专用于在web前端开发时,对ajax请求进行模拟(Mock),达到不依赖于服务器端,就能正常开发前端Ajax的jQuery插件。并能够跟QUnit很好的结合使用进行前端单元测试。
官方项目: https://github.com/appendto/jquery-mockjax
jQuery.MockJSON
MockJSON是一个可用于Mock JSON和JSONP请求及响应的jQuery插件,可在不依赖服务器端WebApi(或WCF、WebService)的状况下测试开发Web前端的应用。而且带有很强的可扩展性。
官方项目: https://github.com/mennovanslooten/mockJSON
Underscore
Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,可是没有扩展任何JavaScript内置对象。.它弥补了部分jQuery没有实现的功能,同时又是Backbone.js必不可少的部分
官方网站: http://underscorejs.org/
spin.js
纯js写的Ajax Loading指示器,不用任何图片,且兼容几乎全部时下的浏览器。
官官方网站:http://fgnass.github.io/spin.js/
NProgress.js
最近很火的一个进度条js库,完美支持Turbolinks、Pjax、重型Ajax应用。
官方网站:http://ricostacruz.com/nprogress/
store.js
一个实现了浏览器的本地存储的 JavaScript 封装 API,不是经过 Cookie 和 Flash 技术实现,而是使用 localStorage、globalStorage 和 userData。
官方网站:https://github.com/marcuswestin/store.js/
NancyFx
Nancy是一个不错的轻量级开源.NET Web框架。若是想快速作个简单的Web应用,Nancy是个不错的选择。做为NancyFx的粉丝,做为博主我也将在本博中开写一系列介绍NancyFx的文章。敬请关注!
Newtonsoft.Json
目前.NET开发中最流行的JSON序列化库,为新版的WebApi库提供基础。
官方网站: http://james.newtonking.com/json
Autofac
Autofac是.NET开发领域最流行的IoC库之一,轻量且高性能,对项目代码几乎无任何侵入性,可无config运行。IoC理念在下降耦合方面表现很是突出,并可为项目代码的可测试性提供帮助。扩展性很是优秀,官方也提供了大量的扩展库,以应对各类场景。
官方网站: http://autofac.org
AutoMapper
流行的对象映射框架,用于Entity、DTO、ViewModel等之间的映射时很是方便,可减小大量硬编码。很小巧灵活,性能表现也可接受。
官方网站: http://automapper.org
Elmah
实现最流行的ASP.NET应用异常日志记录框架,能够详细的将运行时的各类异常记录在文件、数据库或其余可能的任何位置。对网站运营期内发现和修复异常很是有帮助。
官方项目: http://elmah.googlecode.com
Lucene.Net
流行高性能的全文索引库,可用于为各种信息提供强大的搜索功能。迁移自Java的Lucene库。
官方网站: http://lucenenet.apache.org
Lucene.Net.Analysis.PanGu
支持Lucene.Net最新版的盘古中文分词扩展库。
盘古分词组件: https://pangusegment.codeplex.com
DotNetOpenAuth
DotNetOpenAuth可让网站具有支持OpenID、OAuth、InfoCard等身份验证的能力。 提早引入该库,能够为本站将来支持微博、人人等平台登陆提供先期基础保障。
官方网站: http://www.dotnetopenauth.net
Quartz.NET
Quartz.NET 是一个.NET 版的任务调度框架。可用于定时处理数据或发邮件等工做。
官方网站: http://www.quartz-scheduler.net
NLog
NLog是一个简单灵活的.NET日志记录类库。经过使用NLog,咱们能够在任何一种.NET语言中输出带有上下文的(contextual information)调试诊断信息,根据喜爱配置其表现样式以后发送到一个或多个输出目标(target)中。 相比于log4net,NLog的使用难度和维护难度要低不少,而在异步状况下性能要比log4net高不少。日志的记录不该该影响正常业务的执行速度,因此采用异步是很是必要的。
官方网站: http://github.com/NLog/NLog
System.IO.Abstractions
.NET框架很是优秀,可是一些底层设计在一些情景下会显得缺少考量,好比System.IO中的类,在.NET框架中就没有对应的抽象,会形成文件的读写必定是真实文件的操做。当须要在单元测试中对文件操做作庄进行模拟时,就没法实现了,尤为是面对云计算、云存储环境下,文件的存储和操做已经不是那么简单了。因此牛人就为此作了一个通用的抽象System.IO.Abstractions。
项目网站: https://github.com/tathamoddie/System.IO.Abstractions
EnyimMemcached
Memcached是很是优秀和流行的分布式缓存服务器软件,EnyimMemcached则是它在.NET上目前最优秀的客户端驱动,集成不错的分布式均衡算法。另外还支持Membase。
项目网站: https://github.com/enyim/EnyimMemcached
SharpZipLib
.NET上优秀的Zip处理库,能够处理Zip、GZip等。
官方介绍网站: http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx
AttributeRouting
能够经过Attribute直接设置Controller或Action的路由地址,使得MVC中设置路由变得直观方便。
官方网站: http://attributerouting.net
RouteJs
前端js代码常常要经过ajax访问服务器端的地址,在MVC项目中一个地址是有路由映射出来的,一个地址对应的Action也是路由映射护理的。若是开发过程当中可能常常变更服务器端的路由映射规则,会使得js请求的地址都要改变一次,RouteJs则可经过向客户端传递服务器上的路由表来实现客户端请求的地址随服务器端路由映射的改变而改变的状况。
官方网站: http://dan.cx/projects/routejs
RazorGenerator
ASP.Net MVC 3后官方就支持Razor视图引擎,该引擎给.NET Web开发者带来极大的便利和优秀的开发体验。默认状况下,MVC中的视图是在被请求到时动态编译执行的,也就是说不请求就不编译,会形成几个明显的问题:
Razor Generator经过Visual Studio自定义工具功能,对Razor视图提供开发时的编译能力,部署时不须要传输视图文件,只传输dll便可。运行效率、部署效率、可测试性均大幅提升。
项目网站: https://razorgenerator.codeplex.com
WebActivator
WebActivator 可让ASP.NET应用具有不修改Global.asax,就能加入应用启动事件的代码逻辑的能力。在下降项目的耦合方面具备积极意义。
项目网站: https://github.com/davidebbo/WebActivator
FastReflectionLib
国内.NET领域的大牛之一老赵开发的快速发射类库,能够得到比内置反射类更高的性能。
项目网站: http://www.codeplex.com/FastReflectionLib
Moq
很是流行的Mock框架,灵活且高性能。也是目前.NET领域惟一支持Linq的Mock框架
项目网站:https://github.com/Moq/moq4
CsQuery
CsQuery至关因而jQuery的C#实现,能够在C#代码中对HTML进行查找、筛选、处理等DOM操做。只要你熟悉jQuery,就很容易学会在C#中用CsQuery处理HTML了。
官方代码库:https://github.com/jamietre/CsQuery
SpecFlow
SpecFlow是很是优秀的免费的BDD框架和验收测试框架,支持业务人员(非技术人员)可懂的功能描述语言规范。支持常见的国际化语言,固然也包括简体中文和繁体中文等。
官方网站: http://www.specflow.org
Simple.Data
Simple.Data是一个简单的能够代替ORM甚至DAL的数据访问框架,其严重依赖于dynamic特性,且具有高可测试性。深得个人喜欢,在小型项目使用能够成本提升开发效率。
官方文档:http://simplefx.org/simpledata/docs/index.html
官方代码库:https://github.com/markrendle/Simple.Data
xUnit
NUnit框架做者从新开发的很是优秀的单元测试框架,目前ASP.NET MVC官方团队所有使用的xUnit框架编写的ASP.NET MVC单元测试。
项目网站: https://xunit.codeplex.com
EmbeddedMail
网站开发过程当中,免不了要开发发送邮件的功能,对应的也应该写单元测试代码。若是使用真实的SMTP,会给一些真实邮件接收者代理困扰,也会由于过程太慢而失去单元测试的持续有效性,而在持续集成服务器上更会表现差劲。因此开发阶段应该使用模拟的SMTP服务代替真实的,EmbeddedMail是这方面表现比较不错的框架之一。
项目网站: https://github.com/jmarnold/EmbeddedMail
WatiN
开发和验收过程难免须要自动化运行真实的IE或FireFox浏览器进行测试,尤为是验收测试时,很是必要。WatiN就是为此而生的。
官方网站: http://watin.org
LTAF
LTAF是微软总部的ASP.NET团队开发的轻量级测试自动化框架,虽然已经接近2年没有再更新了,可是在一些情景下依然是表现不错的框架。
官方网站: https://ltaf.codeplex.com/
Hprose
Hprose是我大学同窗andot开发的一套开源的高性能远程对象服务引擎(High Performance Remote Object Service Engine)。很是易用,并且性能极佳,对传统WebService和RPC有性能或跨平台意见的同窗能够用用,由于做者把市面上流行的几种语言、框架都作了支持,如:php、go、ruby、python、nodejs、object-c、AAutor Quicker、ActionScript、ASP、Hack、Delphi、javascript、java、.NET、dart、D、Perl、swift、lua、cpp等。你能够在https://github.com/hprose找到它们。
SignalR
SignalR是一套ASP.NET下实现实时通讯的Web应用开发框架,集成客户端与服务器,基于浏览器的客户端和基于 ASP.NET 的服务器组件能够借助它来进行双向多步对话。SignalR会自动根据客户端选择合适的技术来实现实时程序方式。咱们只要关注更高层面的业务实现,无需关注技术上的实现细节。好比,轻松实现一个聊天室。
NPOI.CSS
阅读过我过往博客的同窗应该看过我对NPOI.CSS的介绍,这是因为内部项目须要,而建立的简单快速设置Excel单元格样式的类库。当你用NPOI对单元格设置复杂样式的时候,本来须要不少行代码,且还要时刻提防样式数超标的问题(Excel对单文件内的样式数量有限制),这是很困扰人的。因而我开发这套能够用类CSS的方式设置单元格样式的类库,好比下面这样一行
cell.CSS("color:red;font-weight:bold;font-size:11;font-name:宋体;border-type:thin;")
就能够轻松给单元个设置字体为宋体,字体颜色为红色,且为粗体、11号大小,并给单元格打上细边框。很简单吧?
官网:https://github.com/qihangnet/npoi.css
iBoxDB
iBoxDB是我博客程序MZBlog新版中所采用的NOSql数据库,其具有类SQL的一些特性,但的确是个NOSql数据库。高性能、无依赖、线程安全、先天支持 Java 、.NET、Android、Mono、Unity3D、Xamarin、Nashorn、Linux、Windows Phone等平台、支持索引、事务、主键、零配置,内嵌或独立Server,用类SQL语局查询、支持Linq。官方有跟MongoDB的性能对比,基本是高于MongoDB的。MZBlog采用iBoxDB,而放弃原来使用的MongoDB,缘由主要是不但愿这样一个轻量级博客依赖于一个Server级的数据库,那不利于迁移和部署。关于MZBlog新版,我将会另起一篇博文详述相关内容。
CsvHelper
CsvHelper是.NET上处理CSV文件的利器,快速、灵活且十分易用。支持读写自定义类型对象。
官网:http://joshclose.github.io/CsvHelper
RestSharp
RestSharp是我用过的最好的REST Api调用类库,没有之一。支持同步、异步。总之,有了它,你彻底能够放弃微软官方那个了,哈哈……
C5
C5是IT University of Copenhagen出品的一套支持C#和其余CLI语言的开源泛型集合类。提供了标准.NET框架System.Collections.Generic命名空间下所没有提供的功能和数据结构,好比Persistent Tree、Circular Queue、Hashed Array List、Sorted Array、Hashed Linked List等