2011-06-07 64 views

回答

0
  1. HTTP的性质使得服务器不会坐在那里等待客户端的响应。它不能。 (ASP.net的行为就像它可以,但是这是框架提供的错觉/抽象,证据:If IsPostBack。)每个HTTP请求都是相互独立的,所以您必须在每个请求中包含足够的信息来提醒服务器它是什么这样做。会话cookie在这里有所帮助,但重要的一点是,一旦你需要输入,一切都会停止 - 下一个请求会再次开始。

  2. 大多数你在胖客户端上做的所有事情现在都将在Web服务器上完成。也就是说,一台服务器(或者两台,如果你数据库服务器也是这样)正在做大部分/全部的繁重工作。在胖客户端上工作的这种令人尴尬的缓慢解决方案现在正在使用所有用户之间共享的CPU周期。把性能和可扩展性作为次要目标(让东西去工作)。

  3. 该应用程序的用户界面不再直接在您的控制之下(除非您想成为一个笨蛋并要求IE6,在这种情况下,您将不会长时间开发Web应用程序)。你需要在许多不同的浏览器上进行测试(如果可能的话,至少要有FF和Chrome的最新版本,以及IE 7-9版本的Safari/Mac版本,如果你打算支持手机浏览器的话,也会更多)。每个人都有它的怪癖。你会想坚持工作的东西的最低公分母,并且只能使用浏览器怪癖来进行额外的比较。并且不要在每个浏览器中尝试像素完美的相同性。这种方式就是疯狂,特别是如果你必须支持旧版本的IE,手机等。相反,尝试一个足够灵活的布局,小的渲染差异不是什么大不了的事。

  4. 几乎根据定义,您将有时在两种不同的环境(浏览器和服务器)下同时使用3种不同的语言(HTML,Javascript和您的服务器端语言)。您需要始终注意代码的运行时间和位置,以及它在那里时会遇到的限制。服务器代码和客户端代码之间有一段距离,并且默认情况下它们不共享变量。如果你需要他们,你需要提供一种方法来做到这一点。