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

如何将客户端Web UI和服务器端的开发分开

  •  0
  • ob1  · 技术社区  · 15 年前

    我正在为我们的C/S企业应用程序提供Web UI作为当前桌面UI的替代方案。

    在桌面版本中开发客户端时,UI开发人员可以连接到任何服务器,因此他们只需要客户端环境。

    在开发Web UI(浏览器中的客户端JavaScript)时,我们受浏览器的“相同源站策略”的约束,因此UI必须与从中下载UI代码的同一服务器进行通信。

    据我目前所见,UI开发人员的开发场景是:

    1. 开发人员在本地安装服务器 机器并运行它。
    2. 开发人员在本地安装时编辑html+js+css文件。
    3. 每当需要针对新的服务器行为测试UI代码时,开发人员必须在本地计算机上重新安装/更新服务器。

    这看起来不太舒服,至少与我们以前的C/S风格开发相比。

    是否有其他方法可以建议不需要UI开发人员在其开发计算机上安装和更新服务器端组件? 或者其他可以简化开发过程的相关内容?

    谢谢:


    在一些澄清中编辑:

    • 我最感兴趣的是UI编码方面,而不是UI设计方面。
    • 我需要大量的服务器交互——从在Parralell中开发的RESTful Web服务获取数据——因此需要一个最新的服务器
    6 回复  |  直到 14 年前
        1
  •  0
  •   Joeri Sebrechts    15 年前

    您可以尝试在开发人员的计算机上使用代理,其中一些路径重定向到服务器,一些路径重定向到本地文件夹。

        2
  •  1
  •   lud0h    15 年前

    您尚未指定开发平台。

    就纯HTML/JS/CSS而言,您不需要服务器。UI开发人员可以在本地微调UI组件。

    当您想与服务器(通过Ajax、JSP、ASP…)交谈/集成时,您需要连接开发服务器,因为现在您的更改必须由服务器提供服务。

    大多数用户界面微调也可以从 Firebug

    在我们的办公室中,当需要对样式进行更改时,我们将页面保存为本地副本并将其发送给UI设计器,他进行了更改,我们将其集成。因此,UI设计器不必维护开发环境。

        3
  •  1
  •   Alex Martelli    15 年前

    JSONP 允许您解决同一个源站问题(使用服务器支持)——检查一下!如果浏览器开发人员的前端使用一个好的框架suc作为jquery或(我最喜欢的)dojo,那么对于他们来说jsonp不应该比普通的json更困难。

        4
  •  1
  •   Paul van Brenk    15 年前

    在共享服务器上开发,但取决于团队的规模。在版本控制方面,这是令人头疼的。

    或者使用夜间构建部署自动生成的虚拟机,这样开发人员就不必安装,而是始终使用最新版本。

    对于依赖公共REST服务器的UI开发人员,可以在本地计算机上进行UI开发,而REST服务应该在中央服务器上。当对REST服务进行更改时,应该将它们部署到中央服务器(稳定时),这样所有开发人员都可以使用最新版本(这也有助于测试数据)。

        5
  •  0
  •   Juri    15 年前

    嗯,事实上我没有得到任何关于你使用哪种技术的信息。如果-与用户界面开发人员-你的意思是设计师,他们必须关心的CSS,布局等,然后我们做同样的事情,如ludonh说。我们(开发人员)向UI设计人员发送服务器端生成的HTML页面的副本。然后,他们根据辅助功能指南、CSS和布局编辑HTML页面,并将工作结果发送给我们。然后我们使用它们的HTML页面将它们集成到我们的Web应用程序中。

    如果您不只是想调优CSS,还想编写JavaScript/Ajax功能,那么您必须使用与之通信的服务器。正如您所说,通常情况下,这是通过具有与服务器环境类似的本地环境来完成的。在.NET Visual Studio'08中,提供了一个内部Web服务器,或者您必须在本地安装IIS。在Java环境中,您必须安装Tomcat和相关技术。在我看来这是必须的。你必须拥有的是

    • 版本控制系统 (cvs,svn,…)开发人员定期提交(分钟/小时)
    • 本地环境 开发人员从存储库签出源代码并开发
    • 测试服务器 为了测试正在运行的产品,您每天部署(可能像每天构建一样)

    我想这应该是专业开发环境应该包含的内容。与C/S应用程序开发不同的是,Web UI和Web客户机代码不能与C/S环境中的客户机UI和服务器端分开。除非您使用类似于C/S的GWT或Silverlight等技术进行开发,否则只在浏览器内部运行,但通过RPC调用或Web服务进行通信。

    //编辑: 我差点忘了什么。不要直接在服务器上进行开发,这意味着所有开发人员都可以访问服务器的文件系统,其中包含代码、UI等!!

        6
  •  0
  •   Morteza Milani    14 年前

    你可以穿紧身衣。一种与Ajax类似的新技术,但具有在其他域上进行调用的能力。所以一台服务器上只需要一个UI。你觉得这对你有帮助。