2011-02-11 4 views
5

무엇이 더 좋습니까? 우리는 새로운 웹 프로젝트를 시작하려고하며 어떤 기술을 선택해야하는지에 대한 질문입니다. 프로젝트에는 Spring MVC + WebFlow가 포함되어있다. 지원, 확장, 성능에 대한 좋은/나쁜 경험?속도와 Apache 타일

감사합니다.

답변

6

어떻게 타일을 속도와 비교합니까? - Tiles는 페이지 조각을 구성하는 방법이며, Veleocity는보다 완벽한 JSP 엔진이며 Tiles보다 JSP에 더 낫습니다.

어쨌든 : 저는 Tiles와 JSP로 Spring MVC를 사용했습니다 : JSP (Sitemash와 함께 JSP를 사용하거나 JSP를 사용하는 것)에 많은 시간을 들였고 성능상의 문제점을 발견하지 못했습니다. (그러나 웹 응용 프로그램은 높은 부하에서 사용되지 않았습니다.)

+0

답변 해 주셔서 감사합니다. 뷰를 렌더링하는 방법을 선택해야합니다. 나는 또한 Spring MVC + Tiles를 사용했고 잘 동작했다. 새로운 프로젝트가 생기고 고객이 Velocity를 제안했습니다. 내가 원한 이유는 한 가지 접근법이 다른 접근법보다 낫다는 주장입니다. 고객이 개발자를 귀찮게하지 않고 앱을 출시 한 후 사이트 뷰를 편집하기 위해 CMS를 원한다면 어떻게 될까요? – StanislavL

+1

@ StanislavL 기술 지식은 그것을위한 가장 강력한 논거 중 하나입니다. 이것은 신빙성이 있지만, 고객/관리자에게 훨씬 더 중요합니다. - 고객이 한 가지 기술을 잘 알고 있고이 기술로 프로젝트를 완료 할 수 있다면 고객이 선호하는 것을 사용하는 것이 더 낫습니다. 왜냐하면 소프트웨어 개발자가 고객보다 훨씬 편하게 작업 할 수 있기 때문입니다. - 어쨌든 : 속도와 JSP는 그렇게 찾기 어렵지 않습니다. – Ralph

1

둘 다 사용하십시오. Tiles and Velocity는 매우 잘 통합되고 다른 문제를 해결합니다. Velocity의 #include 및 #parse 지시문을 사용하여 Tiles-ish 작업을 수행 할 수 있지만 Tiles는 해당 작업을 더 잘 수행합니다.

2

타일 2.2 용 Velocity 플러그인이 있으므로 속도에 따라 문맥에 액세스하고 JSP와 같이 동적으로 벽돌을 만들 수 있으며 타일은 웹 사이트 벽돌을 함께 결합합니다. 그러나 Tiles는 (적어도 아직은 발견하지 못했지만) 많은 문장을 허용하지 않으며, 그 문서는 Spring이나 JSF와 비교하여 매우 오래되었고 나쁘다. 따라서 다른 기술을 사용하는 것을 고려할 수 있습니다.

Roo가 저에게 해 주었지만 지금은 JSF로 모든 것을 옮기기 때문에 Curvel 프로젝트에서 Tiles 참조가 있습니다.

+0

이 질문을 읽는 이들 툴을 처음 접하는 사람들을 위해 JSF는 "Facelets"형태로 자체 템플릿 엔진 * 및 * 삽입 마크 업을 제공하는 구성 요소 기반의 MVC 프레임 워크라고 언급 할 가치가 있습니다. . 반대로, 독립 실행 형 템플릿 엔진은 View 기능이 부족하거나 View 기술에 독립적 인 요청 기반 MVC 프레임 워크와 유사합니다. Facelets는 두 가지 요구 사항을 모두 제공하므로 Tiles와 Velocity는 Facelets와 동일한 공간에서 경쟁합니다. – 8bitjunkie

7

Velocity와 Tiles는 두 개의 다른 짐승입니다. 타일은 레이아웃 엔진이고 Velocity는 템플릿 엔진입니다. 그것들은 기능면에서 어디에도 교차하지 않습니다.

귀하의 질문에 나는 당신이 아마 JSP를 사용하지 않을 것 같아요. 그것은 영리한 움직임입니다. Velocity는 템플릿 엔진 중 하나이며 절대적으로 훌륭한 직업입니다.

그리고보기를 위해 템플릿 엔진 경로를 따르기로 선택한 경우 commentit을 확인하십시오. 작고 단순하며 빠른 레이아웃 엔진입니다. 그것은 당신의 목적에 완벽하게 도움이 될 수 있습니다.

5

사용 타일 당신은 당신이 머리글, 바닥 글, 사이드 바에 대한 별도의 페이지가 예 (템플릿에서 함께 가지고 싶어 몇 가지 별도의 HTML 파일이 있고 함께 그들을 데리고와 그들을 표시하려면 일종의 신문과 같은 형식).

사용 속도 당신이 Java 백엔드 맞은 편에 동적 콘텐츠를 가져오고 (전체 HTML 페이지에 해당 값을 삽입 할 경우 즉, 당신은 자동차의 선택을 표시하는 HTML 테이블이, 당신의 자동차의 모든 저장된다 JPA을 사용하면 데이터베이스에서 Car 데이터를 가져와 EJB Bean, Spring @Component 또는 그와 비슷한 형태로 유지되는 List<Car>으로 가져올 수 있습니다. 그런 다음 Velocity를 사용하여 해당 정보를 Map 안에있는 버킷 항목으로 저장할 수 있습니다. VTL 마크 업을 사용하여 Map의 키 값 항목을 참조하여 HTML respo의 일부로 렌더링 할 수 있습니다. nse.

위 결과를 얻으려면 Velocity 자체가 전면 컨트롤러 서블릿으로 배치되거나 다른 MVC 프레임 워크로 래핑됩니다.Spring MVC는 Velocity Servlet에서 제공하는 기능을 래핑하는 View Resolver를 제공한다.

HTML 요청은 Velocity Servlet 또는 web.xml 구성을 통한 대체 MVC 프레임 워크 서블릿으로 전달됩니다. 서블릿 응답의 일부로 미리 저장된 HTML보기에는 Velocity VTL 마크 업으로 완료되며 Map 데이터가 포함되어 있습니다.

효과적으로, 그리고 요약 :

속도 JSP와 같은 공간에서 경쟁하고있다.

타일은 페이지 이동과 유사합니다. PHP 공간에서 Smarty는 인기있는 사촌입니다.

두 가지 중 하나를 선택하지 않고 모두을 사용할 수 있습니다.

+0

+1은 특정 사례를 자세히 설명합니다. – rmoestl

+0

@ 7SpecialGems +1은 아주 좋은 설명으로, 드문 경우입니다. – phoenix