当前位置:首页 » 网站技术 » C#

Promesh.NET:一个.NET的MVC Web框架

...

Philippe Leybaert最近发布了一个名为ProMesh.NET的Model-View-Controller (MVC)框架,用于创建.NET 2.0 Web 应用程序。这个框架在开源许可下发布在Codeplex上。MVC框架随着Ruby on Rails以及Castle Project 和 MonoRails的流行,最近获得了大家的欢迎。

ProMesh.NET中包含了如下特性

  • 基于控制器易于实现MVC模式
  • 灵活的基于模板的绘制引擎(使用纯html文件)
  • 提供非常强大的集成测试框架以在你的网页上运行单元测试
  • 很容易地把参数和其他客户数据映射到键入的方法参数和类成员上
  • 灵活和易于使用的表单生成功能和Postback处理
  • 集成的日志和配置管理
  • 和CoolStorage.NET ORM函数库可选的集成
  • 针对性能特别优化

Philippe也慷慨地发布了一个使用这个框架非常好的练习

InfoQ有机会采访了Philippe关于ProMesh.NET项目的一些事情

ProMesh.NET是一个针对.NET 2.0的MVC Web应用开发框架。它是控制器驱动的,意思是框架通过调用控制器对象从而绘制视图。视图引擎是内置的,并使用标准的嵌入着“视图逻辑”的HTML文件。它没有以任何方式使用ASP.NET的页面模型,但以由.NET Framework提供的HTTP Handler和HTTP Module来驱动。

ProMesh.NET已经开发了多久?

项目实际上开始于一个非常简单的内部使用的ASP 框架,其可以回溯到1999年。在2002年,它被移植到.NET下,但是存在一些功能的限制。经过几年的发展,它已经成为一个专门运行于.NET 2.0之上的完整MVC框架了。在内部项目使用几年后,我感觉已经到了把它公开的时候了。我是一个坚定的开源软件信仰者,所以我决定把它作为开源软件来发布。

创建ProMesh.NET的目的是什么?

这实在没有一个“决定”之类的东西。它就这样很自然的开发出来了。我严格地采用了“分离关注”这个原则,这就是为什么我为ASP写了一个小巧的MVC框架,然后逐步发展为ProMesh.NET。当ASP.NET第一次出现的时候,我仔细地研究过,但我发现那不是我想要的,所以我继续开发ProMesh.NET。

现在谁在使用ProMesh.NET?

Phillip说到:ProMesh.NET只在上个星期以开源的方式发布,所以我只知道一些我个人参与的项目在使用。这些项目包括了一些高流量的站点,比如:www.cartoonbase.com、www.mobileweb.be、 www.lunch.be、www.autosport.be。另外还有www.register.eu和www.telito.com,这两个网站依旧运行在针对ASP的“老”的MVC框架下。

使用ProMesh.NET有什么好处?

ProMesh.NET提供给开发人员一个以MVC框架为中心的Web应用程序开发框架。它提供了非常简洁的方式来创建Web应用程序,而不会被ASP.NET Web Form的事件模式带来的问题给搅混。把视图和控制器逻辑完整的分离有利于标准HTML模板的使用,这让框架非常容易的使用,甚至于对于那些不熟悉MVC模式的人来说也是如此。
虽然开发人员不能使用ASP.NET控件,但框架支持创建复杂的自定义控件,所以我推测第三方开发人员也许不久将开始开发针对ProMesh.NET的控件。

Philippe他未来的开发计划是什么?

我计划倾听一下开发人员使用这个框架的心得,人们需要增加什么特性,但我不想把它发展成一个“瑞士军刀”。目前在我心中的未来开发计划有:动态加载插件和控件、集成的Ajax框架(类似AjaxPro)和内置的Wiki引擎。

因为ProMesh.NET现在是开源的,我鼓励开发人员参与到这个产品的开发工作中来。它已经托管在CodePlex上,所以这让开发人员更容易参与进来。

最后但并非最不重要:文档需要被完善,所以未来这点将一直具有很高的优先级。一个Wiki站点不久将被创建,以鼓励其他人参与到书写文档的工作中来。

随着Ruby on Rails的成功和流行,在Web上实现MVC框架越来越受到重视。ASP.NET社区(在开发Web应用程序的技术上)很少有其他方法的选择,直到最近类似ProMesh.NET这样的Web开发框架的出现。这个框架也给开发人员创建自定义控件的能力,以便生成丰富的Web前端界面。

查看英文原文:Promesh.NET - an MVC Web Framework for .NET

继续阅读
不使用VS进行ASP.NET2.0 Membership配置管理
ASP.NET2.0数据库绑定
ASP.NET2.0功能之重构(Refactoring)
ASP.NET2.0的URL映射的实现方法
ASP.NET2.0中文验证码的实现代码
ASP.NET AJAX 错误:'Sys' 未定义解决方法
ASP.NET2.0服务器控件开发之实现事件
ASP.NET 2.0服务器控件之处理回传数据
ASP.NET 2.0的URL映射实现方法
发表评论

昵称:
最新评论
暂时没有评论!