AJAX垮台,服务器和客户端脚本之间的界限?

时间:2010-08-04 08:19:38

标签: php javascript ajax

我已经开发了我的第一个基于Web的应用程序大约两个月了(我是一名大学生,他主要经历过C和Python,并且引入了一些Java)。到目前为止,我的页面工作为一个瘦的HTML布局(瘦的意思是一个非常简单的布局,也就是少于50行的HTML),它主要由AJAX操纵,主要使用jQuery。 AJAX是通过生成的。 PHP结合SQL操作。这个webapp将被最多6-10个客户端(编辑:用户)使用,跨浏览器兼容性只是一个奖励;似乎IE7是最薄弱的环节。

我想知道:

  1. 使用这样的客户端繁重方法与更多浏览器“加载”有什么缺点(请注意,我正在使用bbq来处理AJAX打破后退/前进/重新加载/书签/历史记录)。作为一名尝试开发良好实践的新程序员,我是否应该将自己的优势集中在AJAX的原则上?
  2. Web开发的未来是否真的像浏览器一样大量移动到平台上,我似乎认为它?根据我的经验,似乎JS中的脚本客户端构成了一个不错的GUI工具包,AJAX将其备份为易于使用的数据访问层。
  3. 显然,服务器端脚本总是会有它的位置。服务器端真正闪耀在哪里?例如: a)生成将通过注入的XML。 JS和DOM b)生成将直接注入的HTML(无DOM操作) c)创建可在iframe中使用的完整页面。
  4. 我正试图取得平衡,似乎我到目前为止所阅读的所有内容都缺乏平衡的视角,只是推动AJAX作为最终目标而全部。

1 个答案:

答案 0 :(得分:2)

哇,这是一个严肃的话题,很多答案都是可能的。

在业界,Ajax和客户端编程的使用是作为GUI或可用性工具的生产力和可维护性问题。 有时候(特别是在MVC服务器环境中)只能获得比所有内容更多的内容。但这几乎是观点的问题

我会尝试回答你的3个问题,只记得我在某种意义上就像你一样,我认为许多文章或书籍都缺乏平衡(显然,我也是):

  1. 对我而言,在客户端上使用繁重的javascript(例如在JS中构建所有GUI)与从服务器提供HTML页面的主要缺点是缺乏控制,你可以克服错误,很少的图形错误,环境差异等等你最终表现得像一个分发桌面应用程序的软件供应商,你无法真正控制客户端的可用性。 当然,使用浏览器激动框架(如jQuery)并在许多环境中运行渲染测试,这个缺点几乎可以完全挣扎。 您应该尝试这两种技术,使用Ajax并不总是最好的,它有时可以挽救您的生命(构建一个具有多个选择的动态树和仅有HTML的数百万个分支)。 我一般我应用这个规则:如果用户更改屏幕(即列表和表单之间)我重新加载整个页面,如果不是我使用Ajax。

  2. 我必须不同意,在网络开发中,客户端脚本仍会继续用于GUI的东西,除了离线网络解决方案(如Gears)之外,浏览器没有理由嵌入数据库或硬业务逻辑。 业务层对我们来说太重要了,依靠浏览器来处理它。数据存储位于同一位置(对我而言)必须保留在服务器上。 这种关注点的分离在我的日常工作中,我认为这些巨大的责任永远不会被委托给浏览器,存在太多的不安全感,不兼容性,错误问题。

  3. 服务器端在我下面提到的所有阶段都会闪耀,但对于数据传输格式,我更喜欢直接将HTML传输到浏览器或使用JSON来传递我需要传递的任何其他结构化数据。对于轻量级客户端来说,使用XML似乎有点冗长。如果你可以避免使用iframe,那么我没有理由在99.9%的情况下使用它们。

  4. 作为结论,你是学生,学习有趣的东西。如果你更喜欢在客户端提高你的知识,那么这里有很多需要学习的东西(HTML解析器,DOM和JS apis,浏览器内部对我来说真的很有用)。

    但是你必须知道我曾经为之工作过的企业,网络有两个含义:沟通和对业务应用程序GUI的支持。我目前在Web应用程序(Intranet)工作,我们是3个前端开发人员在做PHP和javascript,而有20个人在做服务器端Java。只是为了给你GUI在专业大型应用程序中的位置。