代码之家  ›  专栏  ›  技术社区  ›  hvgotcodes

客户机/服务器总是分开的!或者是它们?

  •  0
  • hvgotcodes  · 技术社区  · 14 年前

    令人惊讶的是,在更广泛的程序员社区中,有多少程序员会问这样的问题:“我该如何处理ExtJS后端?”或者“我如何将jQuery与Java集成?”不理解客户机和服务器之间的区别。然后我开始思考,是否存在服务器实际发送JS或其他东西到要执行的客户机的框架?这些方法的哲学思想是什么?

    编辑——澄清:

    我不是在问这是否可行,我是在问这是否是一个好的策略,还是在皱眉。我不会问客户端语言是否可以在服务器上运行。我在问是否有围绕动态服务动态客户端代码构建的框架。

    4 回复  |  直到 14 年前
        1
  •  1
  •   mezmo    14 年前

    许多不同的框架都会这样做,当您进行ASP.NET工作时,您会经常看到客户机中的回发调用,这是由框架生成的,并且是一个JavaScript调用。在Java世界中,大多数JSF框架或多或少都对此进行了框架。只要你记住“永远不要相信客户”的规则,我就不会觉得这有什么坏处。因此,如果您要在客户机上用JavaScript进行字段验证,这不会解除您在服务器端进行相同检查的义务。不久前我做了一个大型的flex应用程序,作为其中的一部分,我开始创建一个模块,该模块将读取Hibernate验证注释并自动在actionscript上创建相同的验证,最后期限在我走得太远之前就消除了这一点,但我确实喜欢在后端设置一次验证的想法。并让他们在客户机上进行检查,从而节省到服务器的往返时间。

        2
  •  0
  •   Ignacio Vazquez-Abrams    14 年前

    向客户机发送JavaScript是很简单的。只需将脚本标记中的URL指向动态脚本,而不是静态.js文件。

    至于在服务器端运行javascript,尽管node.js与浏览器没有相同的交互级别,但它们允许您这样做。

        3
  •  0
  •   funwhilelost    14 年前

    物理屏障肯定在那里。html/javascript/actionscript将在客户机空间中运行,并且(本质上)将对后端进行远程过程调用。由于这种差异,您将无法消除客户机/服务器体系结构。

    这就是说,Pierreten指出,微软的ASP.NET API大量使用自动生成的JavaScript与服务器端组件进行接口。也就是说,您向项目中添加了一个表单控件,并为您生成了服务器端代码和客户端代码。