惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
Simon Willison's Weblog
Simon Willison's Weblog
H
Help Net Security
F
Fortinet All Blogs
H
Heimdal Security Blog
S
Schneier on Security
L
LangChain Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
NISL@THU
NISL@THU
P
Palo Alto Networks Blog
J
Java Code Geeks
博客园 - 【当耐特】
The Last Watchdog
The Last Watchdog
W
WeLiveSecurity
www.infosecurity-magazine.com
www.infosecurity-magazine.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Vulnerabilities – Threatpost
I
InfoQ
Recorded Future
Recorded Future
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CERT Recently Published Vulnerability Notes
T
Tenable Blog
腾讯CDC
C
Check Point Blog
量子位
M
MIT News - Artificial intelligence
GbyAI
GbyAI
罗磊的独立博客
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
B
Blog
小众软件
小众软件
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CXSECURITY Database RSS Feed - CXSecurity.com
Stack Overflow Blog
Stack Overflow Blog
P
Proofpoint News Feed
P
Privacy & Cybersecurity Law Blog
V2EX - 技术
V2EX - 技术
T
Threatpost
Engineering at Meta
Engineering at Meta
Attack and Defense Labs
Attack and Defense Labs
T
Tailwind CSS Blog
S
Securelist
The Cloudflare Blog
博客园 - 叶小钗
L
LINUX DO - 最新话题
T
Troy Hunt's Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
爱范儿
爱范儿

博客园 - 问天

开发笔记1: 范型 C#范型不会用,求助~ Web安全,以新浪微博“郭美美”蠕虫为例 介绍两个Python web框架:Django & Tornado 扯一下抽象 MoSonic:对SubSonic的分布式存储、缓存改进尝试(4) MoSonic:对SubSonic的分布式存储、缓存改进尝试(3) MoSonic:对SubSonic的分布式存储、缓存改进尝试(2) MoSonic:对SubSonic的分布式存储、缓存改进方案尝试(1) Discuz!NT在64位Windows下运行的问题 说说分页 iPhone Web App开发杂感 Katze - 简单的.net "ORM"框架 基于Gettext的asp.net网站多语言解决方案 Django on IronPython and Windows 动态修改.Net StreamReader Encoding编码 恐怖的迅雷 TinyMCE 的音乐插件/mp3 music insert plugin 微软是如何输掉API之战(下)
跟赵姐夫扯 webform的设计
问天 · 2011-06-09 · via 博客园 - 问天

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