문제

JSP와 서블릿을 사용하여 많은 Java 웹 개발을 수행 했으며이 접근법이 간단하고 유연하다는 것을 알았습니다. 데이터베이스 연결 관리와 같은 일부 토대 작업은 다소 지루하며 새로운 웹 앱을 시작하려면 상당한 양의 작업이 필요합니다.

따라서 프레임 워크를 처음으로 사용하는 것을 고려하고 있지만 프레임 워크에 대한 인상은 주로 대형 J2EE 응용 프로그램에 사용되며 많은 복잡한 구성을 포함한다는 것입니다. 내가 찾고있는 것은 (초기 학습 곡선 이후) 가능한 빨리 새로운 웹 앱을 사용하여 일어나서 실행할 수 있다는 간단한 것입니다.

그래서 내 질문은 - 간단한 Java 웹 앱에 프레임 워크를 사용하는 것이 합리적입니까?

이미 묻는대로 사용할 프레임 워크 (실제로 프레임 워크가 권장되는 경우)를 묻지 않습니다. 여기.

도움이 되었습니까?

해결책

그것은 많은 의미가 있습니다. 우리 팀은 오픈 소스 스택으로 5 년 동안 더 나은 부분을 보냈으며 상관없이 모든 새로운 웹 앱을 만드는 데 사용하는 "종자"프로젝트 (Appfuse와 같은 작품)가 있습니다. 앱을 유지 관리하는 POV의 간단한 두 호출기조차도 다른 모든 앱처럼 보입니다.

짧은 점은 지금 투자에 대한 수익을 얻지 못하지만 프로젝트가 발전하여 유지할 수 있습니다.

다른 팁

웹 프레임 워크를 사용하지 않으면 일반적으로 하나를 쓰지 않게됩니다.

예, 다음과 같은 이유로 웹 프레임 워크를 사용합니다.

  1. 내비게이션 기능 및 제어 증가. 필요하지 않을 수도 있지만 언제든지 필요할 때 사용할 수 있습니다.
  2. 다른 사람들이 지적했듯이 앱은 시간이 지남에 따라 커지고 앞으로 어느 시점에서 프레임 워크의 필요성을 느낄 것입니다. 추가 페이지를 추가하고 탐색 해야하는 경우
  3. 보안 및 DB 액세스 프레임 워크와 같은 다른 프레임 워크에 연결할 수있는 기능. 봄은 Java 세계의 주요 예입니다. 봄을 사용할 필요는 없지만 스트럿, 스프링 MVC, 최대 절전 모드, acegi 등으로 잘 연결됩니다. 결국 배관을 직접 수행하는 번거 로움을 절약하게됩니다.
  4. 지원하다!!! 좋은 프레임 워크는 거의 항상 그들을 지원하고 질문을하고 질문 할 수있는 활기찬 커뮤니티를 가지고 있습니다.

처음에는 너무 많은 번거 로워 보이지만 앞으로 많은 시간을 절약 할 수 있습니다.

나는 그것이 실제로 꽤 중요하다고 말하고 싶습니다 어느 당신이가는 프레임 워크. Spring MVC와 같은 것은 코드에서 상당히 눈에 띄지 않으며 기존의 물건이 상당히 많은 것을 실행할 수 있습니다. 다른 프레임 워크에는 어떻게 해야하는지에 대한보다 구체적인 아이디어가 있습니다.

예, 말이됩니다. 앱은 성장하고 변화 할 수 있으며 프레임 워크가 미래에 쉽게 제공 할 수있는 것을 요구할 수 있습니다.

예를 들어 내 직장에는 간단한 JSP / Servlet 앱이 있습니다. 위에서 설명한 내용 때문에 다시 작성해야합니다. 누군가가 프레임 워크 설정을 얻는 데 시간이 걸렸다면 오늘날 우리는 더 나은 모양이 될 것입니다.

예, 말이됩니다. 그러나 당신의 질문에 내재 된 것은 잘못된 (당신을 위해) 프레임 워크가 가치보다 더 고통 스러울 수 있다는 것입니다. 그리고 그것은 사실입니다. 일부 무거운 J2EE 프레임 워크와 성배처럼 가볍고 쾌활한 것 사이에는 차이가 있습니다.

대안은 무엇입니까? 나만의 굴러? JSP의 모든 탐색 및 논리를 포함 시켰습니까?

나는 웹 프레임 워크가 그만한 가치가 있다고 말하는 사람들에게 동의합니다. 말 그대로 수백 명이 있습니다 (예 : Struts, JSF, Spring, Wicket 등). 당신에게 맞는 것을 선택하십시오.

두 가지 종류의 응용 프로그램이 있습니다.

1) 당신이 버리고 다시는 사용하지 않는 종류이므로 모듈성, 유지 관리 및 선명도에 대해 걱정해서는 안됩니다.

2) 진짜 종류.

때로는 앱이 현재 계획하고있는 것보다 더 큰 기능 세트 / 사용자 기반을 성장, 스케일 또는 서비스 할 필요가없는 것처럼 보일 수 있습니다. 인식이 항상 잘못되었다고 확신합니다.

프레임 워크, 특히 Java의 MVC에 대한 struts, MVC 용 Spring 및 Dependency Injection, Object-Relational Modeling의 최대 절전 모드는 코드의 모듈성, 유지 관리 및 명확성을 유발하는 매우 귀중한 도구입니다. 따라서 원래 질문에 답하기 위해 .... 예, 강조합니다.

아니요.

  1. 팀에는 Java 경험이 없습니다
  2. 당신은 몇 시간 안에 준비 해야하는 프로토 타입 만하고 있습니다.
  3. 당신은 당신의 개발자가 당신의 응용 프로그램을 작성할 수있을만큼 충분히 믿지 않습니다.
  4. 당신은 당신의 개발자가 배우고 개선 할 수 있도록 계획하지 않습니다.

프레임 워크 사용의 위험은 다음을 포함하되 이에 국한되지 않습니다.

  1. 모든 프레임 워크 결함을 스스로 맨 위에 얻을 수 있습니다.
  2. 프레임 워크를 완벽하게 알 때까지 현실적인 추정을 할 수 없습니다.
  3. 팀은 웹 서버를 프로그래밍하는 방법을 배우지 않습니다.
  4. 코드를 작성하여 문제를 해결하는 대신 팀이 Google에서 점점 더 많은 시간을 전달할 수 있습니다.

오픈 소스 프레임 워크를 선택하는 것이 최악의 유일한 것은 회사에서 "큰 완전한 궁극적 인 회사 프레임 워크"를 만들어야하는 별도의 R & D 팀을 보유하는 것입니다.

그러나 프레임 워크에 대한 나의 인상은 주로 대규모 J2EE 응용 프로그램에 사용되며 복잡한 구성을 많이 포함한다는 것입니다.

반드시 사실은 아닙니다. 좋은 프레임 워크는 잘 확장되도록 만들어져 작은 앱에서 매우 큰 앱으로 이동합니다. 오늘날의 많은 프레임 워크는 제로 구성으로 이동하여 더 쉽고 사용하기 쉽습니다.

당신은 프레임 워크 자체를 배우려면 초기 노력이 필요하지만, 그 투자는 당신이 구축 한 첫 번째 응용 프로그램에서 그 자체로 비용을 지불합니다. 그리고 메타 프레임 워크와 같은 appfuse 프레임 워크를 사전 구성하기 때문에 시작하기가 더 쉬워집니다.

프레임 워크는 대부분의 응용 프로그램에 적합합니다. 직접 구축하거나 다른 프레임 워크를 채택해야 할 수도 있습니다. 가장 중요한 질문은 데이터 구조의 세분성입니다. 이것이 의미하는 바는 데이터 만 입력해야합니까, 아니면 동적 코드를 구문 분석하고 컴파일하고 실행해야합니까?

프레임을 게이지로 생각하고 왼쪽으로 가면 기존 프레임 작업 오픈 소스 또는 닫히고 오른쪽으로는 모든 사용자 정의 프레임 워크가있는 경우 복잡성 수준이 증가하는 프레임 작업 위에 코드를 부과합니다. 오른쪽으로. 당신이 더 멀리 갈수록 프레임 작업 (IMO)으로 가질 수있는 스커크가 더 많습니다.

그러나 기존에서 사용자 정의 프레임 워크로 천천히 마이그레이션 할 수도 있습니다.

귀하의 비즈니스에 대한 질문도 있습니다. 소프트웨어를 은행이나 병원과 같은 핵심 부적으로 보지 않는 비즈니스에서 일하는 경우, 당신이 구축하려는 프레임 작업의 양을 사용해야합니다.

결론 어떤 유형의 프레임 워크가 항상 유용합니다.

프레임 워크를 사용하면 학습 곡선으로 인해 웹 앱 개발에 약간의 오버 헤드가 추가 될 수 있습니다. 그러나 선택한 프레임 워크에 따라 다음과 같은 이점을 실현할 수 있습니다.

  1. 확장 성
  2. 유지 가능성
  3. 모델의 명확한 분할 (예 : MVC)
  4. 상자 외 구성 요소 (세션 관리, 인증 등)
  5. 제 3 자 플러그인
  6. 프레임 워크에서 모듈성이 상속됩니다
  7. 많은 다른 사람.

게다가, 학습 곡선은 가변 요인입니다. 일부 프레임 워크는 기술에 따라 다른 프레임 워크보다 배우기가 더 쉽습니다.

다른 이유가 아닌 경우에도 새로운 지식 영역을 제공 할 수없는 경우에도 프레임 워크를 사용하는 것이 합리적입니다. 프레임 워크를 배우는 데 투자 할 시간이 있다면 새로운 프로젝트가 아무리 단순하더라도 새로운 프로젝트에 사용하는 것이 더 쉽고 빠르다는 것을 알 수 있습니다.

또한, 내가 삼 베란의 게시물에 투표 할 수 있다면 나는 그렇게 할 것입니다. 프레임 워크를 시작하는 데는 "오, 대단한! 나는 그 모든 보일러 플레이트를 다시 쓸 필요는 없습니다!"의 순간이 포함됩니다.

나는 당신이 말했듯이, 간단한 Java 웹 앱을 위해 물건을 만들고 달리는 것이 다소 지루합니다. 프레임 워크가 작업을 더 빨리 완료하고 필요한 서비스를 제공하는 데 도움이된다면 말이됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top