.net 开源项目
.NET开发人员值得关注的七个开源项目
【IT168技术分析】微软近几年在.NET社区开源项目方面投入了相当多的时间和资源,不禁让原本对峙的开源社区阵营大吃一惊,从微软.NET社区中的反应来看,微软.NET开发阵营对开源工具的依赖正日益增强,本文就为所有.NET开发人员介绍7个应该关注的开源项目,也许其中正有你需要的。
Ajax控件工具包
在Ajax术语诞生的短短五年内,这个混合了JavaScript、XML和异步通信的技术增强了用户的在线体验,带动了Web技术的积极发展,现在随便浏览一个网站可能都应用了Ajax技术,随着诸如日历,客户端表单验证等功能一应俱全的Ajax框架的出现,使Web开发朝快速,简单的方向迈进了一大步。
ASP.NET Ajax控件工具包(AJAX Control Toolkit)为.NET开发人员提供了丰富的解决方案,值得一提的是这个工具包是由微软和开发者社区共同开发的,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
现在软件变得越来越复杂,迫使开发者社区重新思考软件开发过程,改进现在的开发方法,以减少开发时间,提高软件质量,因此产生了许多最佳实践,如著名的测试驱动开发和持续集成等最佳实践已经在企业环境中得到了普遍采用,持续集成通过定期严格整合项目的各个组成部分,减少了复杂项目的集成时间,开发人员可以及早检查和解决集成时发现的问题,而不是等到最后完全集成时才集中解决问题。
具体说来,持续集成涉及到开发过程许多部分的自动化,包括定期运行测试,开发人员每次向项目仓库提交代码时的自动构建等,因为这种水平的自动化涉及到多个机动部分,近几年许多解决方案开始流行自己定制持续集成过程,包括开源项目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开源项目,不妨与大家分享一下吧!
.net 开源项目的更多相关文章
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- iOS开源项目周报0105
由OpenDigg 出品的iOS开源项目周报第四期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开发方面的开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等. He ...
- .NET平台开源项目速览(18)C#平台JSON实体类生成器JSON C# Class Generator
去年,我在一篇文章用原始方法解析复杂字符串,json一定要用JsonMapper么?中介绍了简单的JSON解析的问题,那种方法在当时的环境是非常方便的,因为不需要生成实体类,结构很容易解析.但随着业务 ...
- .NET平台开源项目速览(17)FluentConsole让你的控制台酷起来
从该系列的第一篇文章 .NET平台开源项目速览(1)SharpConfig配置文件读写组件 开始,不知不觉已经到第17篇了.每一次我们都是介绍一个小巧甚至微不足道的.NET平台的开源软件,或者学习,或 ...
- .NET平台开源项目速览(16)C#写PDF文件类库PDF File Writer介绍
1年前,我在文章:这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)中(第9个项目),给大家推荐了一个开源免费的PDF读写组件 PDFSharp,PDFSharp我2年前就看过 ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- .NET平台开源项目速览(14)最快的对象映射组件Tiny Mapper
好久没有写文章,工作甚忙,但每日还是关注.NET领域的开源项目.五一休息,放松了一下之后,今天就给大家介绍一个轻量级的对象映射工具Tiny Mapper:号称是.NET平台最快的对象映射组件.那就一起 ...
- .NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍
Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器 ...
随机推荐
- SQL中存储过程的例子
导读:sql存储是数据库操作过程中比较重要的一个环节,对于一些初学者来说也是比较抽象难理解的,本文我将通过几个实例来解析数据库中的sql存储过程,这样就将抽象的事物形象化,比较容易理解. 例1: cr ...
- ASP.NET MVC 第六回 过滤器Filter
在Asp.netMvc中当你有以下及类似以下需求时你可以使用Filter功能 判断登录与否或用户权限 决策输出缓存 防盗链 防蜘蛛 本地化与国际化设置 实现动态Action Filter是一种声明式编 ...
- CI框架篇之预热篇(1)
CodeIgniter 的基本都了解了,现在就开始预热,如果学习一门语言一样,我们最开始都是输出一个'HELLO WORLD'一样, 现在我们也通过输出这样一个内容,来了解基本的使用. CodeIgn ...
- yieId浅谈
例子:在不使用yieId时,通常我们都会采取先遍历再把元素加到新的List中 using (var reader = SqlHelper.ExecuteReader("")) { ...
- iOS 跳转到应用所在的App Store市场
代码入下 #import "ViewController.h" @interface ViewController ()<UIWebViewDelegate> @end ...
- Node之express
Express 是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用. 如何安装: npm install -g express ...
- IE6 兼容问题总结
1 IE6,IE7下设置body{overflow:hidden;}失效Bug
- hibernate中一对多 多对多 inverse cascade
----------------------------一对多------------------------------------------- inverse属性:是在维护关联关系的时候起作用的 ...
- ARM开发板系统移植-----kernel的编译
前面一篇文章http://www.cnblogs.com/linzizhang/p/4817336.html介绍了开发板上系统软件的第一部分--bootloader的编译方法. 背景:把bootloa ...
- Dice (III) 概率dp
#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> ...