Flex mejores prácticas?

Tengo la sensación de que es fácil encontrar muestras, tutoriales y ejemplos simples sobre Flex.
Parece más difícil encontrar sugerencias y buenas prácticas basadas en proyectos de la vida real.
Cualquier consejo sobre cómo:

  • Cómo escribir código de ActionScript mantenible
  • Cómo garantizar una separación clara de la preocupación. ¿Alguien ha usado un framework MVC como cairngorm, puremvc o easymvc en un proyecto real de Flex?
  • ¿Cómo recuperar datos de un servidor con blazeds/amfphp?
  • ¿Cómo reducir la latencia para el usuario final?
  • ...
0
agregado
Puntos de vista: 3

3 Respuestas

Aquí hay un par de recursos geniales para hacer con las mejores prácticas y estándares de Flex/AS3:

Convenciones de codificación y mejores prácticas de Flex SDK

Mejores prácticas de Flex: parte 1: configurar su proyecto Flex

El primero que encontré especialmente útil e intento asegurarme de que todos los equipos con los que trabajo hayan leído

0
agregado
muchas gracias por estos enlaces útiles!
agregado el autor Alexandre Victoor, fuente

Trabajo a menudo con Flex en mi trabajo, y estaré encantado de ayudarle ... pero sus preguntas merecen un artículo para cada una :) Intentaré con una breve respuesta.

Código de Maintenable: creo que se aplican las mismas reglas de cualquier otro idioma de OO. Algunas reglas específicas de Flex que utilizo para seguir: uso de fuertes variables tipadas, siempre considere despachar eventos como la forma en que sus componentes UI se comunican entre sí (un poco más de trabajo inicial, muy flexible y desacoplado más adelante).

Marcos: lo miré, leí la documentación ... muy bien, pero aún siento que sus complicaciones no se equilibran con los beneficios que brindan. De todos modos, me gustaría cambiar de opinión sobre este punto ...

Hablando con el servidor: en este momento estoy usando BlazeDS, funciona muy bien ... hay muchos tutoriales sobre el tema, si encuentra algún problema al configurarlo, me complacerá ayudarlo.

Latencia: ¿te refieres a las comunicaciones de cliente/servidor? Si es así, debe explorar los diversos tipos de canales que BlazeDS implementa ... sondeo HTTP bidireccional y de doble vía, casi en tiempo real en http (cometa). Si necesita más, LiveCycle Data Services ES, la implementación commrcial de Nace BlazeDS, entre otras cosas, ofrece otro protocolo llamado RTMP, no tiene túnel de http, por lo que puede haber problemas con los servidores de seguridad y los servidores proxy, pero ofrece un mejor rendimiento (hay una versión de código cerrado de LCDS). Utilizo los canales http estándar en entornos de intranet y no encontré problemas reales de rendimiento incluso con grandes conjuntos de datos.

Bueno ... un montón de cosas, no puede ser más específico ahora en cada uno de estos puntos, pregunta si es necesario :)

0
agregado
Gracias por su respuesta Acerca de la latencia: Tengo una aplicación con una página principal que necesita datos de muchos servicios. He usado antes con DWR (framework ajax) para agrupar varias llamadas de servicio en una sola httprequest. ¿Sabes cómo lograr esto con flex? canal http con un patrón de comando?
agregado el autor Alexandre Victoor, fuente
¿Por qué debería combinar comandos en una sola solicitud HTTP? Por lo general, no codifica contra dichos detalles de bajo nivel, simplemente llama a los métodos de su objeto remoto (y usa la configuración xml para describir cómo manejarlos). La forma más simple podría ser crear un servicio ad-hoc que recopile todos los datos a la vez.
agregado el autor Cosma Colanicchia, fuente

He encontrado que el marco MVC RIAWave enlace para ser absolutamente increíble. Es súper ligero y fácil de usar. Descubrí que Cairngorm y PureMVC tienen una curva de aprendizaje bastante empinada y ambos se sienten demasiado voluminosos para mí. RIAWave se mantiene fuera del camino y solo le brinda los conceptos básicos de MVC para trabajar.

AMFPHP en el backend también es muy agradable. AMFPHP también tiene un módulo de apache que se ocupará de serializar/deserializar los datos enviados y recibidos, todo en C, que es increíblemente rápido.

Si la latencia es una preocupación, querrá asegurarse de obtener un buen servidor web o incluso implementarlo en múltiples centros de datos para que sus usuarios nunca estén lejos de un servidor. Sin embargo, suena un poco temprano para preocuparse por eso.

0
agregado