1/1页1 跳转到查看:5776
发新话题 回复该主题

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

关于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.comwww.mobileweb.bewww.lunch.bewww.autosport.be。另外还有www.register.eu[url=http://www.telito.com]www.telito.com[/url],这两个网站依旧运行在针对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


同时在这次发布的Winson.Framework2.0里,我已将Promesh.NET框架也集成进来了
最后编辑winson 最后编辑于 2007-12-03 21:56:35

TOP

 

回复:关于Promesh.NET:一个.NET的MVC Web框架

关注中!!
这样的话做模板就不用像ASP那样老处理替换了.

TOP

 

回复:关于Promesh.NET:一个.NET的MVC Web框架

呵,其实现在我发现使用ANF(ASP.NET Forum)里的模板技术更加COOL,我现在在开发的博客系统就完全使用那套模板框架,在做到界面代码分离同时,又可以使用所有服务器控件,而且做出来的界面模板非常灵活

TOP

 

回复:关于Promesh.NET:一个.NET的MVC Web框架

哇,发现新大陆了.
我也要关注一下

TOP

 

回复: 关于Promesh.NET:一个.NET的MVC Web框架

原来ProMesh支持一个Controller管理多个Action的,使用ProMesh自身的RenderView()方法就可以实现了,这样就不必为每一个模板都写一个对应的cs文件了

using System;
using Activa.ProMesh;
namespace Demo.ProMesh
{
    [View("test")]
    public class test : BasePageController
    {
        public void Run()
        {
            ViewData["date"] = DateTime.Now.ToString();
            RenderView("test"); //根目录下面的test.htm,即templates目录下面的test.htm
        }
        public void MyAction1()
        {
            ViewData["date"] = DateTime.Now.ToString();
            RenderView("a/aaa"); //a目录下的aaa.htm
        }
        public void MyAction2()
        {
            ViewData["date"] = DateTime.Now.ToString();
            RenderView("a/bbb"); //a目录下的bbb.htm
        }
    }
}

TOP

 

回复:关于Promesh.NET:一个.NET的MVC Web框架

嗯,不错

TOP

 
1/1页1 跳转到
发表新主题 回复该主题