문제

Perl을 위한 좋은 MVC 프레임워크를 제안해 주실 수 있나요? 제가 알고 있는 것은 다음과 같습니다. 촉매

Java/.Net 애플리케이션에서 원활하게 호출할 수 있는 Perl 인프라에 서비스를 노출할 수 있어야 합니다.

도움이 되었습니까?

해결책

Catalyst는 신속한 애플리케이션 개발 MVC 프레임워크 측면에서 Perl 개발자들 사이에서 단연 최고의 평판을 얻고 있다고 지금 말씀드리고 싶습니다.

"순수한" MVC 측면에서 "성숙한" 또는 최소한 생산 준비가 된 대안이 그렇게 많이 있는지 확신할 수 없습니다.

Catalyst가 적합하지 않다고 생각되면 경량 프레임워크를 기반으로 구축할 수 있습니다. CGI::응용프로그램 귀하의 필요에 맞게 또는 다음과 같이 덜 알려진 MVC 프레임워크를 살펴보십시오. 페이지킷 그리고 메이폴.

다른 팁

이 오래된 스레드가 나타났기 때문에 Perl MVC 세계에 두 가지 흥미로운 새 추가 사항을 언급하겠습니다.

  • 춤추는 사람 (CPAN) 매우 가벼운 것으로 알려진 Ruby의 Sinatra의 영향을 많이 받았습니다.
  • 모졸리셔스 (CPAN) Catalyst의 원래 개발자가 배운 내용을 사용하기 위해 작성한 이 버전에는 매우 현대적인 내장 기능(HTML5/CSS3/Websockets, JSON/XML 파서, 자체 UserAgent/템플릿 엔진)이 포함되어 있어 비핵심 종속성이 없습니다.

(NB.나는 Dancer보다 Mojolicious를 더 많이 사용했기 때문에 Mojolicious에 나열한 Dancer의 일부 기능을 놓친 경우 미리 사과드립니다.)

이미 언급한 것 외에 또 다른 대안은 연속성입니다.그러나 이는 (이름에서 알 수 있듯이) 일반적인 의미의 MVC가 아닌 연속 기반입니다.그래도 더 나은 Perl 웹 프레임워크 중 하나이기 때문에 언급할 가치가 있습니다.

즉, 나는 어떤 대안보다 Catalyst를 훨씬 더 좋아합니다.그리고 여전히 점점 더 좋아지고 있습니다!단점은 현재 선호하는 코딩 접근 방식이 상당히 빠른 속도로 계속해서 발전하고 있다는 것입니다. 그러나 지난 몇 가지 버전에서는 API 호환성이 크게 강조되었기 때문에 부담은 이제 대부분 관리적이라기보다는 정신적입니다.특히 Moose에 대한 내부 포트의 향후 포트는 뛰어난 이점을 제공할 준비가 되어 있습니다.

그러나 IMO인 Catalyst를 선호하는 가장 큰 주장은 체인형 디스패치 유형입니다.나는 웹 프레임워크 전체에서 이와 같은 것을 본 적이 없으며 코드를 가능한 한 DRY로 유지하는 가장 훌륭한 도구입니다.이는 Catalyst가 제공하는 또 다른 훌륭한 기능, 즉 uri_for – 컨트롤러와 여러 인수를 취한 다음 해당 위치로 전달하고 반환하는 URI를 구성하는 메서드입니다.이러한 기능을 함께 사용하면 자신이 옳다고 생각하는 방식으로 URI 공간을 구성할 수 있으면서도 동시에 논리 중복을 방지하도록 컨트롤러를 구성할 수 있습니다. 그리고 템플릿을 URI 구조와 독립적으로 유지합니다.

정말 훌륭합니다.

다른 사람의 의견을 뒷받침합니다.Catalyst(Maypole에서 파생된)는 단연코 가장 완벽하고 강력합니다.당신이 그것을 이해하는 데 확실히 도움이 될 조나단 록웨이(Jonathan Rockway)의 책이 있습니다.

'체인' 디스패치 유형 외에도 :Regex(및 :LocalRegex) 디스패치 메소드는 엄청난 유연성을 제공합니다.여기에 구축한 최신 앱은 :LocalRegex를 사용하여 소수의 하위 항목을 통해 이질적으로 보이는 많은 URL을 지원합니다.

또한 특정 템플릿 언어나 데이터베이스에 국한되지 않는다는 사실도 특히 마음에 듭니다.메일링 리스트(그리고 책)는 둘 다 Template::Toolkit(나처럼)과 DBIx::Class(우리는 Class::DBI를 계속 사용함)를 선호하지만 원하는 거의 모든 것을 사용할 수 있습니다.Catalyst는 놀라울 정도로 불가지론적입니다.

Catalyst가 종속성으로 CPAN의 절반을 요구하는 것 같다고 해서 미루지 마십시오.일단 설치하고 실행하면 기름칠이 잘 된 기계입니다.이제는 성숙 단계에 도달하여 일단 이해하고 나면 '배경 속으로 사라져' 있는 것을 발견하게 됩니다.사용하는 도구와 씨름하지 않고 비즈니스 요구 사항을 해결하는 데 시간을 보냅니다.

주석에 적힌대로 작동합니다.촉매++

가지고 놀았어 쪼그리고 앉는 것 지난 며칠 동안 나는 그것이 매우 유망해 보였고 사용하기에 재미있었다고 말해야 합니다.

이는 마이크로 웹프레임워크(또는 웹 마이크로프레임워크 ;-)이며 다음에 의해 크게 영향을 받습니다. 캠핑 Ruby로 작성된 것입니다.

주의.스쿼팅(및 캠핑)에는 프레임워크에 구운 모델 구성요소가 없습니다.모델에 대한 저자의 의견은 다음과 같습니다. "모델?온 세상이 당신의 모델입니다.;-) 저는 여기서 정책을 정의하는 데 항상 양면적인 입장을 취했습니다.당신에게 맞는 것을 사용하세요."

프레임워크의 핵심과 더 유사한 CGI::Application도 있습니다.이는 사용자가 기본 CGI를 작성하고 원하는 대로 사용자 정의할 수 있도록 도와줍니다.따라서 거의 모든 모듈을 사용하지 않거나 태양 아래 거의 모든 사람을 사용하도록 할 수 있습니다.

촉매제가 갈 길입니다.Jifty도 있지만 (지난번에 봤을 때) 끔찍한 문서가 있었습니다.

Catalyst에 대해 이미 알고 있다면 집중적으로 살펴보는 것이 좋습니다.성숙하고 잘 문서화되어 있으며 매우 큰 사용자 기반, 커뮤니티 및 플러그인 모음을 보유하고 있습니다.

귀하의 문제에 대해서는 다양한 형식을 사용하여 모델 및 작업에 액세스할 수 있는 Jifty::Plugin::REST를 살펴보겠습니다.

Jifty에는 끔찍한 문서가 없다고 말씀드리고 싶습니다.그러나 포함된 문서의 대부분은 API 문서이지만 유용한 팁과 응용 프로그램에 대한 링크가 포함된 매우 간단한 메일링 목록이 있습니다.

위키 http://jifty.org/ 유용한 비트가 있는 또 다른 리소스입니다.

귀하의 목표가 오후에 비디오 저장소(4GL 및 CRUD 프레임워크에 대해 제가 가장 좋아하는 벤치마크)를 만드는 것이라면 정말 볼만한 가치가 있습니다!

또 다른 옵션은 받침대 BigTop 모듈과 함께 사용하면 간단한 CRUD 사이트를 구축하는 데 걸리는 시간을 줄일 수 있습니다.

도 있습니다 클리어프레스 유용한 데이터베이스 지원 애플리케이션으로 추천할 수 있습니다.Catalyst보다 종속성이 덜 필요합니다.우리는 이를 사용하여 몇 가지 대규모 애플리케이션을 작성했으며 이를 사용하여 배드민턴 사다리 웹사이트를 운영하고 있습니다.

나는 다음과 같은 몇 가지 응용 프로그램을 만들었습니다. 켈프, 배우기 쉽고 매우 유용합니다.

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