我目前正在与一家公司合作,该公司使用Java / Tomcat / Spring作为我们web应用程序的后端。作为前端开发人员,我越来越强烈地感到后端应该是一个独立于前端的项目,原因如下:
( 1)建设项目--许多现代项目都是用格朗特和其他前端工具建造的。前端构建目标(级联、缩小、前端测试、CSS预处理)与后端目标(编译java代码、通过后端测试、部署到连续集成服务器)完全不同。
2)部署:当我向git提交javascript或html文件时,我们的连续部署工具应该重新构建和重新部署整个项目是没有意义的,但它无法区分前端提交和后端提交之间的区别。
那么,您将如何重构以前从单个war文件中自动部署的项目,该文件位于单个git中,以生成一个单独的后端和前端?考虑到我们使用Spring框架,我真的可以这样做吗?
现在,我的文件位于/webapp/WEB-INF目录(用于html页面/速度模板)和/webapp/resources目录(用于其他所有内容(js、css、图像)中)。当tomcat也将大量文件部署到/target目录时,我对应该如何处理这个问题感到有点困惑。如果我为前端文件保留一个单独的git,如果我重新部署后端项目,它会被删除吗?
(最初我来自Apache背景,这里看起来很好,很简单.)
发布于 2013-12-30 13:06:13
在jClarity,我们肯定遵循了这种方法。我们有一个“纯的”HTML5前端-- AngularJS、HTML、CSS和大量Javascript微框架,这是后端的一个单独项目- vert.x,并酌情使用不同的JVM语言编写了各种眩晕代码。
诀窍是在这两者之间有一个定义良好的消息传递API,通过JUnit/TestNG风格的集成测试(后端)和Jasmine/Selenium测试(前端)进行测试。
它对我们非常有效,它很好地分离了关注点,唯一的依赖是前端和后端之间的消息传递API。我们使用了一些聪明的Maven魔术来检查两者之间的依赖关系是否正确,以及端到端测试是否正确。
尽管这一切都是预先付出的代价,但我还是惊讶地发现,使用这种结构化的方法,新功能的添加速度是如此之快。更好的是,我们的服务器端代码中没有讨厌的UI/View逻辑,而visa则相反。
因此,简而言之-我强烈推荐:-)。
https://softwareengineering.stackexchange.com/questions/222660
复制相似问题