`

百万开发者拥戴!七大.NET著名开源项目

    博客分类:
  • .NET
阅读更多
新翻译了篇帖子,原文发表在

http://publish.itpub.net/a2010/0906/1099/000001099775.shtml上



尽管过了相当长的时间,花费了不少资源,微软和.NET社区还是在最近几年加入到了开源运动的阵营中来了,这令人相当惊讶,因为两大阵营一直都是经常对立的。然而,事实是依靠开源,微软社区中的开源开发工具日益发展壮大。本文将深入了解.NET领域的开源项目,介绍七个在全球受到数百万.NET开发者拥戴和欢迎的开源项目。



AJAX 控件工具包

  仅仅五年时间,自从AJAX的概念提出来以后,使用JAVASCRIPT,XML和异步通信去提升用户的在线体验已经从新颖的想法变为实在的需要。因为AJAX驱动的要求已经变得很普通,不久开发者们都投入到开发AJAX框架中去,这使得象日历和客户端表单验证这样的功能变得很容易实现。

  .NET开发者在处理AJAX方面有ASP.NET AJAX Control Toolkit工具包这个很好的解决方案。它由微软公司和开发者社区联合开发,提供了多种功能强大的控件,如评分控件,模态弹出窗口,密码强度验证器,可拖拉的面板。

  可以查看ASP.NET主页上该项目的主页,上面有控件示例的清单和例子,除此之外,还有大量的导学文章,能指导如何充分利用工具包的很多特性。

  ASP.NET MVC

  MVC的架构在现在的Web开发中起着重要的作用,象Ruby on Rails,Zend Framwork等框架都是使用MVC框架进行开发的。多亏有了ASP.NET MVC框架,.NET开发者也能够拥有一个功能强大的MVC框架了。ASP.NET MVC框架提供了MVC的良好分层,测试驱动以及“约定优先”的最佳实践,为.NET开发者构建复杂的网页提供了强大的解决方案。因为是基于.NET构建的,开发者能充分利用ASP.NET的诸如数据缓存和表单验证等功能。你还可以发现不少其他项目也是基于ASP.NET MVC构建,并且提升了其功能,象MvcContrib,它扩展了ASP.NET MVC的功能,还包括象UI helper和模型绑定器等功能。

  ASP.NET MVC框架的网站提供给新手一系列学习资源,包括了视频系列导学,它们通过示范搭建应用程序的方法去指导读者学习。

  CruiseControl

  现在软件的复杂性使得软件开发团队不得不重新考虑软件开发的过程,这要引入既能缩短开发时间又能提高软件质量的方法。这使得出现了大量的软件开发最佳实践,它们越来越广泛应用在企业中,象测试驱动和持续集成。其中持续集成在整个软件开发过程中,通过有计划和严格地整合工程的组件,并能尽可能减少在这方面付出的时间和精力。这使得开发者能尽早发现和解决在整合过程中的问题,而不是等问题变得越来越复杂再去解决。

  更准确来说,持续集成包含了软件开发过程中的自动化过程,包括定期运行测试,在每次开发者向工程代码库提交代码时,重新编译构建项目。因为这个自动化的阶段包含了大量的象文件移动等操作,近年来,很多能完成自动持续化集成的解决方案出现了,其中包括开源项目CruiseControl,CruiseControl提供了自动化构建的工具,可以查看构建的结果,并且生成报告。CruiseControl现在已变成一个十分流行的持续集成解决方案。在众多的第三方持续集成工具中,可以找到象JCCTray这样的工具,它是一个桌面运行的应用程序,可以直接了解你的构建服务器的状态,并且BigVisibleCruise这个工具,使用可视化的提示显示构建服务器上所有受管理的工程的状态。  



DotNetNuke

  随着越来越多的公司正把它们的商务活动迁移到在网上,这需要功能强大的网站内容管理系统,而不仅是简单更新一下网页内容。实际上,现在的网站不仅是卖商品,同样也管理销售机会和其他合同等,也要维护文档和提供如图片和视频等多媒体服务。最有效去管理这些大量的内容的是采用集中的内容管理系统。其中最著名的解决方案是DotNetNuke,它是一个功能强大的基于 .NET的内容管理系统,已在全球500强中很多企业和众多开发者中被采用。

  DotNetNuke虽然已经有了多个版本,但开源的社区版本提供了数百个特性,如它们能让公司去管理通告,实现论坛交互,而这些都不需要有任何的编程知识。如果公司需要自定义一些新功能的话也能按它们的需要去扩展。

  最近我们写了一篇介绍DotNetNuke的关键特征的文章(http://www.codeguru.com/csharp/. ... /article.php/c17111),如果有兴趣的可以通过查看该文去学习DotNetNuke。

  Mono

  2002年,.NET 1.0的出现是软件开发领域中的一个分水岭,在众多特性中,它可以让开发者使用任何支持.NET公共运行时的语言去开发应用。当然,微软将WINDOWS平台作为.NET运行的主要平台,这对象LINUX等其他系统来说是个噩梦。然而因为.NET是基于一系列公开的标准的,一些企业组织的开发者开发了Mono项目,能让.NET可以运行在非微软平台上。

  现在由于Novell公司的大力支持,Mono项目这些年发展得相当迅速,它不但能让.NET跑在非微软的平台上,也支持在LINUX上运行Sliverlight技术(目前代号为Monnlight),甚至开始研究在使用C#语言去编写iPhone上的应用。

  可以到Mono的主页上去查看更多的相关信息,除此之外还可以去下载Mono专门为Visual Studio开发的插件工具。

  NAnt

  无论是JAVA还是.NET的开发者对代码的编译部署过程都是十分熟悉的,这个过程随着工程项目变得越来越复杂,从而也会耗费不少时间。为了应对这一问题,开发者James Davidson编写了ANT这一自动构建工具,它在JAVA开发者社区阵营中开始应用得越来越普遍,不久,NET阵营中的NANT项目也随之诞生。使用NANT,你可以建立构建脚本,不论是执行单元测试还是创建文档等其他.NET的构建周期,都可以自动执行这些脚本。

  NHibernate

  尽管在软件开发中,关系数据库的应用是很普遍了,但开发者和数据库之间还是存在一些壁垒。问题关键在于如何高效地在应用和数据库之间以各自支持的格式转换数据。开发者尽了很大的努力创造了很多方便转换的工具,其中最著名的是象Hibernate这样的对象关系映射框架(ORM)

  .NET开发者在处理ORM方面有NHibernate这样的工具,自从2005年它出现后,广为受到开发者的欢迎。NHibernate能完成.NET开发者面对的大量枯燥的数据日常操作,不仅在映射应用的模型到数据表上很有作用,而且能根据预先定义好的数据模型去产生表的模型定义。

  NHibernate的网站上提供了大量的有用的资源,能帮助你去了解这个强大的ORM解决方案框架。

  小结

  如果你是.NET开发者而且还没开始进入庞大并且日益发展的开源阵营的话,那么你应该去看看了。花点时间去研究本文提到的几个开源项目,我保证你会马上看到生产效率的提高的,有可能这还会引领你去向开源社区贡献你自己的开源项目呢,如果你使用了本文没提到的开源项目工具,可以在评论中告诉我。
3
3
分享到:
评论
2 楼 sentryward 2010-09-18  
老实说,没用过几个。用过的都觉得不行。orm,还是喜欢subsonic
1 楼 kimmking 2010-09-07  
对NHibernate的上榜表示怀疑。

spring.net和castle,感觉都要比它靠前。

相关推荐

    asp.net mvc开源博客平台(Oxite源码)

    Oxite是微软发布的asp.net mvc开源博客平台,供asp.net mvc开发者学习研究! Oxite是一种具有可拓展性的、标准兼容的内容管理系统,旨在支持博客或更大型的网 站,能支持广播、引用通告、匿名或验证评论、个人全球...

    基于ASP.NET Core的最受欢迎的开源电子商务购物车解决方案-.NET开发

    nopCommerce nopCommerce是最好的开源电子商务购物车。 nopCommerce是免费提供的。 今天,它是最好,最受欢迎的ASP.NET电子商务软件。 它已被下载超过180万次! nopCommerce:免费和开源的电子商务解决方案...

    WebRTC零基础开发者教程(52im.net)_2020.pdf

    webtc零基础开发教程

    C# 大型OA 开源

    路德软件 兼承 “ 开放 分享 进步 ” 的原则,对 RoadFlow 工作流引擎开源,希望与广大工作流开发者共同进步! 平台基于 .Net 的 B/S 架构开发,需要 .Net Framework 4.0 以上版本和 IIS6.0 以上运行环境。数据库...

    直接拿来用!最火的Android开源项目(一)

    对于开发者而言,了解当下比较流行的开源项目很是必要。利用这些项目,有时能够让你达到事半功倍的效果。为此,CSDN特整理了GitHub上最受欢迎的Android及iOS开源项目,本文详细介绍了20个Android开源项目  GitHub在...

    .Net开源日志管理LogMaster4Net.zip

    (http://docs.supersocket.net/v1-6/zh-CN/Run-SuperSocket-in-Linux-Unix)缺点也不少: 虽然在架构上支持各种日志组件,但其开发者暂时只支持了log4net; 缺乏相应的日志辅助工具,如dashboard, archive; 如需更多...

    CMS系统,ASP.NET开源

    一个以ASP.NET(C#)+jQuery技术为中心,面向软件开发者、程序爱好者、网页设计师,服务于个人、企业的网站,同时也是一个专门结合AJAX技术开发友好界面、倍受欢迎用户体验的BS模式软件系统

    .NET开源,对开发者来说意味着什么?

    近日,微软公布了.NET开发环境开源计划,开发者可在Windows以外的其他平台上开发.NET应用程序,同时微软承诺将对这些平台提供.NET应用的运行环境及框架支持。  在那些热闹非凡的程序员圈子和论坛社区里,围绕着...

    Android开发者应该深入学习的10个开源应用项目.doc

    Android开发者应该深入学习的10个开源应用项目

    C#.net web开发者指南

    C#.net web开发者指南,C#初学者必备,入门精选

    ASP.NET Core开发者路线图RoadMap.png

    你可以在下面找到一张图,该图展示了你可以选取的路径及你想学习的库,从而成为一名 ASP.NET Core 开发者。“作为 ASP.NET Core 开发者,我接下来应该学习什么?”,我把这张图作为建议给每个问过我这一问题的人。

    C#.NET 开发者手册

    C#.NET 开发者手册

    ObjectARX2007开发者文档(.NET版本)

    ObjectARX2007开发者文档(.NET版本)

    《C#.NET开发者手册》PDF

    《C#.NET开发者手册》教材的PDF版,当初好不容易才从网上搜集到了,对于初学C#和.NET开发人员以及.NET的相关技术员都有一定帮助。

    2015年中国软件开发者白皮书

    2015年中国软件开发者白皮书

    ASP.NET MVC源码

    WebApi类型项目的最大优势就是,开发者再也不用担心客户端和服务器之间传输的数据的序列化和反序列化问题,因为WebApi是强类型的,可以自动进行序列化和反序列化,一会儿项目中会见到。 下面我们建立了一个WebApi...

    微信开发者工具-Linux版

    微信开发者工具-Linux版!!(在GITHUB是开源项目)

Global site tag (gtag.js) - Google Analytics