2012-02-18 2 views
2

첫 번째 Java 웹 응용 프로그램 (Spring/Hibernate/Freemarker)을 개발 중이며 유일한 관심은 개발 속도입니다.Java 웹 애플리케이션을 효율적으로 개발하는 방법은 무엇입니까?

필자는 PHP를 사용하여 개발했는데 결과를보기 위해 브라우저를 다시로드하기 만하면 충분했습니다. Java를 사용하면 템플릿의 변경 사항을 확인하기 위해 IDE에서 항상 "업데이트 리소스"를 클릭해야합니다. 재 전개에 몇 초가 걸리므로이 개발 방법은 실제로 비효율적 인 것처럼 보입니다.

또한 나는 템플릿을 준비 할 사람이 아닙니다. 그래픽 녀석 일 뿐이므로 그 사람도 테스트하고 싶어 할 것입니다. 그는 자신의 응용 프로그램 서버가 있어야하고 응용 프로그램을 계속 재배포해야합니까? 아니면 페이지를 "다시로드"하는 "PHP"방법이 있습니까?

+1

Eclipse/Tomcat으로 Webapps를 개발/실행 중이며 jsp의 변경 사항이 서버에 자동으로 배포됩니다. 그래서 제게는 브라우저에서 F5 키를 누르는 것만으로도 충분합니다. 자바 클래스를 변경하면 다시 시작됩니다. IDE에 실제로 의존하는 것처럼 들리지만 Eclipse에서는 normaly가 1 초 미만으로 배포되었습니다. – proko

답변

6

예, PHP 또는 Rails와 같은 동적 언어 및 플랫폼에 비해 개발 속도가 주요 관심사이자 단점입니다. 물론 자바는 다른 지역에서 승리하지만, 여기에 몇 가지 팁입니다

  1. 는 단위 테스트 재배치를 할 선호 - 당신이 단위 테스트 편안하게 느낀다면, 당신은 크게 재배치의 양을 줄일 수 있습니다. 완료되면 완전한 기능을 한 번만 배포하는 것으로 나타났습니다. 모든 논리는 이미 테스트되었으므로 몇 초 또는 몇 분을 낭비하면서 반복해서 배포 할 필요가 없습니다.

    GUI로 작업하기 시작할 때 백엔드로 돌아갈 필요가 없습니다. 이제는 작동하기 때문에 백엔드로 돌아갈 필요가 없습니다. 반복적 인 재배포를 보게되면 JUnit을 사용하여 테스트 해 보려고합니다.

  2. 더 나은 프레임 워크을 사용하십시오. 봄 MVC는 매우 보수적인데, 매우 우수하고 순수입니다. Play! framework은 비행 중에 클래스를 다시 컴파일하여 소요 시간을 줄일 수 있다고 들었습니다.

    한편 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에서도이 작업을 수행 할 수 있습니다.

+0

정말 실망스러운 부분은 Inversion of Control 응용 프로그램 구조를 따르지 않는다는 것입니다. 그렇지 않으면 웹 응용 프로그램을 개발하는 것이 좋은 선택입니다. –

1

Play framework을 살펴 보는 것이 좋습니다. 코드 (HTML, CSS, Java)를 업데이트하고 브라우저에서 새로 고침 버튼을 누른 직후 결과를 볼 수 있습니다. 응용 프로그램을 다시 배포하십시오.

2

배치를 자동으로 업데이트하도록 IDE를 사용자 정의 할 수 있습니다.웹 서버의 변경 사항은 Java 서버가 즉시 업데이트하므로 응용 프로그램을 재배포 할 필요가 없습니다. 두 번째 질문에 관해서 - 컴퓨터의 수에 공통적 인 설치가 표시되도록 만들고 새 페이지를 배포에 복사하는 IDE (또는 스크립트 작성)를 사용자 지정할 수 있습니다.

관련 문제