문제

Flex와 PHP 간의 가장 좋은 통신 방법은 무엇입니까?

과거에는 AS2와 함께 AMFPHP를 사용했는데 대부분 훌륭하게 작동했습니다(AMFPHP의 장점은 Javascript 또는 Actionscript 프런트엔드와 함께 동일한 원격 PHP를 원활하게 사용할 수 있는 JSON 모드도 있다는 것입니다).

그러나 AMFPHP는 더 이상 실제로 유지 관리되지 않는 것 같습니다.그렇다면 사람들은 그것을 교체하기 위해 무엇을 권장합니까?지금까지 내가 찾은 것은 다음과 같습니다.

  1. Zend_AMF (우리에게는 너무 복잡해 보입니다. 그렇지 않으면 Zend 프레임워크를 사용하지 않습니다)
  2. AMFPHP (Flex를 지원하기 위해 일부 업데이트가 이루어졌으며 상당히 안정적인 것 같지만 장기적인 지원 여부는 확실하지 않습니다)
  3. XML (AS3에는 훌륭한 XML 처리 루틴이 있지만 PHP 측에서는 더 고통스럽습니다.)
  4. 웹ORB (저는 이런 경험이 없습니다)
  5. 우리만의 롤 JSON 또는 기타 데이터-텍스트 직렬화 시스템(php의 serialize(), XML 등) 사용

대부분 저는 단점 때문에 AMFPHP 쪽으로 기울고 있습니다. 왜냐하면 그것이 제가 익숙했기 때문입니다.다른 것으로 전환하는 것을 고려해야 할 이유가 있나요?

도움이 되었습니까?

해결책

빠르고 효율적인 의사 소통을 원한다면 AMF 프로토콜 REST 또는 JSON 사용자 정의 형식 대신.

Zendamf는 실제로 혼란스럽지 않습니다. 소개 자습서를보십시오 GotoAndLearn, 아주 간단합니다.

그리고 당신이 알다시피, 일부 개발자 AMFPHP에서 Zendamf에서 작업하기 위해 이동했습니다. 어떤 의미에서 Zendamf는 AMFPHP의 연속입니다.

다른 팁

Zendamf 좋은 짧은 읽기 - http://theflashblog.com/?p=441

나에게 이것은 똑똑하지 않다. Zend 프레임 워크는 최고의 PHP 프레임 워크 중 하나이며 이제는 Flash Clients와 대화 할 수 있습니다. Adobe Support를 사용하여 내 책에서 완료된 거래입니다.

대안 :

PHP 용 weborbhttp://www.themidnightcoders.com/products/weborb-for-php

amfphphttp://www.amfphp.com위의 URL을 읽으면 왜 이것이 더 이상 내 레이더에 있지 않은지 알게 될 것입니다.

무엇이 가장 좋은지 말씀드릴 수는 없지만(아마도 다소 주관적일 수 있기 때문입니다) 제가 할 수 있는 것은 최근 제 프로젝트에 대해 말씀드리는 것뿐입니다.

이것은 매우 풍부한 웹 앱이고 서버에 대한 데이터 요청이 빈번할 것이기 때문에 요청 크기가 가능한 한 작은지 확인하고 싶었습니다.이는 JSON을 형식으로 선택한다는 의미입니다.

다음으로, 애플리케이션의 특성과 플래시/플렉스 개발자가 1000마일 떨어져 있다는 사실 때문에 단순하고 상태 비저장 API가 필요했습니다.이는 궁극적으로 HTTP + REST로 이어졌습니다.

따라서 내 앱의 통신 계층은 다음과 같은 URI가 있는 간단한 Zend Framework 기반 REST 리소스 세트입니다.

user/10
review/15
location/8/reviews

모두 JSON을 반환합니다.플래시 클라이언트가 오류를 쉽게 처리할 수 있도록 모든 오류에 대한 공통 JSON 형식도 있습니다(예외는 트랩되어 JSON 개체로 변환됨).

Zend와 같은 프레임 워크를 사용하지 않는다면 일반 OL AMFPHP는 여전히 훌륭합니다. 당신이 그것에 대해 편안하다고 생각한다면, 왜 가지 않겠습니까? 이 AMF 인터페이스의 역할에 대한 점은 실제로 너무 많은 일을 할 필요가 없으며 AMFPHP가 클래스 매핑, ArrayCollection에 대한 레코드 세트 구문 분석, 훌륭한 성능에 대한 레코드 세트 구문 분석 ... XML과 잘 어울립니다. 압축됩니다. Charles와 결합 된 서비스 브라우저는 저를 덮었습니다.

나는 Zendamf 노력이 원래 AMFPHP와 어떤 관련이 있는지에 대해 많이 이해할 수 없었습니다. 내가 발굴 할 수있는 동안, 나는 단지 Nabble의 AMFPHP 메일 링리스트를 따르면서 Wade Arnold의 블로그를 읽는다. 그것은 완전히 명확하지 않다.

Zend AMF 사용을 고려해야합니다. Zend 프레임 워크는 선택 및 선택 프레임 워크로 설계되었으므로 응용 프로그램에 대한 단일 구성 요소 (이 경우 Zend AMF)를 선택해도 괜찮습니다.

Zend AMF는 사용하기가 매우 쉽습니다. 노출하려는 함수/클래스를 지정하고 클래스 매핑을 액션 스크립트 클래스에 지정하기 만하면됩니다. 다른 모든 것은 거의 투명합니다.

이 링크는 PHP WDMF에 WebOrb를 사용하는 방법을 보여주는 스크린 캐스트입니다 (Flex 용 WebOrb 데이터 관리).

http://www.themidnightcoders.com/products/weborb-for-php/developer-den/screencasts/weborb-data-management-for-flex-by-php.html

Flash 및 PHP 백엔드와 관련된 모든 프로젝트에서 AMFPHP 또는 XML 요청과 함께 작업했습니다.

AMFPHP는 정말 단순화합니다 실질적인 향후 유지 보수를위한 응용 프로그램은 모든 것을 해당 특정 기술과 연계하고 서버 측에 추가 오버 헤드를 포함하여 필요한 모든 클래스를 생성합니다.

XML에 따르면, 여기서 얻은 것은 표준 REST 웹 서비스이며 플래시에 의존하지 않습니다 (예 : JSON 또는 브라우저에 의존하는 다른 기술을 사용하는 반면 데스크탑 앱에서 데이터를 가져올 수 있습니다. 허용).

100% 미래의 "지원"을 원한다면 지원이 필요하지 않은 것을 권장합니다 : XML.

PHP의 XML은 훨씬 간단 할 수 있습니다 단순 렉스.

PHP API에 대한 간단한 통화에 대한 반품으로 JSON을 사용합니다.

나는 분명히 weborb에 갈 것입니다. 나는 이전 직업에서 .NET과 함께 사용했으며 코드와 함께 기쁨이었습니다. 사용 편의성과 잘 생각 관리 콘솔은 학습하기가 매우 빠르며 문서는 매우 완전합니다. 나는 그것이 당신이 이미 알고있는 것이기 때문에 AMF와 함께 머무르고 싶은 유혹을 알고 있지만, WebOrb에게 시도해 볼 가치가 있다고 생각합니다.

이것을 살펴보십시오 스크린 캐스트 PHP를 사용한 ActionScript Generation의 경우 상당히 화려합니다.

건배.

PHP는 꽤 좋습니다 serialize() 기능, 그래서 최근 프로젝트에서 (게임에 대한 높은 점수) Sephiroth의 사용을 사용했습니다. 시리얼 라이저. Flash 측의 직렬화는 PHP에서와 같이 거의 쉽게 만듭니다. Serializer는 또한 AMF와 같은 데이터 타입 (JSON/XML과 달리)을 다룹니다.

단점-AMF만큼 컴팩트하지는 않지만 GZIP 압축이 처리 할 수없는 것은 아닙니다.

AMF는 상황에 맞는 이점이 있습니다. 크고 복잡한 물체를 전송하려는 경우 AMF와 함께 가십시오. 그러나 사람들은 작은 물체를 전송할 때 AMF가 운반하는 오버 헤드에 대해 거의 알지 못합니다. 3 개의 속성이있는 객체 만 전송하는 경우 AMF를 사용하면 페이로드 크기를 세 배로 늘릴 수 있습니다.

참고로, 나는 편안한 건축을 큰 옹호자입니다. JSON과 AMF는 둘 다 표현이므로, 둘 다 받아들이는 REST 서비스를 구축하고 런타임에 고객과 실제 표현을 협상 할 수 있습니다.

"빠르고 효율적인 의사 소통을 원한다면 AMF 프로토콜을 고수하는 것이 좋습니다."

빠르고 효율적이며 일반화 된 커뮤니케이션을 원한다면 JSON과 함께 가십시오. 그런 다음 웹 서비스를 Flash, AJAX 또는 일반 HTTP 요청에 사용할 수 있습니다.

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