J'aimerais pouvoir comprendre comment développer une application Flex afin de pouvoir fournir des classes d'implémentation lors de l'exécution. Dans le monde Java, je spécifierais des interfaces dans un JAR (par exemple myapp-api.jar), l'implémentation dans un JAR séparé (par exemple myapp-impl.jar) et les empaqueterais avec d'autres ressources dans l'application WAR (par exemple myapp. guerre). Dans le code de l'application, j'instancierais dynamiquement les classes d'implémentation.Développement d'applications Flex modulaires
Cette approche est-elle possible dans Flex? Je suis conscient que je peux instancier des classes dynamiquement, c'est un bon début. Je suis un peu confus par les modules, les RSL et les SWC. Je souhaitais créer une application SWF qui avait des références à une interface SWC et une mise en œuvre SWC. L'idée est que si j'ai besoin de modifier l'application pour un client spécifique, je pourrais créer un nouveau SWC d'implémentation et ne pas avoir à modifier le SWF ou l'interface SWC.
Des idées?
Merci pour la réponse Simon. J'ai réussi à compiler une interface SWC et une implémentation SWC (interfaces moins) en utilisant compc/ant. Je suppose que la prochaine étape consiste à compiler les interfaces SWC dans l'application, puis de charger l'implémentation SWC à l'exécution. Je veux vraiment éviter de recompiler l'application principale si possible. Idéalement, je voudrais passer un paramètre au fichier SWF pour indiquer l'implémentation que SWC doit charger lors de l'exécution. Je comprends que seuls les fichiers SWF peuvent être chargés, donc je vais devoir trouver comment contourner cela - par exemple. puis-je convertir SWC en SWF ou extraire le SWF du SWC et l'utiliser? – ukdavo
Vous pouvez obtenir un swf à partir d'un swc en décompressant le swc. Vous pouvez charger le swf à l'aide de la classe Loader. Si vous souhaitez que le code partage le même contexte, vous devez probablement définir le domaine d'application du chargeur sur le même domaine que le reste de votre application (je ne suis pas sûr que par défaut ou non). –