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

衣明志 发表于 , 阅读 (17064)

最近忙于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的码农们赶紧尝试一下吧。