Klesh.Cn

concentrating on knowing more...

MonoRail和WebForm,谁是瑞士军刀

  从学习成本上来看,无疑WebForm的初期学习成本是相当的低。对于完全的新手,控件拖放然后编写后台代码应该是相当容易理解和接受的方式;对于从WinForm上转过来的开发人员,这种开发方式则早已成为他们的习惯;即使是对我这种由Classicl ASP/PHP那种coding/html混编转过来的人来讲,WebForm也一度让我觉得很完美(coding/html各自放在不同的地方,让人有种说不出来的舒服)。学习WebForm甚至不需要去了解什么是HTTP,什么是HTML,什么是Javascript……

  但若要使用MonoRail,事情就麻烦了,初级阶段需要了解的东西会比WebForm多出很多来,比如说,首先得习惯用传统的HTTP视角去看待客户端和服务器之间的交互,像是在做Classical ASP/PHP做开发一样,每一次的交互都是独立的。你要了解什么是HTML,什么是FORM,什么是INPUT,为了实现一些比较特别的功能,还需要Javascript,然后还要另外还要学习模板语法……

  不难得出的结义是,WebForm比MonoRail容易上手。特别是对没做过web开发的人来讲,它隐藏了web的许多底层的东西,展现出来是一个近似WinForm的快速开发方式。行文至此,可以说,WebForm比MonoRail更像是一把瑞士军刀,难道WebForm的功能不是比MonoRail更加强大吗?你要什么控件就给你什么,不需要另外去弄,都集成好了,不是吗?反过来看MonoRail,原本在WebForm上简单一拖就有的控件,却需要另外花力气去实现。

  瑞士军刀是好东西,功能强大,携带方便,当然也没有什么学习成本,但是,这些优点不是MonoRail所具备的。

  随着一步一步将WebForm应用到开发中去,我意识到,WebForm也只是易上手而已,当要对控件进行定制时,就不得不深入去了解控件的模型,事件,方法等,有时候已有的控件也未必能满足定制的需求,又不得不依赖于第三方控件,找不到第三方控件时,则得自己进行控件开发,当涉入到控件开发领域时(主要指自定义控件),我才了解到什么叫做高昂的学习成本。前前后后我曾经花了三个月在这上面,大概也是能做到一般复杂的控件开发而已。更加不幸的是这么一来,本来由设计师做的界面修改工作变成了要我来做。唉,罪过啊罪过,这简直是在浪费生命。

  我想,既然大家选择了做Web开发,那怎么可能不去了解什么是HTTP?什么是HTML?什么是Javascript?WebForm能帮你挡得了一时,可 能帮你挡一世?要知道,即使你将来换了开发平台,掌握这些基础知识即使不是不可或缺的,至少也是大有裨益的。

  然而,对于一个基础扎实的Web开发人员来讲,MonoRail还剩多少东西可学?看完MonoRail的 Getting Statrted Sample 就可以开工了,把它的Documentation全部看完也花不了多少时间。但若是要把WebForm玩转,进入控件开发领域的时候,不但要了解HTTP/HTML/Javascript/...等等这些底层的东西,还得额外去了解WebForm的生命周期,控件继承树,各种各样的接口……

  MonoRail不是瑞士军刀,它不帮你输出html,不帮你管理页面状态,主要还是帮助你把视图、控制器分开来而已,其他的都是辅助性可有可无的东西。

posted on 2007-10-22 16:27  Klesh Wong  阅读(3667)  评论(17编辑  收藏  举报

导航