尽管过了相当长的时间,花费了不少资源,微软和.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解决方案框架。

转载于:https://www.cnblogs.com/liyongfisher/articles/1855437.html

[转]七大.NET开源框架相关推荐

  1. 2020,国产 AI 开源框架“剑指”TensorFlow、PyTorch

    「AI技术生态论」 人物访谈栏目是CSDN发起的百万人学AI倡议下的重要组成部分.通过对AI生态专家.创业者.行业KOL的访谈,反映其对于行业的思考.未来趋势的判断.技术的实践,以及成长的经历. 20 ...

  2. Farseer.net轻量级ORM开源框架 V1.x 入门篇:新版本说明

    导航 目   录:Farseer.net轻量级ORM开源框架 目录 上一篇:没有了 下一篇:Farseer.net轻量级ORM开源框架 V1.x 入门篇:数据库配置 前言 V1.x版本终于到来了.本次 ...

  3. tomcat中request对象是被创建的_常用开源框架中设计模式使用分析(全)

    一.前言 说起来设计模式,大家应该都耳熟能详,设计模式代表了软件设计的最佳实践,是经过不断总结提炼出来的代码设计经验的分类总结,这些模式或者可以简化代码,或者可以是代码逻辑开起来清晰,或者对功能扩展很 ...

  4. 分布式计算开源框架Hadoop入门实践

    在SIP项目设计的过程中,对于它庞大的日志在开始时就考虑使用任务分解的多线程处理模式来分析统计,在我从前写的文章<Tiger Concurrent Practice --日志分析并行分解设计与实 ...

  5. python后端学什么框架_献给正在学习python的你, 10个最受欢迎的Python开源框架

    很多小伙伴在学习wen的时候说,有没有几个常用的框架,好多小伙伴都只说对了其中几个,只有少部分是说正确的,想要了解更多,欢迎大家订阅微信公众号:Python从程序猿到程序员,或者加4913.08659 ...

  6. 发布开源框架到CocoaPods入坑指南

    个人原文博客地址: 发布开源框架到CocoaPods入坑指南 在开发过程中一定会用到一些第三方框架, 只要安装了CocoaPods, 然后通过pod install命令, 就可以集成框架到项目中了 可 ...

  7. Android_开源框架_Volley实例

    2019独角兽企业重金招聘Python工程师标准>>> 1.自定义相关类 在 Android_开源框架_Volley(Google IO 2013)源代码及内部实现过程分析一文中,简 ...

  8. 百度飞桨全新升级:重磅推出PaddleHelix平台、开源框架V2.0RC,硬件生态路线图全公开...

    12月20日,WAVE SUMMIT+2020深度学习开发者峰会在北京举办.本届峰会,百度飞桨带来八大全新发布与升级,有支持前沿技术探索和应用的生物计算平台PaddleHelix螺旋桨,开发更加便捷的 ...

  9. 2020,国产AI开源框架“亮剑”TensorFlow、PyTorch

    「AI技术生态论」 人物访谈栏目是CSDN发起的百万人学AI倡议下的重要组成部分.通过对AI生态专家.创业者.行业KOL的访谈,反映其对于行业的思考.未来趋势的判断.技术的实践,以及成长的经历. 20 ...

最新文章

  1. LeetCode Regular Expression Matching(.和*通配符匹配)
  2. Ubuntu中安装包时提示:you might want to run 'sudo dpkg --configure -a' to correct the problem
  3. Boost : to_string_stub用法的测试程序
  4. WebApi client 的面向切面编程
  5. 【渝粤题库】陕西师范大学180103市场营销学Ⅰ作业(高起专)
  6. 你需要掌握的事件分发高阶知识
  7. mvc5 @html,如何在MVC 5中使用 HTML5 Viewer
  8. 短视频技术指南:国内最牛5家短视频解决方案提供
  9. IDEA中导入一个新项目,出现了Cannot resolve symbol 'String'
  10. 微软 azure_Microsoft Azure,我们迁移数据的第一步
  11. 高级政工师具备的能力_环境污染治理能力评价资质标准【广东资质申报专家】...
  12. 解析kml文件,提取经纬度信息存入csv
  13. Luyten 启动报错 This Application requires a Java Runtime Environment 1.7.0-1.8.0问题
  14. 预训练模型MT-BERT的探索和应用
  15. html设置鼠标指针形状为食指,cursor 把鼠标指针的形状弄成一只伸出食指的手
  16. 数理经济学中的无穷小方法
  17. swiper的小bug slideTo方法不触发slideChangeTransitionStart(swiper)
  18. 聚合生态 云上未来 阿里巴巴游戏生态全链路赋能游戏产业
  19. MES系统和RRP之间需要交换哪些数据?
  20. 查询数据库表空间文件位置及扩充表空间,查询表空间容量

热门文章

  1. 2017河北单招计算机试题,2017河北单招英语试题练习题
  2. Sublime Text 安装插件的方法
  3. Matlab如何读取文本文件
  4. ENAS加载自己的数据集之路
  5. 更新了朋友圈微博动态,好友何时会点赞评论?
  6. Scala花括号和圆括号的区别
  7. 通过QQ或者QQ帮助别人学习Lync汇总
  8. iOS边练边学--CALayer,非根层隐式动画,钟表练习
  9. C# SQLite数据库 访问封装类
  10. windows 7装IIS