2009-07-26 147 views
0

我正在提供Web UI作为我们的C/S企业应用程序的当前桌面UI的替代方法。如何分离开发客户端Web UI和服务器端

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

当开发一个Web UI(客户端JavaScript在浏览器中),我们通过浏览器的“同源策略”的约束,因此必须UI交谈从中UI代码被下载同一个服务器。

据我看到它到现在为止,在UI家伙的发展情况是:

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

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

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

感谢:-)


编辑在一些澄清:

  • 我在UI编码,而不是UI设计方面最感兴趣。
  • 我需要很多服务器的交互 - 从RESTful Web服务,这是在parrallel开发获取数据 - 因此需要有一个上最新服务器

回答

0

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

+0

谢谢。这听起来像我想要的那种解决方案。 您能否详细说明一下? “代理”你的意思是像IIS/Tomcat的Web服务器? 这个代理可以支持所有的HTTP操作(比如传递授权头等) – ob1 2009-07-28 06:10:50

1

开发一个共享服务器上,但根据在团队的规模上..这是对版本控制的挑战。

或者与每晚构建部署自动生成的虚拟机,所以开发者不必安装,但总是使用最新版本。

在根据一个共同的REST服务器上的UI开发人员的情况下,UI开发可以在本地机器上完成,其余的服务应该是一个中央服务器上。当对REST服务进行更改时,应将这些服务部署到中央服务器(稳定时),这样所有开发人员都可以使用最新版本(这对testdata也有帮助)。

1

您还没有指定开发平台。

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

你想谈论/集成到服务器的那一刻(通过AJAX,JSP,ASP ...),那么你需要开发服务器连接为现在的更改必须由服务器提供服务。

大多数UI微调也可以从Firebug

完成在当需要造型的变化,我们的页面保存为一个本地副本,并将其发送到UI设计我们的办公室,他让他的变化,我们整合它们。所以UI设计者不必维护开发环境。

1

JSONP让您解决同源问题(带服务器支持) - 检查一下!如果浏览器前端开发人员使用jQuery或(我最喜欢的)Dojo作为良好的框架,那么JSONP对他们来说应该不会比普通的JSON困难。

0

嗯,我其实并没有真正了解您使用的是哪种技术。如果 - 用户界面开发人员 - 你的意思是设计师,他们必须关心CSS,布局等,然后我们这样做,就像lud0h说的那样。我们(开发人员)向UI设计人员发送服务器端生成的HTML页面的副本。然后,他们根据可访问性指南,CSS和布局编辑HTML页面,并将我们的工作结果发回给我们。我们使用他们的HTML页面然后将它们集成到我们的Web应用程序中。

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

  • 版本系统(CVS,SVN,...),开发人员经常犯(分钟/小时)
  • 当地环境,开发人员从库中检出源和开发
  • 测试,你每天都在部署服务器(每天可以像建立),以测试你的跑步产品

我想这应该是一个专业的开发环境应该由什么组成。与C/S应用程序开发的不同之处在于Web UI和Web客户端代码在服务器端与C/S环境中的客户端UI不可分开。除非您使用GWT或Silverlight等与C/S非常相似的技术开发,只是在浏览器内部运行,而不是通过RPC调用或Web服务进行通信。

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

0

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