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

时间:2009-07-26 05:48:21

标签: process

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

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

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

据我所知,UI人员的开发方案是:

  1. 开发人员在本地安装服务器 机器并运行它。
  2. 开发人员在本地安装时编辑HTML + JS + CSS文件。
  3. 每次需要针对新服务器行为测试UI代码时,开发人员必须在本地计算机上重新安装/更新服务器。
  4. 这似乎不太舒服,至少与之前的C / S风格开发相比。

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

    谢谢: - )


    编辑一些说明:

    • 我最感兴趣的是UI编码方面,而不是UI设计。
    • 我需要大量的服务器交互 - 从RESTful Web服务获取数据,这些服务是并行开发的 - 因此需要拥有最新的服务器

6 个答案:

答案 0 :(得分:1)

在共享服务器上开发,但取决于团队的规模......这是对版本控制的挑战。

或者使用每晚构建部署自动生成的虚拟机,因此开发人员不必安装,但始终使用最新版本。

对于UI开发人员依赖于公共REST服务器的情况,UI开发可以在本地计算机上完成,REST服务应该在中央服务器上。当对REST服务进行更改时,这些应该部署到中央服务器(稳定时),因此所有开发人员都可以使用最新版本(这也有助于testdata)。

答案 1 :(得分:1)

您尚未指定开发平台。

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

您希望与服务器通话/集成(通过AJAX,JSP,ASP ...),然后您需要连接开发服务器,因为现在您的更改必须由服务器提供。

大多数UI微调也可以从Firebug

完成

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

答案 2 :(得分:1)

JSONP让你解决同源问题(服务器支持) - 检查出来!如果前端浏览器开发人员使用一个好的框架成为jQuery或(我最喜欢的)Dojo,JSONP对他们来说应该不比简单的JSON更难。

答案 3 :(得分:0)

嗯,我实际上并没有真正了解你正在使用什么样的技术。如果 - 使用UI开发人员 - 你的意思是设计师,必须要关心CSS,布局等,那么我们就像lud0h所说的那样做。我们(开发人员)向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等所在的服务器文件系统!

答案 4 :(得分:0)

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

答案 5 :(得分:0)

您可以使用CORS。一种像Ajax一样的新技术,但能够在其他域上进行调用。所以你在一台服务器上只需要一个UI。认为这可以帮到你。