zombiebox
Version:
ZombieBox is a JavaScript framework for development of Smart TV and STB applications
31 lines (23 loc) • 2.19 kB
Markdown
Application architecture
========================
### Application (Приложение)
Глобальный объект приложения, который инстанцируется в точке входа и
доступен из глобальной переменной app. Наследуясь от сгенерированного
boilerplate класса, он реализует определение платформы и первоначальную
регистрацию сцен.
### Представление (View)
- _**Контейнер (Container) (мб widgetContainer?)**_ - объект, который
является контейнером для виджетов. Реализует пространственную
навигацию по помещенным в него виджетам. При наступлении события
навигации передвижение курсора или нажатие навигационных кнопок на
пульте) перемещает фокус на подходящий виджет.
- _**Слой (Layer)**_ - контейнер, основной элемент <abbr title='Document Object Model'>DOM'a</abbr>. Слоем может
быть сцена (scene) или попап (popup). Может содержать дочерние слои.
- _**Виджет (Widget)**_ - контейнер, помещающийся в слой. Управляет
своим состоянием и видимостью. Также содержит методы *beforeDOMShow,
afterDOMShow, beforeDOMHide, afterDOMHide,* которые вызываются либо
из слоя, куда включен виджет, либо при изменении видимости;
### Модель (Model)
Для структурного представления используются модели (models). Модель
(*AbstractModel)* используется как контейнер для хранения данных, с
распространением события при изменении хранимых данных (EVENT\_CHANGE).