문제

나는 Java 개발자가 아니므로 어떤 용어가 잘못 될 수 있습니다 ... 그러나.

내가 통합하는 응용 프로그램은 봄에서 개찰구로 이동하고 있습니다. 그것이 그것과의 통합에 영향을 미치지 않아야하지만 왜 그들이 왜 그렇게할지 궁금해 했습니까?

내가 아는 바에 따르면 Spring은 더 인기있는 프레임 워크입니다. 나는 그것에 대해 인기가 없다는 것을 제외하고는 아무것도 모른다. 나는 개찰구 페이지를 읽었고 개찰구는 정말 간단하고 간단 해 보입니다.

개찰구의 장점은 무엇입니까?

전체 프레임 워크를 바꾸는 것이 일부 작업이 될 것 같습니다. 개찰구가 봄이하지 않는 것을 제공하는지 궁금합니다.

도움이 되었습니까?

해결책

내가 빈번한 원에서 종종 선전되는 장점은 다음과 같습니다.

  1. HTML은 완전히 XHTML을 준수 할 수 있습니다. 프레젠테이션/HTML 레이어가 개찰구에 대해 알아야 할 유일한 것은 표준 HTML 태그의 개찰 속성이라는 유일한 프레젠테이션 및 논리가 매우 잘 분리되어 있습니다. 이것은 실제 Java 작업이 거의 없거나 전혀없는 팀의 HTML/CSS/JavaScript Client Side Guy에게 훌륭합니다. 다른 Java 기반 웹 프레임 워크는이를 주장 할 수 없습니다.
  2. 개찰구에 대한 XML 구성 없음 - 모든 것이 소스에서 수행 할 수 있으며 .WAR의 표준 web.xml에 필요한 작업이 거의 필요하지 않습니다.
  3. 구성 요소 기반 개발은 특히 웹 배경이없는 경우 (예 : 스윙 프로그래머)를 집안화하기가 매우 쉽습니다. 그것은 IMO보다 재사용을 꽤 많이 장려합니다.

다른 팁

다음은 Apache 개찰구의 몇 가지 기능입니다.

pojo 구성 요소 모델

개찰구의 페이지 및 구성 요소는 캡슐화, 상속 및 이벤트를 지원하는 실제 Java 객체입니다.

개발의 용이성

개찰구는 Java 및 HTML이므로 Java 또는 좋아하는 HTML 편집기에 대해 알고있는 것을 활용하여 개찰구 응용 프로그램을 작성할 수 있습니다.

우려의 분리

개찰구는 마크 업을 Java 코드와 혼합하지 않으며 마크 업 파일에 특수 구문을 추가하지 않습니다. HTML과 Java의 세계는 병렬이며 개찰구 ID에 의해서만 연관되어 있으며, 이는 HTML의 속성이며 Java의 구성 요소 특성입니다. 개찰구 HTML은 HTML이고 개찰구 Java는 Java 일 뿐이므로 코더와 디자이너는 특별한 도구에 의존하지 않고 독립적으로 독립적으로 일할 수 있습니다.

안전한

개찰구는 기본적으로 안전합니다. URL은 민감한 정보를 노출시키지 않으며 모든 구성 요소 경로는 세션이 아닙니다. 세션간에 정보를 공유하려면 명시 적 단계를 수행해야합니다. 또한 URL 암호화는 매우 안전한 웹 사이트를 허용합니다.

투명하고 확장 가능한 클러스터링 지원

모든 개찰구 응용 프로그램은 추가 작업없이 클러스터에서 자동으로 작동합니다. 병목 현상이 이해되면 개찰구는 페이지 상태 복제를 튜닝 할 수 있습니다. 다음 버전의 개찰구는 제로 상태 확장성에 대한 클라이언트 측 모델을 지원합니다.

투명한 뒤로 버튼 지원

개찰구는 구성 가능한 페이지 버전 관리를 지원합니다. 사용자가 브라우저의 뒤로 버튼으로 액세스 한 페이지에서 양식을 제출하거나 링크를 팔로우 할 때, 개찰구는 페이지를 원래 렌더링 한 상태로 페이지 객체를 주로 되돌릴 수 있습니다. 즉, 작업이 거의없이 뒤로 버튼을 지원하는 웹 응용 프로그램을 작성할 수 있습니다.

멀티 탭 및 멀티 윈도우 지원

개찰구는 사용자가 새 브라우저 또는 탭을 열 때 개발자가 올바른 원도 및 멀티 탭 사용을 지원하는 응용 프로그램을 작성하는 쉬운 방법을 제공합니다.

재사용 가능한 구성 요소

개찰구의 재사용 가능한 구성 요소는 특히 쉽게 만들 수 있습니다. Java 확장 키워드로 기존 구성 요소를 확장 할 수있을뿐만 아니라 구성 요소 그룹을 재사용 가능한 장치로 연결하는 패널 구성 요소를 만들 수도 있습니다.

간단하고 유연하며 지역화 가능한 양식 검증

개찰구에 검증자를 작성하고 사용하는 것은 사소한 일입니다. 또한 유효성 검사 오류 메시지의 디스플레이 및 내용을 사용자 정의하고 현지화하기가 매우 쉽습니다.

TypeSafe 세션

개찰구는 손으로 httpsession 속성을 관리 할 필요가 없습니다. 페이지 및 구성 요소 객체는 세션에 투명하게 저장되며 응용 프로그램은 TypeSafe 속성으로 사용자 정의 세션 서브 클래스를 만들 수 있습니다. 세션에 저장된 모든 객체는 클러스터링 복제에 자동으로 참여할 수 있습니다.

공장 사용자 정의 가능

개찰구는 매우 확장 가능합니다. 대부분의 운영은 공장이나 공장 방법을 통해 사용자 정의 할 수 있습니다.

분리 가능한 모델

개찰의 모델 객체는 클러스터에서 메모리 및 네트워크 사용 측면에서 매우 가벼울 수 있습니다. 모델이 사용되면 "연결"하여 영구 스토리지의 정보로 자체적으로 채워질 수 있습니다. 모델이 더 이상 사용되지 않으면 과도 정보를 재설정하여 객체의 크기를 줄일 수 있습니다.

국경 구성 요소

개찰구 테두리 구성 요소는 재사용 가능한 방식으로 페이지 장식을 가능하게합니다. 이것은 일반적인 항해 구조 또는 레이아웃의 상속에 특히 유용합니다.

모든 기본 HTML 기능을 지원합니다

개찰구는 이미지 태그, 링크, 양식 및 웹 애플리케이션 개발에서 사용하는 데 사용하는 모든 것을 지원합니다.

속성의 프로그래밍 방식 조작

개찰구 구성 요소는 HTML 태그 속성을 프로그래밍 방식으로 변경할 수 있습니다.

자동 변환

양식이 검증되면 개찰구 변환기를 사용하여 모델을 업데이트 할 수 있습니다. 대부분의 일반 변환은 내장되어 있으며 새로운 변환기를 쉽게 작성하기 쉽습니다.

동적 이미지

개찰구는 이미지 사용, 공유 및 생성을 매우 쉽게 만듭니다. 단순히 페인트 방법을 구현하여 동적 이미지를 만들 수 있습니다.

pagable listview

개찰구의 ListView는 매우 강력합니다. ListView Row, 심지어 다른 ListView조차도 모든 종류의 구성 요소를 중첩 할 수 있습니다. PageAblelistView는 대형 목록의 내비게이션 링크를 지원합니다.

트리 구성 요소

노드를 탐색하고 선택하기위한 박스 트리 구성 요소 밖.

현지화

HTML 페이지, 이미지 및 리소스 문자열을 모두 현지화 할 수 있습니다.

봄은 봄 MVC 이상입니다. 봄을 사용할 수 있습니다 ~와 함께 창구.

개찰 바위!

Spring (Spring MVC라고 불리는 UI 부분)은 단지 메가 인 것 같습니다. '주방 싱크대를 포함하여 모든 것을하십시오', 봄 (및 스프링을 평가하기 시작했을 때 거대하고 다루기 힘든 것처럼 보입니다. MVC). 오늘날 봄은 나에게 한 가지에 초점을 맞추지 않는 것 같습니다. 원래 나는 그것이 단순히 의존성 주입 프레임 워크라고 생각하지만 모든 사람들에게 모든 것이 되려고 노력하고 단순성이 사라졌습니다.

봄에 읽은 책에는 너무 많은 XML 구성이 포함 된 예제가있었습니다. XML 구성 파일의 오류는 Debugger와 함께 한 단계를 통과 할 수있는 Java 코드의 오류보다 디버그 및 수정하기가 훨씬 어렵습니다.

어쨌든 XML 대신 Java 코드로 물건을 선언하는 데 어떤 문제가 있습니까? 언제부터 누군가가 XML로 모든 것이 선언되어야한다고 판결했습니다. 복잡한 XML 구성 파일의 바다에서 수영을 좋아한다면 스프링으로 이동하십시오. 일을 끝내고 생산적이라는 것을 좋아한다면 개찰구와 함께 가십시오.

개찰구는 웹 앱 개발을위한 최고의 Java 기반 UI 프레임 워크 인 데 중점을두고 있습니다. 특정 의존성 주입 프레임 워크 또는 특정 지속성 프레임 워크 (JDO/JPA, Datanucleus, Hibernate 등으로 사용)를 고정 시키려고하지 않습니다.

그것은 UI에 분명히 초점을 맞추지 만 원하는 종속성 주입 프레임 워크를 사용할 수 있습니다 (Spring 's DI를 사용할 필요는 없지만 원하는 경우 할 수 있습니다). 우리는 심지어 우리 자신의 DI (http://www.expojo.com) 개찰구와 함께 모든 것은 펑키합니다.

봄은 개찰구보다 포괄적입니다.

개찰구는 Java Web UI 프레임 워크입니다. Spring은 지속성, 원격, 보안, 메시징 등을위한 모듈과 함께 하나도 있습니다.

스프링은 의존성 주입 및 AOP에 구축됩니다. 개찰구에는 둘 다 없습니다.

나는 그것을 사용하지 않았지만 간단해야합니다. 나는 봄이 더 쉬운지 더 단단한 지 말할 수 없습니다.

웹 애플리케이션 외에도 많은 상황에서 Spring을 사용하여 유리한 이점을 사용할 수 있습니다.

개찰구의 무료 첫 장에서 개찰구를 사용하는 이점에 대해 읽을 수 있습니다. http://www.manning.com/dashorst/

요컨대, 개찰구는 개발중인 애플리케이션이 비교적 복잡 할 때 훌륭한 프레임 워크입니다. 팀을 확장하고 재사용을 활용할 수 있기를 원합니다. 객체 지향 프로그래밍은 UIS를 프로그래밍하는 데 매우 유용한 패러다임 인 것으로 판명되었지만 불행히도 Spring MVC를 포함하여 웹 애플리케이션을 개발하기위한 대부분의 Java 프레임 워크는 MVC라는 용어를 시원하게 만들기 위해 MVC라는 용어를 지원하는 매우 절차 적 프로그래밍 모델 만 지원합니다. 실제로, 그들이 지원하는 입도는 자체 포함 된 위젯보다는 요청/ 응답 왕복이기 때문에 MVC는 실제로 오해의 소지가 있습니다).

봄의 디 부분은 훌륭하며 개찰구와 쉽게 사용할 수있는 것입니다.

지금까지 제공된 답변에 동의합니다. 언급되지 않은 것은 다음과 같은 점입니다.이 점은 Java 코드에 중점을 둔 Wicket의 웹 애플리케이션 개발 접근의 결과입니다.

  • 개찰구 개발에는 JSP를 쓰는 것이 포함되지 않습니다.
  • Ajax 구성 요소는 JavaScript의 쓰기를 포함하지 않고 개발할 수 있습니다.

나는이 Java 중심의 접근 방식을 취하는 다른 프레임 워크를 발견하지 못했습니다. 내가 사용한 다른 모든 (Struts, Spring)에는 JSP 개발이 포함됩니다.

나에게 개찰구의 큰 장점은 Java에 초점을 맞추고 Eclipse와 같은 풍부한 개발 환경 도구의 가용성입니다. 또한 응용 프로그램의 프리젠 테이션 측면에서 비즈니스 로직을 매우 깨끗하게 분리합니다.

내가 좋아하는 개찰구의 몇 가지 장점 :

  1. 단순성 - 학습 곡선은 특히 스윙 스쿨 출신이라면 작습니다.
  2. 깨끗한 관심사 분리 - 웹 디자이너는 코드에 대해 많이 알 필요가 없습니다.
  3. 배포의 용이성.

    다음은 개찰구에 Hello World 코드를 보여주는 내 블로그입니다.

Spring은 페이지 수준에서만 MVC 디자인 패턴을 제공합니다. 대조적으로 개찰구는 개별 구성 요소 수준에서 MVC 설계 패턴을 제공합니다 (Fat Client Programming을위한 스윙 제안). Spring MVC를 사용하면 모든 양식의 데이터가 전체 전면 서블릿에 전 세계적이므로 정보 숨기기, 느슨한 커플 링 또는 단단한 응집력에 대한 기회는 많지 않습니다. 개찰구를 사용하면 디스플레이 로직이 훨씬 모듈 식 일 수 있습니다. 구성 요소에서 관리하는 데이터는 구성 요소에 대한 코드에 표시 될 필요가 없습니다.

세분화 수준이 작을수록 여러 개의 다른 웹 페이지 또는 웹 애플리케이션에서 디스플레이 코드를 재사용하기가 훨씬 쉽습니다.

또한 구성 요소 구성은 XML이 아닌 Java로 수행되므로 런타임에 온라인으로 구성 될 수있어 훨씬 더 큰 전력과 유연성을 제공 할 수 있습니다 (ASP.NET Web과 같은 대부분의 다른 구성 요소 지향 프레임 워크와 대조적으로 양식 또는 Java 서버면.

다른 인기있는 Java 웹 프레임 워크보다 개찰의 또 다른 장점 중 하나는 모듈 식 및 확장 가능한 웹 응용 프로그램을 만들 수 있다는 것입니다. 이것은 배포 시간에 플러그인 형태의 추가 기능과 페이지를 추가하여 제품의 핵심 기능/소스에 미치는 영향을 제거하여 웹 기반 제품을 디자인 할 때 특히 유용합니다. 다음은 아주 좋은 기사입니다.

http://www.infoq.com/articles/modular-wicket

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