Цитата:
Сообщение от caseyryan
Прога на as3 состоит из цельного файла, а не из отельных, как например набор Java файлов. Так что обновлять все равно придется все приложение, и гуи и контроллеры и модели
|
Я это знаю. Но, хочу здесь немного поспорить, не знаю на сколько правильны мои рассуждения, но вот примерно что я придумал.
Создаем AIR-проект с интерфейсом IClient для доступа к NativeApplication и сервисам ( так как эта часть не измена ).
Далее создаем отдельный обычный ActionScript проект с мейном реализующий интерфейс IApplication который имеет метод clientHandler(client:iClient).
Соответственно Air-проект при старте приложения проверяет на наличие нового Application на удалённом хосте и если что делает обновления локального swf. Далее помещает его на сцену и передает в clientHandler модель Client, что бы Application мог достучатся к NativeApplication.
Далее расширяем IClient для получения списка всех доступных Application ( к примеру рассмотрим что у нас площадка с несколькими отдельными играми и список доступных App реализовывается в Client).
Соответственно Client будет иметь модель User c основными данными по авторизации пользователя, такие как логин, пароль, баланс. А уже в подгружаемом Application мы используем User для своих целей имея глобальный доступ к NativeApplication, сервисам и User.
Далее уже отдельный Application мы можем разбить на Бизнес-логику и GUI. Таким образом можно конечно разбить и сами Application на страницы, но это будет слишком муторным, так как при обновлении части проекта нужно будет перекомпилировать другие части использующие обновленный интерфейс или класс.
Таким образом у нас получается один AIR-проект который сможет обновлять/добавлять свои компоненты ( игры ) без компилирования всех компонентов системы в целом.