Flex Best Practices?

Ich habe das Gefühl, dass es einfach ist, Beispiele, Tutorials und einfache Beispiele zu Flex zu finden.
Es scheint schwieriger zu sein, auf realen Projekten basierende Tipps und bewährte Praktiken zu finden.
Irgendwelche Tipps wie:

  • Wie man wartbaren ActionScript-Code schreibt
  • Wie kann eine saubere Trennung der Bedenken sichergestellt werden? Hat jemand ein MVC-Framework wie cairngorm, puremvc oder easymvc in einem echten Flex-Projekt verwendet?
  • Wie hole ich Daten von einem Server mit Blazeds/amfphp?
  • Wie reduziert sich die Latenz für den Endbenutzer?
  • ...
0

3 Antworten

Hier sind ein paar großartige Ressourcen, die Sie für die besten Praktiken und Standards von Flex/AS3 nutzen können:

Flex SDK-Kodierungskonventionen und Best Practices

Best Practices von Flex - Teil 1: Einrichten Ihres Flex-Projekts

Die erste, die ich besonders nützlich fand, und ich versuche sicherzustellen, dass jedes Team, mit dem ich arbeite, es gelesen hat

0
hinzugefügt
Vielen Dank für diese nützlichen Links!
hinzugefügt der Autor Alexandre Victoor, Quelle

Ich arbeite oft mit Flex in meinem Job, und ich werde glücklich sein zu helfen .. aber Ihre Fragen verdienen einen Artikel für jeden :) Ich werde versuchen, eine kurze Antwort.

Wartungsfähiger Code: Ich denke, dass die gleichen Regeln anderer OO-Sprachen gelten. Einige flexspezifische Regeln, denen ich folge: Verwenden Sie stark typisierte Variablen, denken Sie immer daran, Ereignisse zu disponieren, da die Art und Weise, wie Ihre UI-Komponenten miteinander kommunizieren (ein wenig mehr anfängliche Arbeit, sehr flexibel und später entkoppelt).

Frameworks: sah es an, lesen Sie die Dokumentation .. sehr schön, aber ich habe immer noch das Gefühl, dass ihre Komplikationen nicht durch die Vorteile ausgeglichen sind, die sie bieten. Jedenfalls möchte ich meine Meinung zu diesem Punkt ändern.

Im Gespräch mit dem Server: Im Moment benutze ich BlazeDS, es funktioniert sehr gut .. es gibt viele Tutorials zum Thema da draußen, wenn Sie Probleme bei der Einrichtung haben, würde ich gerne helfen.

Latenz: Meinst du in Client/Server-Kommunikation? Wenn ja, sollten Sie die verschiedenen Arten von Kanälen, die BlazeDS implementiert zu erkunden. Pull-Only, Zwei-Wege-HTTP-Abruf, in Echtzeit auf http (Comet) .. Wenn Sie mehr brauchen, LiveCycle Data Services ES, die offizielle Implementierung von BlazeDS ist unter anderem ein anderes Protokoll namens RTMP, es ist nicht http-getunnelt, so dass es Probleme mit Firewalls und Proxies geben kann, aber es bietet eine bessere Leistung (es gibt eine kostenlose Closed-Source-Version von LCDS). Ich verwende die Standard-HTTP-Kanäle in Intranetumgebungen und habe selbst bei großen Datensätzen keine wirklichen Leistungsprobleme festgestellt.

Nun .. eine ganze Menge Zeug, kann jetzt nicht genauer auf jeden dieser Punkte, fragen Sie, wenn nötig :)

0
hinzugefügt
Danke für Ihre Antwort Über Latenz: Ich habe eine Anwendung mit einer Homepage, die Daten von vielen Diensten benötigt. Ich habe vorher mit DWR (ajax framework) benutzt, um mehrere Service Calls in einen einzelnen httprequest zu chargen. Wissen Sie, wie Sie dies mit flex erreichen können? HTTP-Kanal mit einem Befehlsmuster?
hinzugefügt der Autor Alexandre Victoor, Quelle
Warum sollten Sie Befehle in einer einzigen HTTP-Anfrage stapeln? Normalerweise codieren Sie keine solchen Details auf niedriger Ebene, sondern rufen einfach Ihre remoteobject-Methoden auf (und verwenden die XML-Konfiguration, um zu beschreiben, wie mit diesen umzugehen ist). Der einfachste Weg wäre die Erstellung eines Ad-hoc-Dienstes, der alle Daten gleichzeitig sammelt.
hinzugefügt der Autor Cosma Colanicchia, Quelle

Ich habe das MVC-Framework RIAWave link gefunden um absolut unglaublich zu sein. Es ist super leicht und einfach zu bedienen. Ich fand, dass Cairngorm und PureMVC eine ziemlich steile Lernkurve haben und beide fühlen sich für mich etwas zu umfangreich an. RIAWave bleibt aus dem Weg und gibt Ihnen nur die MVC-Grundlagen, mit denen Sie arbeiten können.

AMFPHP auf dem Backend ist auch sehr nett. AMFPHP verfügt auch über ein Apache-Modul, das für die Serialisierung/Deserialisierung der gesendeten und empfangenen Daten in C zuständig ist, was blitzschnell ist.

Wenn die Latenzzeit ein Problem darstellt, sollten Sie sicherstellen, dass Sie einen guten Webhost erhalten oder sogar auf mehrere Rechenzentren verteilt werden, damit Ihre Benutzer nie weit von einem Server entfernt sind. Hört sich allerdings etwas früh an, darüber nachzudenken.

0
hinzugefügt