原文网址: http://weibo.com/1560442584/eBP3YXO0OOi#a_comment

Wuvist:以面向对象的方式去做桌面APP,完全没有问题;但web环境下,BS是分离的,HTTP是无状态的短链接,必须要有ViewState这样的玩意去伪装;而它们必然造成性能低下;再加上Law of Leaky Abstractions,这些使得webform造成很多不必要的问题。到头来还不如直接去手写HTML。(今天 15:09)

赵姐夫:谁说有ViewState必然造成性能低下的啊,乱用当然性能低下了。(今天 15:14)

Wuvist:开ViewState,页面至少多几个字符,对性能就是有影响;而对于高流量网站,这种少几个字符的优化也是很现实的考量;但这点不重要,咱无需纠结字眼;关键在于webform的抽象非常"leaky"。(今天 15:24)

Wuvist:http://t.cn/htDPPb 一年十万;举个简单例子,无法快速响应用户的鼠标操作,比方说,滚动/快速点击;这些必须在客户端直接写javascript才可以实现快速的体验;点个button,背景换个颜色,用服务器端callback函数去做,会慢死;这就是leak。(今天 15:34)

赵姐夫:taobao这样流量的网站,去年QCon分享时说了,这方面优化好以后,大概一年省了几百块,嗯嗯。至于非常leaky,期待详谈。(今天 15:26)

Wuvist:OO的设计模型不是问题;问题在于非常leaky的OO抽象。回过去头去看ExtJ的OO抽象,它是纯客户端的,不需要跨越BS的鸿沟,效果就好很多。带宽有限,用webform的抽象带来的性能问题太杯具,因而产生了无数“正确使用webform”的知识经验。何苦呢?(59分钟前)

赵姐夫:我也用WebForm写过n多程序了,从不觉得有什么性能问题是WebForm引起的。事实上叫的最响的人是要么不用要么不懂的人。至于Best Practice,好像MVC啊,PHP,Rails都没有一样……(51分钟前)

赵姐夫:两个是一回事情么?再看看清楚文章吧。我看出来了,你说WebForm不好,是因为它没有解决所有问题,但它从来没说自己解决了所有问题。本来用WebForm就没说就不能或是不该用JS了,用JS配合WebForm怎么就变成恶心的事情了。(48分钟前)

Wuvist:文章我想我看得很清楚,这方面我想我们理解是一致的,就不扯了;js配合webform确实很恶心,能用好js,对HTML低层有了解;webform能解决的问题,不用它也可以解决得很好;为什么要用它呢?为什么要投入时间去学专门解决webform问题的best practice呢?(37分钟前)

赵姐夫:我没学过专门为了解决webform问题的best practice,我只是了解HTML,JS,然后用WebForm加快我的开发效率而已。(28分钟前)

Wuvist:这是您的个案,而且是否enable viewstat,这算是webform特有的问题么?大多数人走的是webform => html/js的弯路,webform诞生之初的目的,就在于把html/js抽象掉,让desktop developer以desktop的方式去搞web,造就无数杯具,这点,我又是否说错呢?(22分钟前)

赵姐夫:错了,我从没觉得WebForms是为了摆脱HTML,JS。不知道谁把这要求加到WebForm身上的,然后从一个理想主义者掉到一个虚无主义者而已。至于enable viewstate,哪个类库框架没个这种配置的?(18分钟前)

Wuvist: http://t.cn/aKAHN1 A rich set of server-side controls that can detect the browser and send out appropriate markup language such as HTML(14分钟前)

赵姐夫:所以你的理解是,WebForm的目的是完全摆脱HTML和JS?好吧,你和我的理解的确是完全不同的。(12分钟前)

Wuvist:那您是怎么理解微软在01年说的这六点“The Purpose of Web Forms”呢?(6分钟前)

赵姐夫:提出一种提高开发效率的模型啊。(4分钟前)

Wuvist:我觉得我们刚刚这串讨论蛮有意思的,我整理发成blog可好?(5分钟前)

赵姐夫:我没有意见,呵呵。(4分钟前)