.NET开发人员值得关注的七个开源项目

Ajax控件工具包php

 

  在Ajax术语诞生的短短五年内,这个混合了java script、XML和异步通讯的技术加强了用户的在线体验,带动了Web技术的积极发展,如今随便浏览一个网站可能都应用了Ajax技术,随着诸如日历,客户端表单验证等功能包罗万象的Ajax框架的出现,使Web开发朝快速,简单的方向迈进了一大步。java

 

  ASP.NET Ajax控件工具包(AJAX Control Toolkit)为.NET开发人员提供了丰富的解决方案,值得一提的是这个工具包是由微软和开发者社区共同开发的,Ajax控件工具包提供了几十个强大的控件,如评星等级小工具,弹出窗口,密码强度验证,可拖动式面板等。ajax

 

  在它的项目主页(www.asp.net/ajax/AjaxControlToolkit/Samples/Default.aspx)列出了多个控件demo,而且提供了详细的教程教你如何使用这些控件,快去看看吧。数据库

 

  ASP.NET MVC编程

 

  MVC架构在现代网站开发中起着核心做用,诸如Ruby on Rails和Zend Framework等解决方案都是使用MVC做为以架构驱动开发的基础,幸运的是,.NET开发人员也有ASP.NET MVC开源框架可用,ASP.NET MVC支持三层分离,测试驱动开发,以及一系列最佳实践。ASP.NET MVC为.NET开发人员开发复杂网站提供了一个强大的解决方案,并且它是基于.NET的,开发人员能够继续使用其它ASP.NET特性,如数据缓存和表单验证等,另外还有其它辅助项目进一步加强了ASP.NET MVC框架的功能,如著名的MvcContrib,它扩展了ASP.NET MVC框架,包括UI助手,模型绑定等加强。缓存

 

  ASP.NET MVC主页(www.asp.net/mvc)提供了大量的学习资源,包括一系列视频教程,你彻底能够跟着教程的示例建立一个Web应用程序。服务器

 

  CruiseControl架构

 

  如今软件变得愈来愈复杂,迫使开发者社区从新思考软件开发过程,改进如今的开发方法,以减小开发时间,提升软件质量,所以产生了许多最佳实践,如著名的测试驱动开发和持续集成等最佳实践已经在企业环境中获得了广泛采用,持续集成经过按期严格整合项目的各个组成部分,减小了复杂项目的集成时间,开发人员能够及早检查和解决集成时发现的问题,而不是等到最后彻底集成时才集中解决问题。mvc

 

  具体说来,持续集成涉及到开发过程许多部分的自动化,包括按期运行测试,开发人员每次向项目仓库提交代码时的自动构建等,由于这种水平的自动化涉及到多个机动部分,近几年许多解决方案开始流行本身定制持续集成过程,包括开源项目CruiseControl,它为构建过程,浏览构建结果,生成构建报告提供了自动化功能。CruiseControl已经变成了一个流行的持续集成解决方案,并造成了良好的扩展生态系统,在大量的第三方扩展中,JCCTray无疑是最耀眼的,它驻留在任务栏实时监视构建服务器的状态,另外还有BigVisibleCruise也不错,它以直观的视觉图标显示构建服务器上托管的全部项目状态。框架

 

  DotNetNuke

 

  随着全部业务都开始向网上转移,网站变得愈来愈繁忙,人们须要一个强大的内容管理工具来更新网上的内容,的确,如今的网站不只是销售产品和服务的渠道,也是管理销售线索和联系人,维护文档,以及图片、视频等多媒体服务的重要手段,管理和组织这些不一样类型的资源最有效的方法是使用一个集中式内容管理工具,其中最流行的解决方案就是DotNetNuke,它是一个强大的由.NET开发的内容管理平台,在全球有数十万中小企业用户,甚至财富500强企业也有使用它。

 

  虽然存在多个版本,但开源社区版本也提供了许多功能,容许企业管理公告,论坛等,并且无需编写一行代码,甚至连专业的IT人员也用不着,若是须要扩展,门槛也是很低的。

 

  咱们最近提交了一篇完整的文档(www.codeguru.com/csharp/.net/net_asp/miscellaneous/article.php/c17111)介绍DotNetNuke的关键特性,若是你对这个项目有兴趣,不妨去看看。

 

  Mono

 

  2002年.NET框架1.0的发布,象征软件开发的历史将出现重大转折,它容许开发人员使用.NET通用语言运行时(CLR)支持的任意语言建立应用程序,微软将Windows操做系统做为.NET应用程序运行的惟一平台一点也不奇怪,远离Linux和OS X就远离了麻烦,但由于.NET是基于一系列公开的标准的,一组有进取心的开发人员建立了Mono项目,将.NET带进了非微软平台。

 

  Mono如今由Novell收养,近几年来,Mono的规模不断发展壮大,野心也愈来愈大,不只容许.NET应用程序运行在非Windows平台,如今在Linux平台上还提供了对Silverlight的支持(即著名的Moonlight),甚至可使用C#编程语言构建iPhone应用程序(即著名的MonoTouch)。

 

  更多信息请参考Mono项目网站(www.mono-project.com/Main_Page),你还能够下载为Visual Studio准备的Mono插件工具包。

 

  NAnt

 

  随着项目规模和复杂性的增长,开发周期变得愈来愈长,开发人员已经厌倦处理构建时的一大堆麻烦,开发人员James Davidson建立了Ant,它是Java项目的构建工具,在Java社区传播得很快,因而出现了与之相似的NAnt,为.NET社区提供了相似的功能。

 

  使用NAnt,你能够建立构建脚本,让整个.NET项目的构建过程所有自动化,从执行测试到建立文档,请阅读这个清单查看它支持的任务(nant.sourceforge.net/release/latest/help/tasks/)。

 

  NHibernate

 

  尽管在软件开发的全部环节都会与数据库打交道,但开发人员和数据库之间的关系却并很差,隔阂都是由于应用程序和数据库之间交换数据时效率不高引发的,因而有人建立了Hibernate框架对象关系映射(ORM)解决方案,有效地解决了程序和数据库之间对象的映射关系。

 

  .NET开发人员也有NHibernate解决方案可用,自2005年首次发布以来,一直在积极发展,消除了.NET开发人员面向数据的许多困难任务,NHibernate不只可用于映射应用程序模型到数据库表,并且能够基于应用程序定义的域模型生成数据库表结构。

 

  NHibernate项目网站(nhforge.org/Default.aspx)提供了大量的资源,包括详细的使用手册,能够帮助你快速地了解和使用这个强大的ORM解决方案。

 

  小结

 

  若是你是一名.NET开发人员,尚不知道这些开源项目,那么如今是时候了解和学习它们了,我保证你合理引入这些项目会提升你的生产力,说不定还会激发你参与这些开源项目,若是你在使用一个这里没有列出的.NET开源项目,不妨与你们分享一下吧!

相关文章
相关标签/搜索