Я тут для свого сайта давно уже потихоньку делаю движок. Концепция много раз менялась, так что мне наверное сложно будет объяснить как оно работает. При таком подходе у меня обычно получалась CMS, а тут получилось MVC в JavaScript=)
Вот код HTML:
Тэг joos:m — это javascript-компонент, аттрибут codebase — это класс компонента, ready-state — состояние компонента (бывают uninitialized, loading, loaded, interactive, complete), аттрибуты schema-* — это названия схем-шаблонов, которые надо загрузить с сервера.
После загрузки страницы подгружаются сами классы компонент и все требуемые схемы (здесь: JooS_Application, JooS_RPC_Methods и схема "schemas.methods")
Компонент класса JooS_RPC_Methods в состоянии loading загружает данные (используется Json-RPC) и выводит их внутри себя при помощи загруженного шаблона schemas.methods. Далее в состоянии loaded компонент вешает какие-то события на получившиеся HTML-элементы.
Получается, что:
Model — RPC-процедуры сервера
View — Расширенные-JsonML-шаблоны, которые приходят с сервера
Controller — это сам компонент.
Вот ссылка: joos.nnov.ru
Если интересно посмотреть поподробнее, то лучше всего это делать во вкладке Net FireBug-а на этой странице: joos.nnov.ru/?debug=1
Кросс-пост от сюда: covex-nn.ya.ru/replies.xml?item_no=250
Вот код HTML:
<joos:m codebase="JooS_Application" ready-state="uninitialized">
<joos:m codebase="JooS_RPC_Methods" schema-default="schemas.methods" ready-state="uninitialized"></joos:m>
</joos:m>
Тэг joos:m — это javascript-компонент, аттрибут codebase — это класс компонента, ready-state — состояние компонента (бывают uninitialized, loading, loaded, interactive, complete), аттрибуты schema-* — это названия схем-шаблонов, которые надо загрузить с сервера.
После загрузки страницы подгружаются сами классы компонент и все требуемые схемы (здесь: JooS_Application, JooS_RPC_Methods и схема "schemas.methods")
Компонент класса JooS_RPC_Methods в состоянии loading загружает данные (используется Json-RPC) и выводит их внутри себя при помощи загруженного шаблона schemas.methods. Далее в состоянии loaded компонент вешает какие-то события на получившиеся HTML-элементы.
Получается, что:
Model — RPC-процедуры сервера
View — Расширенные-JsonML-шаблоны, которые приходят с сервера
Controller — это сам компонент.
Вот ссылка: joos.nnov.ru
Если интересно посмотреть поподробнее, то лучше всего это делать во вкладке Net FireBug-а на этой странице: joos.nnov.ru/?debug=1
Кросс-пост от сюда: covex-nn.ya.ru/replies.xml?item_no=250