|
Не изобретать велосипедСовременные флеш-сайты по процессу разработки во многом напоминают веб-приложения, выполняющиеся на стороне сервера и классические десктопные приложения, выполненные в программах, подобный C ++ Builder. Это сходство переносится и на процесс разработки:
1. Приложение разделяется на визуальную часть и код. Визуальной частью занимается дизайнер с навыками флеш-анимации, программной частью занимается профессиональный программист, имеющий опыт работы в том числе и с Adobe Flash.
Это означает, что разработчик должен уметь в принципе писать программные продукты, веб-приложения и т.д., а уже потом иметь дополнительную специализацию как флеш-программист.
2. Часть программного кода в общих чертах имеет смысл реализовать как абстрактные классы и затем использовать в каждом проекте. Набор абстрактных классов объединяется в некоторую структуру абстрактного флеш-приложения, которая не меняется коренным образом от сайта к сайту, а лишь обретает новые формы и видоизменяется.
3. Для разработки флеш-приложений применимы все подходы проектирования программных продуктов, в том числе и итеративный подход. Итеративный подход подразумевает, что на каждой стадии мы будем иметь некоторое работающее приложение в разной степени готовности, а предусмотренный функционал наращивается постепенно.
Это даёт возможность подстраиваться под изменения в техническом задании с наименьшим ущербом для сроков и стоимости проекта. |
|
Asket - Action Script 2.0 FrameworkРезультатом описанного выше подхода к разработке флеш-сайтов стал собственный каркас для проектирования флеш-приложений - Asket.
За основу были взяты концепции разделения содержания и представления, разработка приложений на основе форм, шаблон проектирования "Модель-Представление-Контроллер". Отличительными особенностями флеш-сайта как MVC-приложения являются: - редуцированный компонент "Модель" (в нашем случае Qubix CMS предоставляет данные в форме, которая, как правило, не требует никакой дальнейшей обработки);
- повышенное внимание к компоненту "Представление". Каждому разделу соответствует своя форма, состоящая из муви-клипа и соответсвующего класса, а также большое колличество вспомогательных классов, занимающихся именно визуальным отображением
- контроллер для группы разделов представляет собой метод (методы) родительской формы. Для основных разделов родительской формой является класс App, для подразделов родительской формой является класс формы соответсвующего раздела
|
|
ПреимуществаНачинающие программисты, заглядывая в различные каркасы проектирования, в том числе и в Asket, часто говорят, что могут сделать то же самое меньшим колличеством кода. Тем не менее, существует ряд преимуществ, которые даёт хорошо продуманная и проверенная на многих проектах модель проектирования:- общее пространство имён для классов, методов и свойств - это позволяет организовать коммандную работу над проектом на основе соглашений об именовании и осуществлять поддержку уже созданных проектов другим разработчиком с минимальными накладными расходами;
- стандартная структура для типовых проектов - не нужно каждый раз заново реализовывать одно и то же с нуля;
- предсказуемый результат - проверенная структура взаимодействия быстрее реализуется и требует меньше времени для отладки.
|