Показать сообщение отдельно
Старый 26.12.2013, 23:05
AlexCooper вне форума Посмотреть профиль Отправить личное сообщение для AlexCooper Найти все сообщения от AlexCooper
  № 3  
Ответить с цитированием
AlexCooper
 
Аватар для AlexCooper

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Цитата:
Сообщение от 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-проект который сможет обновлять/добавлять свои компоненты ( игры ) без компилирования всех компонентов системы в целом.
__________________
return this...