我有一个Java / Spring MVC / JSP / JSTL webapp。我们有一个设计师为我们提供了一些页面,但他已经落后了,所以我们必须自己创建一些页面,显然随着项目的进展,其他UI的东西已经改变了。我认为他背后的一个原因是因为他很难与网站合作。
我们没有为他设置开发环境,因为那将包括一个数据库,Eclipse和Tomcat在他的盒子上,我担心我们会花费过多的时间来支持他的开发环境,他仍然没有做任何事情。另一方面,他基本上已经有了糟糕的经历,我花了很多时间进行他的更改(查看源代码,更改,发送电子邮件给我),并试图弄清楚改变了什么并将它们复制回JSP文件。
我想明天晚上我会咬紧牙关,看看我们是否可以为他安装一个环境,但必须有一个更好的方法......它是什么?
答案 0 :(得分:3)
如果设计师没有Java经验,我认为他不应该先制作可靠的页面。设计人员应负责页面布局和功能流程,后端开发人员将其用作指南(Web应用程序如何组合在一起以及每个页面如何工作的故事板)。这就是设计师需要负责视觉实现的要求。
开发人员应该生成包含所有必需数据的快速脏页。设计师的优势在于布局应该将这些页面制作成品。这样就有了良好的责任分工。设计人员有时需要与开发人员密切合作,以一种可行的格式获取数据,但是一旦已经到位,一对(设计人员/开发人员对编程)有时会变得相当经济。
如果这种类型的开发将成为常态,那么设计人员应该学习Web应用程序前端,因为设计人员需要了解网站网格等工具,并且能够熟练使用一些JSP标记库。
如果您要使用REST / ajax繁重的应用程序:那么您可以更加分离关注点,因为设计人员可以在开发人员提供服务时创建页面。这可以减少对完整开发环境的需求,但我不认为否定它。设计人员需要能够读取底层代码,以了解最有效地工作的JSP。
答案 1 :(得分:2)
我发现设计人员最好生活在HTML中,让JSP保留在JSP中,JSP开发人员会选择劳动选项卡,以使他们的页面与设计师保持同步。
这基本上意味着设计师负责用纯HTML创建完整,有效的页面。理想情况下,设计人员在JSP编码器上有一个坚实的先机。设计师已经解决了导航问题等等。
如果页面上有动态元素,那么设计人员需要为JSP编码器提供所有正确的再现。这可能需要多个“相同”页面的副本,但每个页面都有不同的动态视图。
设计师应该做笔记或使用其他约定在页面元素中识别他认为是动态的(可能不仅仅是INPUT标签的内容,还有其他东西,如快捷方式ID等)。
理想情况下,设计人员将识别并使用STICK WITH逻辑代码块(如导航区域,侧边栏和其他镶边)。这使得JSP人员可以使用包含或标记文件或其他任何内容更轻松地重构其页面。
然后,JSP人员会使用这些功能强大的静态HTML页面,并负责添加动态元素而不会破坏页面。如果他们遇到了破坏布局的问题(比如一个专栏那么大)并且需要解决,他们可以将生成的HTML发送给设计师,这样他们就可以纠正它而无需设置他们的拥有服务器或了解生命周期。
额外的好处是确保您拥有两个组都可以访问的共享测试服务器。该服务器应该托管HTML和JSP页面,它有助于确保您使用正确的名称在正确的位置拥有外部资源。
例如,如果编码人员进行了破坏页面的更改,他可以将生成的HTML文件上传到此服务器,它应该像JSP页面一样呈现。这允许每个人“到位”看到它。设计人员甚至可以修复生成的HTML文件,如果这是他们认为最简单的。原始编码器需要保留旧副本,以便他们可以执行差异,以便他们必须找到更改。假设设计师正确地传达了他们的变化,通常这些变化是相当明显的。
另一个方面是基本上确保你遵循非常好的HTML实践,特别是语义标记,大量CSS等。
这是因为现在,HTML页面的许多问题并没有像CSS中那样在标记上。 JSP人员通常不需要使用CSS文件。这允许设计人员进行适当的更改,以便更容易地进行修复。它还使标记保持整洁和稀疏,同样这使得JSP人员可以更轻松地捕获文档中的更改。
如果您的Ajax很重,那么设计人员应该使用“本地”数据源,这些数据源可以与“远程”数据源轻松交换。这使页面代码保持不变,并且要求JSP编码器简单地交换数据源实现以命中其服务器而不是静态数据。
设计师离他们的初始页面越远越好。游戏给设计师带来了负担,即使只使用静态文本也可以创建功能齐全的“功能完整”页面。这让设计人员可以驱动项目,而JSP人员只是自动化它。尝试确保主要的设计摆动只能由设计人员和项目所有者在页面开始点击JSP编码器之前完成,只是为了让更改变得枯燥乏味,让JSP人员在设计师后面走,自动化和在他们去的时候填补空白。