明志唯新

最近正在关注和使用的几个开源项目

发表于

最近忙于 Windows 8 技术方面的传道,说要写博客一直没补上,真是惭愧。今天开始重拾博客,先跟大家分享一下我最近关注的几个来源项目吧。

首先是单元测试方面,过去使用过 MS Test 和 NUnit 等单元测试技术,但总是给人一些不理想的感觉,内心总有各种纠结。不要 [SetUp] 和 [TearDown] 行不行??每次阅读测试代码时都得看看 BeforeTest(),烦死了。Ok,NUnit 的创造者Jim Newkirk又发布了一个新的单元测试框架: xUnit.net。这个以 NUnit 接班人自许的新框架打算消除 NUnit 的错误和缺点,并在框架中加入了一些最佳实践和扩展能力。 目前这个开源项目托管在微软的开源平台 CodePlex 上,且附有完整的介绍文档和常见问题的解决方案。这个框架个人觉得非常不错,使用起来简单清洁,测试代码相对较容易理解和阅读。再结合强大的 Mock 框架 Moq,你在单元测试方面将如虎添翼,感兴趣的化赶紧试试吧。这里额外提一下微软的 ASP.NET MVC 4 框架使用 Apache2 协议开源了,如果你阅读过它的代码你会发现 xUnit.net 和 Moq 都被使用了,这说明了什么?

其次是 SignalR,这个项目是一个有关长连接技术的客户端+服务器端库,你可以通过这套库程序实现客户端向服务器端发送多个消息以及服务器端向客户端发送异步消息的功能应用。比如你想做一个实时的 Web 应用、聊天室、客服系统等,可以考虑一下这个项目。其中客户端库以 jQuery 插件的形式存在,对 jQuery 迷们来说是个不错的消息。

以前我在一堂 MSDN WebCast 课程中曾经提到过一个高性能远程对象服务引擎 —— Hprose。作者跟我是大学同学,技术非常之牛。这个框架也被很多技术大牛看好,原来这个项目是商业开源的项目,现在它已经被作者使用 GPL + MIT 协议开源了。喜欢这套引擎的同学们,或者想研究相关技术的朋友们可以关注一下这个项目,相信你会受益匪浅的。

最近异步编程在 Windows 8 开发的加速下,更加火爆了。基本达到了,不会异步编程都不好意思跟同道中人打招呼的程度了。.NET 4.5 中增加了 async 和 await 等机制,让我们可以使用同步编程的方式来编写异步程序。而 NodeJs 或浏览器的 Javascript 技术中,我们要做异步,还得写一堆回调啊,代码放下几天再阅读,有可能你自己都抓狂了。国内技术大牛老赵为了解决此类问题开发了一套 JS 的扩展库 Wind.js。虽然还没完全支持各种 js 语法,有一些小的限制,但总体来说解决了我们很多问题,让我们在 js 中也能够 $await 了,js 的码农们赶紧尝试一下吧。