문제

저는 현재 Flex MVC 프레임워크를 즐겨 사용하고 있습니다. PureMVC.Adobe의 지원을 받고 최초 출시 추진력을 갖고 있는 Cairngorm에 대해 좋은 소식을 들었습니다.그리고 메이트(Mate)라는 새로운 플레이어가 등장했는데, 이는 상당한 화제를 불러일으키고 있습니다.

이 프레임워크 중 두세 가지를 시도해 보고 의견을 형성한 사람이 있습니까?

감사해요!

도움이 되었습니까?

해결책

친구 내 선택이야.첫 번째이자 가장 중요한 이유는 완전히 눈에 거슬리지 않는다는 것입니다.내 애플리케이션 코드는 프레임워크에 대한 종속성이 없으며 고도로 분리되어 재사용 및 테스트가 가능합니다.

Mate의 가장 멋진 기능 중 하나는 선언적 구성입니다. 기본적으로 이벤트 맵이라는 태그를 사용하여 애플리케이션을 연결합니다. 기본적으로 애플리케이션이 생성하는 이벤트 목록과 해당 이벤트가 발생할 때 수행할 작업이 표시됩니다.이벤트 맵은 애플리케이션이 수행하는 작업에 대한 좋은 개요를 제공합니다.Mate는 Flex의 자체 이벤트 메커니즘을 사용하지만 대부분의 다른 프레임워크처럼 자체 이벤트 메커니즘을 개발하지는 않습니다.Cairngorms CairngormEventDispatcher 또는 PureMVC의 알림 시스템과 같은 직접적인 라인을 사용하는 대신 뷰 계층 구조의 어느 곳에서나 이벤트를 전달하고 프레임워크에 자동으로 버블링되도록 할 수 있습니다.

Mate는 또한 서로에 대해 알지 못한 채 모델을 뷰에 연결할 수 있게 해주는 종속성 주입(바인딩 활용) 형식을 사용합니다.이것이 아마도 프레임워크의 가장 강력한 기능일 것입니다.

내 생각에는 다른 Flex 애플리케이션 프레임워크는 Mate 근처에는 없습니다.그러나 다음은 경쟁자이며 덜 유용하다고 생각하는 이유는 다음과 같습니다.

PureMVC는 프레임워크의 이식성을 위해 Flex의 많은 이점(예: 바인딩 및 이벤트 버블링)을 적극적으로 거부합니다. 이는 제 생각에는 의심스러운 목표입니다.또한 과도하게 설계되었으며 침략적입니다.애플리케이션의 모든 부분은 프레임워크에 따라 달라집니다.그러나 PureMVC는 나쁘지 않으며 Flex에 적합하지 않습니다.대안은 FlexMVCS, PureMVC를 Flex에 더 적합하게 만들기 위한 노력입니다(안타깝게도 아직 문서는 없고 소스만 있습니다).

Cairngorm은 전역 변수와 밀접하게 결합된 애플리케이션으로 이어지는 안티 패턴 번들입니다.Nuff가 말했습니다(하지만 관심이 있으시면 여기에 내 생각이 더 있습니다, 그리고 여기도).

스위즈 Java 및 Cairngorm용 Spring 프레임워크에서 영감을 받은 프레임워크입니다(후자의 최악의 부분을 보완하려고 노력함).종속성 주입 컨테이너를 제공하고 메타데이터를 사용하여 종속성의 자동 연결을 활성화합니다.흥미롭기는 하지만 종속성 주입을 사용하여 Cairngorm의 전역 변수를 피하고 중앙 이벤트 전달을 위해 전역 변수를 사용하는 방식이 조금 이상합니다.

제가 시도했거나 연구한 것들입니다.제가 들어본 몇 가지 다른 내용이 있지만 널리 사용되는 것은 없다고 생각합니다.Mate와 Swiz는 최근 360|Flex 컨퍼런스에서 발표되었으며, 이용 가능한 비디오가 있습니다(Mate 사람들은 시청 방법에 대한 지침을 가지고 있습니다.)

다른 팁

확인해 보세요 로봇다리.

"애플리케이션이 분리된 방식으로 쉽게 작동하는 데 필요한 접착제를 제공합니다.자동화된 메타데이터 기반 종속성 주입을 통해 Robotlegs는 애플리케이션에서 상용구 코드를 제거합니다.느슨한 결합을 장려하고 프레임워크에서 싱글톤 및 정적 변수의 사용을 피함으로써 Robotlegs는 테스트 가능성이 높은 코드를 작성하는 데 도움이 될 수 있습니다."

나는 이런 종류의 토론을 여러 번 보았습니다.일반적으로 사용하는 Flex 프레임워크로 시작합니다.Flex 프레임워크 외에 프레임워크를 사용해야 하는 이유에 대해 질문하는 사람은 많지 않습니다.

나는 Flex 코드에서 MVC 프레임워크(Cairngorm, PureMVC)를 사용하는 것을 선호하지 않습니다.메이트가 더 나은 후보입니다.적어도 이해하기 쉽고 방해가 되지 않습니다.나는 향상된 구성 요소를 사용하는 것을 선호합니다
일품 요리.우리는 여러 가지를 만들어 오픈 소스로 공개했습니다(Clear Toolkit의 Clear.swc 참조). http://sourceforge.net/projects/cleartoolkit/.

곧 출간될 O'Reilly 책 "Flex를 사용한 기업 개발"의 첫 번째 장에서는 여러 Flex 프레임워크를 자세히 비교합니다. http://my.safaribooksonline.com/9780596801465 .

우리는 현재 다음 작업을 진행 중입니다. MVCS 구현 스프링 액션스크립트 뼈대.Inversion of Control 컨테이너의 모든 기능을 사용하므로 종속성 관리를 중앙 집중화하고 쉽게 교환할 수 있습니다.이는 작업 수행 방법에 대해 매우 규범적이지는 않지만 매우 유연한 인프라를 제공합니다.

Spring ActionScript와 MVCS를 처음 접한다면 내 블로그에 소개 게시물이 있습니다. http://www.herrodius.com/blog/158

저는 Swiz 프레임워크를 사용하고 있습니다(권장합니다).PureMVC만큼 복잡하지는 않지만 작업이 완료됩니다.게다가 IoC 컨테이너인데 저는 IoC를 좋아합니다.

저는 Mate를 사용해본 적이 없어서 이에 대해 언급할 수 없습니다.그러나 나는 Cairngorm을 반대하는 것을 추천합니다.Cairngorm은 오픈 소스라고 알려져 있지만 실제로는 커뮤니티에서 잘 지원되지 않습니다.출시 주기도 느리다.나는 Navigation Library가 베타에서 나올 때까지 영원히 기다려 왔습니다.

Cairngorm은 Adobe가 후원하는 프레임워크이며 현재 opensource.adobe.com에서 호스팅된다는 점을 명심하세요.또한 현재 개발자들 사이에서 단연 가장 많은 성과를 거두고 있다는 점도 참고하세요.

Cairngorm을 알고 일자리를 찾고 있다면 큰 문제는 없을 것입니다.

Cairngorm은 사용하기 쉽고 잘 문서화되어 있습니다.http://www.cairngormdocs.org/

나는 추천한다 Cairngorm 다이어그램 탐색기 그리고 에 관한 고전적인 기사 연수정.

저는 Cairngorm을 배웠을 때 Flex를 처음 접했지만 위의 내용을 통해 Flex가 유용하고 배우기 쉽다는 것을 알았습니다.

MATE가 가야 할 길입니다. 프레임워크가 해야 할 일을 수행하는 프레임워크입니다.결합 된 아키텍처 간단한 작은 발자국 효율성

저는 이러한 MVC 프레임워크(Mate, Cairgnorm 등...)가 이벤트 맵과 이벤트 컨트롤러를 구현하는 방식에 대해 다소 의문을 갖고 있습니다. 이는 wxWidgets 및 기타 유사한 종류의 GUI 툴킷을 너무 많이 생각나게 합니다.

그러나 Flex나 이러한 MVC 프레임워크 중 하나가 Qt가 제공하는 신호/슬롯 패러다임을 사용한다면 정말 좋을 것입니다.

다른 프레임워크와 마찬가지로 훌륭하고 복잡한 프로젝트를 개발하는 데 MATE를 사용하는 것이 좋습니다. Mate는 이벤트 처리, 데이터 바인딩 및 비동기 처리와 같은 Flex의 일반적인 아키텍처 문제를 해결하지만 가장 중요한 목표는 태그 기반이므로 Flex 애플리케이션에서 사용하기가 매우 쉽습니다.

네, Mate는 Flex를 위한 최고의 프레임워크입니다.나는 GUI와 백엔드 데이터 서비스 측면에서 여러 버전이 개정된 하나의 애플리케이션을 사용했습니다.변경 사항이 있을 때마다 이벤트 맵만 변경하면 되었습니다.

Mate에는 또한 테스트를 쉽게 만드는 MockService 구현이 있습니다. 이는 친구의 장점은 아니지만 하나 있으면 좋습니다.

자신의 필요에 따라 자신만의 MVC "프레임워크"를 설계해야 합니다.약간의 디자인 패턴을 알고 있다면 Flex는 기본적으로 많은 기능을 제공합니다.

자신만의 MVC를 설계할 때 가장 좋은 점은 필요에 따라 가볍거나 복잡할 수 있다는 것입니다.

프레임워크에 대한 내 경험에 따르면 기본적으로 프레임워크를 사용하지 않을 때보다 두 배 더 많은 코드를 작성해야 합니다.프레임워크의 좋은 점은 일관된 방식으로 작업할 수 있다는 점이지만, 디자인 패턴, 모범 사례 및 상식을 활용하여 일관된 방식으로 작업할 수 있다면 프레임워크를 멀리하는 것이 좋습니다.

어떤 프레임워크가 다른 프레임워크보다 낫다는 결론을 내리는 것은 매우 어렵습니다.프로젝트의 성격과 복잡성, 팀원의 전문성과 선호도에 따라 주어진 상황에서 한 사람이 다른 사람보다 더 적합할 수도 있습니다.

이 URL에는 Flex Framework에 대한 간단한 설명과 자세한 정보에 대한 포인터가 포함된 목록이 포함되어 있습니다.http://practicalflex.blogspot.com/2011/08/list-of-adobe-flex-tools-frameworks.html이 URL은 자신의 프로젝트에 대한 Flex 프레임워크를 평가하려는 모든 사람에게 도움이 될 수 있습니다.

대부분의 Flex 프레임워크를 평가한 후 Swiz 프레임워크가 새로운 개발자가 시작하기 가장 간단하고 쉽다는 것을 알았습니다.따라서 애플리케이션의 쉬운 유지 관리 및 확장성을 보장합니다.

저는 cairngorm과 mate 프레임워크 작업을 해왔습니다.저는 cairngorm 프레임워크로 시작했습니다.작업하기는 좋지만 처음에는 이해하기 어렵습니다.이벤트 전달을 영리하게 처리합니다.클래스 자체에서 이벤트를 전달할 수 있으며 이는 프레임워크에 연결된 명령 클래스에 의해 처리됩니다.데이터를 저장하는 단일 저장소가 있으므로 데이터 처리가 쉽습니다.싱글톤 클래스입니다.프레임워크를 파악하고 나면 작업이 더 쉬워집니다.반면 Mate는 태그 기반 프레임워크입니다.이벤트 기반 프레임워크이므로 모든 이벤트는 이벤트맵 파일에서 처리됩니다.이 클래스 자체에서 이벤트 수신, 속성 주입 및 기타 많은 작업을 수행합니다.프레임워크 이벤트 발송자의 인스턴스를 전달하여 클래스에서 이벤트를 전달할 수 있습니다.여기서는 cairngorm과 같은 싱글톤 클래스를 사용할 필요가 없습니다.속성 주입을 직접 사용하여 클래스의 속성을 뷰에 바인딩할 수 있으므로 싱글톤 클래스를 사용할 필요가 없습니다.Mate에서는 모든 클래스와 뷰가 프레임워크 코드에서 자유롭기 때문에 분리된 프레임워크입니다.구성 요소를 한 위치에서 다른 위치로 쉽게 이동할 수 있습니다.

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