我距离下一个项目还有几周的时间,而且我正在寻找/希望简化我们的开发过程,以使UX&Devs的人员能够以最短的时间进行更改验证(例如Java更改需要10秒,UX / JS需要1秒变化)。
基本上,我想要JohnLindquist在此显示的内容(Webstorm的RT反馈和Angular待办事项列表示例在3分钟之内),但我需要Tomcat和Spring。
我最近几天一直在使用我们的堆栈(Tomcat8,Intellij13,Spring4,Angular)进行研究/玩,而我只是没有’明白’,所以认为这是我在这一领域的知识不足,我缺少了一些东西(因此,SO问题)。
到目前为止,我为UX Guy取得的成就
Grunt(使用节点)来提供“静态资源”(JS / SCSS /模板),并通过livereload刷新镶边- 这非常好,非常接近我想要的内容(SCSS / JS / HTML更改了RT费用),但是最大的问题是节点正在服务静态资源而不是TC,因此使用跨源策略(通过此方法和此方法解决)-intellij中的重建变得杂乱无章-使用文件监视程序查看了SCSS编译,但没有胶凝)-在简而言之,我并没有为静态服务和REST API协调工作而苦恼。另一个选择是,当文件更改但不愿去那里时,此人用咕unt声来更新TC资源。
这使我回到文件观察者,jetbrains实时编辑(网络风暴视频显示的内容)和intellij方面,我再次谈到静态内容,因为intellij可以在停用帧时更新TC上的资源,但是(而且很大但是这不是实时的,当您更改资源结构时,您需要刷新页面,但是我们正在开发一个SPA,SPA会丢失刷新的上下文,这会减慢家伙的速度,因为必须回复序列才能返回更改发生的位置并且在使用intellij时,它们必须“取消激活”框架以将更改推送到TC(它们位于双显示器上,因此要取消选中intellij就像按按钮来部署更改一样)
迄今为止最好的是咕gr咕accept咕accept咕accept咕accept的,并接受相同的起源问题进行开发,但是我是否为UX迷失了东西?
迄今为止,我为开发人员所取得的成就
在开始之前,请负担不起jrebel的费用,还没有与intellij和tomcat一起使用Spring Load(尚未)。
在这个阶段,只需由intellij用类更改TC并在Bean定义/方法结构更改时重新启动即可。不好,我知道,但是“这就是我们习惯的”
着眼于spring启动-很有希望,但理想情况下是不希望放弃配置自由,但确实可以提供我相信的服务器上的实时更新。
Grails目前不在市场,因此无法在那受益。
我知道Play允许进行一些实时更新,但同样,我们没有详细研究此内容,也没有对当前堆栈进行重大调整。
摘要
在开发方面,您可能会坚持使用Live Edit并接受刷新/停用问题,因此我们无法“实现” John Lindquist在Webstorm中显示的内容,即使用Tomcat / Intellij / Chrome时资源发生更改时的实时更新- 或至少“我不知道”该如何实现?
服务器端-我仍在努力,将继续研究弹簧加载和intellij集成,然后研究jrebel并查看可获得的预算,如果有的话,但与此同时,我看到该节点还有其他选择/ ruby /grails所有人都掌握了所有信息,所以我相信一定是我,并且我错过了使用Tomcat和Spring时从代码更改中获得超快速反馈的最佳设置吗?
简而言之,是的,有可能并且已经实现了我计划实现的目标-那就是Java EE平台上的所有开发更改(包括JS/SCSS更改和Spring/Java更改)都将实时发生(5/10)秒服务器,2秒ux)。我录制了一些视频,展示了所有操作的情况(请原谅缺少戏剧性的事物)。
堆栈 :
AngularJS
Grunt-使用http代理为/service上下文调用提供静态页面。需要代理是出于两个原因-1是为了解决跨源问题&2-以便在Chrome中显示实时静态资源更改(HTML / JS / SCSS)-您无法使用tomcat作为资源会被复制到TC中的web-app文件夹中,而不是直接从源中提供 (Intellij可以在停用框架时重新部署,但是效果不佳,并且不允许即时更改反映在Chrome中) 。
/service
Grunt监视SCSS的更改(我相信您可以在intellij中使用文件监视程序,但是可以使用grunt服务静态内容)
Live Edit可以即时更新Chrome。
用于Spring / Server端的JRebel更改为Tomcat(商业用途需要许可证)
细微但重要的事情是Grunt在做什么。