2008-09-18 24 views
8

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

  • cómo escribir código ActionScript mantenible
  • la forma de garantizar una separación limpia de 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?
  • ...

Respuesta

5

que trabajan a menudo con Flex en mi trabajo, y estarán encantados de ayudarle .. pero sus preguntas merecen un artículo para cada uno :) Voy a tratar de alguna respuesta corta.

Código integrable: Creo que se aplican las mismas reglas que cualquier otro idioma 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 de trabajo: lo miré, leí la documentación ... muy bien, pero aún siento que sus complicaciones no se equilibran con los beneficios que proporcionan. De todos modos, me gustaría cambiar de opinión sobre este punto ...

Hablando con el servidor: ahora estoy usando BlazeDS, funciona muy bien ... hay muchos tutoriales sobre el tema, si encuentra alguno problemas para configurarlo. Estaré encantado de ayudar.

Latencia: ¿Quiere decir en 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 buen montón de cosas, no puede ser más específico ahora en cada uno de estos puntos, preguntará si necesita :)

+0

Gracias por su respuesta Acerca de latencia: Tengo una aplicación con una página de inicio 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? –

+0

¿Por qué debería agrupar comandos en una única 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 sencilla podría ser crear un servicio ad-hoc que recopile todos los datos a la vez. –

0

He encontrado que la estructura MVC RIAWave link es 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 es muy agradable también.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 varios centros de datos para que sus usuarios nunca estén lejos de un servidor. Sin embargo, suena un poco temprano para preocuparse por eso.