如何有效地开发Java Web应用程序?

Voj*_*ěch 2 java model-view-controller templates

我正在开发我的第一个Java Web应用程序(Spring/Hibernate/Freemarker),我唯一关心的是开发速度.

我以前用PHP开发,只需重新加载浏览器即可查看结果.使用Java,我需要始终在IDE中单击"更新资源",以查看对模板所做的更改.在我看来,这种开发方式效率非常低,因为重新部署需要几秒钟.

此外,我不是准备模板的人 - 它只是一个图形人,他也想测试它们.他是否需要拥有自己的应用程序服务器并继续重新部署应用程序,还是需要更多"PHP"方式来"重新加载"页面?

Tom*_*icz 6

是的,与动态语言和PHP或Rails等平台相比,开发速度是一个主要的问题和缺点.显然Java在不同领域获胜,但这里有一些提示:

  1. 更喜欢单元测试重新部署 - 如果您对单元测试感到满意,则可以大大减少重新部署的数量.一旦完成,我发现自己只部署了一次完整的功能.所有逻辑都已经过测试,所以我不必一次又一次地部署,浪费几秒钟或几分钟.

    此外,当我开始使用GUI时,我不必回到后端,因为我现在可以工作了.一旦我看到重复的重新部署,我尝试使用JUnit来测试它.

  2. 使用更好的框架.Spring MVC非常保守,虽然非常好而且纯粹.我听说过Play!框架可以通过动态重新编译类来减少周转时间.

    另一方面,像Grails这样的现代JVM框架可以加速您的开发,因为它们可以为您创建域,CRUD和GUI.

  3. 一些框架促进了模板的松散耦合.如果您使用的是Freemarker或纯JSP,则很难在GUI上单独工作.但像Wicket这样的框架可以用纯HTML编写的模板解耦到很大程度上的Java代码.此外,我目前正在开发一个仅提供静态HTML的应用程序,并通过AJAX/REST服务和JavaScript更新动态内容.

  4. 考虑购买JRebel并查看JVM中的内置热交换功能.有时更改代码并不意味着重新部署.

  5. 当窗口变为后台时, IntelliJ IDEA可以动态更新修改后的资源(HTML,JavaScript).这意味着当您将窗口从IDE切换到浏览器时,您的资源就会更新.可能其他IDE也可以这样做.