Frage

Was ist die beste Methode für die Kommunikation zwischen Flex und PHP?

In der Vergangenheit habe wir AMFPHP mit AS2, und es funktionierte großartig für den größten Teil (Vorteil AMFPHP ist, dass es auch einen JSON-Modus hat, die Sie nahtlos den gleichen Remote-PHP entweder mit Javascript oder Actionscript-Frontends verwenden lassen) .

Allerdings scheint es, wie AMFPHP ist nicht wirklich mehr gepflegt. Also, was tun empfehlen Menschen, sie zu ersetzen? Bisher, was ich gefunden habe ist:

  1. Zend_Amf ( zu komplex für uns aussieht, sind wir nicht mit dem Zend Framework sonst)
  2. AMFPHP (es einige gemacht wurden aktualisiert Flex zu unterstützen, und es scheint, ziemlich stabil, aber auf langfristige Unterstützung)
  3. nicht sicher
  4. XML (AS3 schöner XML-Handling-Routinen hat, aber es ist eher ein Schmerz auf der PHP-Seite)
  5. WebORB (Ich habe keine Erfahrung mit this)
  6. Roll unsere eigene mit JSON oder einem anderen Daten-zu-Text-Serialisierung System (PHP serialize (), XML, etc etc)

Meist ich bin Neigung in Richtung AMFPHP, auch wegen der Nachteile, denn das ist, was ich gewohnt bin. Gibt es Gründe, ich sollte die Umstellung auf etwas betrachten sonst?

War es hilfreich?

Lösung

Wenn Sie eine schnelle und effiziente Kommunikation haben wollen, empfehle ich kleben hoch mit einem href="http://en.wikipedia.org/wiki/Action_Message_Format" AMF-Protokoll anstelle eines REST oder JSON benutzerdefinierten Format.

ZendAMF ist eigentlich nicht sehr verwirrend. Siehe die Einführung Tutorial auf GotoAndLearn , es ist ganz einfach.

Und nur damit Sie wissen, einige der Entwickler von AMFPHP bewegt auf ZendAMF zu arbeiten. In einem gewissen Sinne, ZendAMF ist die Fortsetzung der AMFPHP.

Andere Tipps

ZendAMF Gute kurze lesen - http://theflashblog.com/?p=441

Für mich ist das Klacks. Das Zend Framework ist eine der besten PHP-Frameworks gibt, und jetzt können Sie auf Flash-Clients sprechen. Top es mit Adobe-Support, das ist beschlossene Sache in meinem Buch aus.

Alternativen:

WebORB für PHP http://www.themidnightcoders.com/products/weborb-for-php

AMFPHP http://www.amfphp.com Wenn Sie die URL oben lesen, werden Sie wahrscheinlich wissen, warum dies nicht mehr auf meinem Radar ist.

Ich kann Ihnen nicht sagen, was am besten ist (denn das ist wahrscheinlich etwas subjektiv sowieso), aber was kann ich tun, ist, dass Sie über ein aktuelles Projekt von mir erzählen.

Da dies ein sehr reicher Web-App war und Datenanfragen an den Server wären häufig, wollte ich die Größe der Anforderungen, um sicherzustellen, so klein wie möglich war. Dieser Mittelwert der Wahl JSON als Format.

Als nächstes becuase der Art der Anwendung und die Tatsache, dass mein Flash / Flex-Entwickler 1000 Meilen entfernt war, brauchte ich eine API, die einfach und staatenlos war. Dies führte schließlich zu uns HTTP + REST.

die Kommunikationsschicht meiner app So ist ein einfaches Zend Framework basiert Reihe von REST-Ressourcen mit URIs wie

user/10
review/15
location/8/reviews

Alle Rückkehr JSON. Es gibt ein gemeinsames JSON-Format für alle Fehler, aber auch (Ausnahmen sind gefangen und umgewandelt in JSON-Objekte), so dass der Flash-Client leicht Ausfall verarbeiten kann.

Wenn Sie nicht einen Rahmen wie Zend, regelmäßige ol AMFPHP ist immer noch groß verwenden, wenn aus keinem anderen Grund, als dass es einfach ist. Ich denke, wenn man damit wohl fühlen, warum nicht für ihn gehen? Die Sache über die Rolle dieser AMF-Schnittstellen ist, dass sie wirklich brauchen, um nicht zu viel zu tun, und was AMFPHP hat in der Klasse Mapping haben, Cord-in Arraycollection Parsen, große Leistung .... es auch tut gut mit XML, da es wird komprimiert. Der Service-Browser mit Charles kombiniert hat mich als gut abgedeckt.

Ich habe nicht in der Lage gewesen, viel Sinn, wie der ZendAMF Aufwand bezieht sich auf die ursprüngliche AMFPHP zu machen. Während ich graben kann, bin ich nur sagen, dass die AMFPHP Mailing-Liste in der folgenden auf Nabble, Lesen Wade Arnold Blog ... es ist nur nicht ganz klar.

Sie sollten prüfen, Zend AMF verwenden. Das Zend Framework ist so konzipiert, ein Pick und wählte Rahmen sein, so dass es völlig in Ordnung ist, eine einzelne Komponente (in diesem Fall Zend AMF) für Ihre Anwendung auszuwählen.

Zend AMF ist extrem einfach zu bedienen. Alles, was Sie tun müssen, ist, die Funktionen / Klassen, die Sie Klassenzuordnung zu Ihrer Aktion-Skript-Klassen verfügbar machen möchten angeben und angeben. Alles andere ist ziemlich transparent.

Dieser Link ist ein Screencast zeigt, wie WebORB für PHP WDMF (WebORB Data Management für Flex) verwenden.

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

In allen Projekten mit Flash und PHP-Backend, arbeitete ich mit entweder AMFPHP oder XML-Anforderungen.

AMFPHP vereinfacht wirklich understanting die Anwendung für die zukünftige Wartung, obwohl es die ganze Sache auf diese spezielle Technologie bindet und beinhaltet einigen zusätzlichen Aufwand auf der Serverseite -. Alle benötigten Klassen erstellen

Wie pro XML, gut, was Sie hier sind gewinnen Standard REST Web Service und es hängt nicht von Flash (Sie Daten von einer Desktop-Anwendung als auch ziehen könnten, zum Beispiel, während mit JSON oder jede andere Technologie abhängig von Browsern erlaubt nicht dafür).

Wenn Sie 100% Zukunft „Unterstützung“ wollen, dann würde ich empfehlen, was keine Unterstützung braucht überhaupt. XML

XML auf PHP kann viel einfacher sein, mit SimpleXML .

Ich würde nur JSON verwenden, wie Ihre Rendite für einfache Anrufe gegen Ihre PHP api.

Ich würde auf jeden Fall für WebORB gehen. Ich habe es mit .NET in einer früheren Arbeit, die ich hatte und es war eine Freude, zu kodieren mit. Seine einfache Bedienung und seine gut durchdachte Management-Konsole machen es sehr schnell zu lernen, und die Dokumentation ist sehr komplett; Ich weiß, es ist verlockend, mit AMF zu bleiben, nur weil es ist, was Sie bereits wissen, aber ich glaube, es lohnt sich WebORB einen Versuch zu geben.

Werfen Sie einen Blick auf diese Screencasts für Actionscript Generation mit PHP, es ist ganz Besonderes.

Prost.

PHP hat eine ziemlich gute serialize() Funktion, so dass für ein neues Projekt I (hohe Werte für ein Spiel) tat, ich Sephiroths Serializer . Es macht die Serialisierung auf Flash-Seite fast so einfach, wie es in PHP ist. Serializer befasst sich auch mit Datentypen (im Gegensatz zu json / xml) wie AMF.

Kehrseite -. Es ist nicht so kompakt wie AMF, aber das ist nichts gzip-Komprimierung nicht verarbeiten kann

AMF hat einen ziemlich situations Vorteil. Wenn Sie schauen, großes und komplexes Objekt zu übertragen, mit allen Mitteln mit AMF gehen. Aber wenig tut Menschen über den Kopf wissen, dass AMF trägt, wenn Sie kleine Objekte sind zu übertragen. Wenn Sie nur ein Objekt mit 3 Eigenschaften zu übertragen, AMF mit Ihrer Nutzlast Größe verdreifachen kann.

Auf einer Seite zur Kenntnis, ich bin ein großer Verfechter von RESTful-Architektur. Da JSON und AMF beide nur Darstellungen sind, können Sie einen REST-Dienst aufbauen, die sowohl akzeptiert, und die tatsächliche Darstellung mit Ihrem Kunden zur Laufzeit aushandeln.

„Wenn Sie eine schnelle und effiziente Kommunikation haben wollen, empfehle ich mit einem AMF-Protokoll kleben“

Und wenn Sie eine schnelle, effiziente und generalisierte Kommunikation wollen, gehen Sie mit json. Dann wird Ihr Web-Service zu blinken zur Verfügung, Ajax oder regelmäßigen HTTP-Anfragen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top