2010-04-19 16 views
6

¿Cuál es la mejor manera de organizar módulos de funcionalidad en un proyecto flexible? Vi a algunas personas poner todos los módulos en una sola pila de vistas, por lo que la interfaz de la aplicación solo se carga una vez, pero cuando la aplicación aumenta, todo el swf compilado sería muy grande. Si colocamos swfs en diferentes páginas, pasamos los parámetros de solicitud a través de la solicitud HTTP, perdemos los beneficios de los servicios Flex RPC, carga lenta, y no podemos ver ninguna comparación superior con php, asp, jsp ... ¿cuál es la mejor práctica? organizar la arquitectura de front-end?Flex project architecture?

Respuesta

2

Esta es una pregunta difícil y depende de su aplicación. He estado luchando con esto por bastante tiempo, por lo que estoy interesado en ver otros enfoques también.

En términos de arquitectura, normalmente creo una aplicación de "marco" que se ocupa de cargar módulos y generalmente también mostrarlos. Este marco generalmente también maneja problemas como la autenticación. Si se trata de una viewstack o una solución diferente no es tan importante. Pero lo que generalmente no quieres es que todo esté empaquetado en un archivo SWF gigante porque Flash Player tendrá que cargarlo todo antes de mostrar realmente nada.

Un problema relacionado que generalmente surge cuando se diseñan aplicaciones es cómo manejar la "navegación" dentro de la aplicación resultante. Normalmente termino construyendo algún tipo de evento de navegación que se maneja en parte por el marco (módulos de carga) y/o los módulos reales. Pero de nuevo, esto es solo mi comprensión, tengo curiosidad por escuchar otros enfoques.

1

Los módulos se cargan a pedido. Entonces, el tamaño del swf principal no debería depender de la cantidad de módulos. Sin embargo, el tamaño de la memoria utilizada aumentará al cargar los módulos; si esto es un problema, puede intentar descargarlos (no es una tarea fácil, pero puede hacerlo). Así que mantendría el enfoque de vista de pila.

0

Hace un tiempo co-creé un marco para aplicaciones Flex grandes llamado Anvil. El proyecto está bastante muerto, pero los patrones arquitectónicos que usamos en Anvil siguen siendo relevantes para aplicaciones grandes. Puede leer más sobre la arquitectura de Anvil here. También es posible que desee consultar UcompOS.