InfoQ

新闻

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

作者 Robert Bazinet 译者 朱永光 发布于 2007年8月23日 下午7时54分

社区
.NET
主题
Web框架
标签
MVC

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.comwww.mobileweb.bewww.lunch.bewww.autosport.be。另外还有www.register.euwww.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
太棒了 发表人 he wei 发表于 2007年8月26日 上午5时42分
  1. 返回顶部

    太棒了

    2007年8月26日 上午5时42分 发表人 he wei

    刚试用了一下 太棒了 great

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。