• 跟赵姐夫扯 webform的设计


    原文网址: 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分钟前)

  • 相关阅读:
    convert image to base64 and post to RESTful wcf
    在android webview实现截屏的手动tounchmove裁剪图片
    How to use jquery ajax and android request security RESTful WCF
    using swfUpload in asp.net mvc
    using HttpClient and sending json data to RESTful server in adroind
    ODP.NET数据访问
    android image watermark
    解决国内不能访问github的问题
    idapro权威指南第二版阅读笔记第九章 交叉引用和绘图功能
    idapro权威指南第二版阅读笔记第二章 逆向和反汇编工具
  • 原文地址:https://www.cnblogs.com/wuvist/p/webform_leaking.html
Copyright © 2020-2023  润新知