En Uriana, el proceso de carga de módulos está automatizado. Cada submódulo tiene un controlador principal al que se asocian subcontroladores de sección si fueran necesarios y los mediadores de los recursos que el módulo aloja.
El problema que veo es que tendrías que cambiar la app y los módulos para que usen Uriana, que puede ser mucho trabajo así de golpe. Los mediadores establecen las reglas de comunicación entre el recurso que alojan y el resto de la aplicación; es decir, registran los eventos que desean escuchar desde la Aplicación (para mediar en la gestión de la operativa del recurso), así como en caso de ser necesario, exponen un API pública para la gestión directa del recurso. De esta forma, un recurso siempre se comparte de forma estandarizada al resto de la aplicación, bien en base al paso de eventos, bien mediante el acceso directo al mediador que lo gestiona desde cualquier otro mediador, independientemente de la ubicación física de ambos mediadores. En el proceso de carga de los módulos, dicho controlador es linkado con el controlador de la aplicación, así que cualquier evento lanzado desde cualquier mediador en la aplicación puede ser recibido por cualquier mediador que haya declarado su interés en escucharlo, con independencia de cómo estos han sido incorporados a la aplicación. En la descarga de módulos, también se ha automatizado la limpieza de recursos. Se que falta mucha información sobre Uriana, pero posiblemente sea de tu interés darle una vuelta. Para usar el framework, conecta al repositorio, enlaza con los proyectos (com.uriana.flex.framework.core, com.uriana.flex.framework.core.extensions y com.uriana.flex.framework.application. Si vas a realizar aplicaciones para mobile: com.uriana.flex.framework.mobile). Simplemente precisas hacer un build para obtener los swc. Realmente para las aplicaciones sólo necesitas el com.uriana.flex.framework.application.swc o el com.uriana.flex.framework.mobile.swc Los otros son sólo para construir. Te recomiendo que lo hagas en un workspace independiente y luego tomes los swc generados y los pegues en tu proyecto como librerías. Lo único que con Uriana, lo mismo ya no necesitas RobotLegs, eso ya al gusto. Lo bueno de Uriana, a mi parecer es: - Obliga a seguir una programación estructurada. (Fuerza a colocar el código en lugares concretos). - Ofrece muchos mediadores preconstruidos para Desktop, Web y Mobile. - La arquitectura de aplicación y enlace de piezas está automatizado, lo que convierte el proceso de desarrollo en crearse los mediadores custom que se precisen y la esctructura de controladores que se desee. - Sólo se precisa extender las clases base para que el comportamiento se personalice a la aplicación a construir. - Sigue el patrón simplificado Mediador(Recurso) - Controlador. - Está portado a varias tecnologías como: J2EE, GWT, C#, Android SDK (este último aún en construcción). No me extiendo más, si te interesa tener más información sobre cómo funciona el framework, no dudes en preguntar. El 18 de enero de 2015, 21:56, mjingo <[email protected]> escribió: > Gracias Carlos por tan pronta respuesta. > > Pero cómo se implementa uriana para obtener lo que necesito?. > > Te comento algo más: > > Estoy usando FlashBuilder + Flex 4.5 + Robotlegs 1.5.2 > > Ele tema es que tengo varias aplicaciones swf, y cada una carga un modulo > con *ModuleLoader*. Hasta aquí todo funciona bien. Es decir que desde la > aplicación principal cuyo swf se carga directamente en el navegador puedo > enviar datos mediante SharedEvents hacia un formulario que se encuentra en > su módulo hijo cargado con ModuleLoader. > > Como son varias aplicaciones principales decidí organizarlas y llamarlas > desde una Aplicación superior (por decirlo así), mediante SWFLoader, y es > aquí donde me he encontrado con el problema que el modulo cargado en la > SubAplicacion no logra escuchar los SharedEvents que su Padre contenedor > dispara; y creo que a lo mejor está escuchando al PadreSuperior, el cual no > dispara nada de eventos, a ese sólo lo uso para organizar las > subaplicaciones. > > He intentado hacerlo con algo así: > var sharedEvent:IEventDispatcher > =systemManager.rawChildren.getChildAt(1).loaderInfo.sharedEvents > > igual funciona sólo cuando la aplicacion es llamada directamente, pero si > lo > llamamos como subaplicacion..... no funciona > > No sé de qué otra forma podría hacerlo, tal vez usando interfaces..... no > sé. > > Por favor si me pueden echar una mano. > > Gracias > > > > > -- > View this message in context: > http://apache-flex-users.2333346.n4.nabble.com/SharedEvents-entre-Applications-Subapplications-Modules-tp9427p9429.html > Sent from the Apache Flex Users mailing list archive at Nabble.com. >
