вторник, января 15, 2008

Разновидности Flex-специализаций

Яков Файн обещал флексовый бум в 2008 году. И вот он настал и флекс-программисты сейчас в большом дефиците (имеются ввиду, наверно США). В настоящий момент его команда работает над двумя проектами, суть которых состоит в переносе приложений с Java на Flex. В этих проектах естественно участвуют Flex-разработчики. Поэтому вашему вниманию предлагается их классификация:

1. Разработчики GUI (графического пользовательского интерфейса)
2. Разработчики Flex-компонентов
3. Flex-архитекторы

К первой группе относятся люди, способные создать внешний вид приложения. Это так называемая стартовая позиция в иерархии Flex-профессий. Вам необходимы лишь базовые знания программирования. Статьи и презентации евангелистов создают впечатление, что работа с Flex достаточна проста - накидал компонентов, выровнял их, повесил пару функций на кнопки и вуаля. Как Visual Basic в вебе. Этому легко обучиться самому, поэтому не ждите больших дидвидендов от этой позиции, так как многие также легко могут это постигнуть.

GUI разработчики взаимодействуют с веб-дизайнерами, которые создают шаблоны приложения.

Рассмотрим следующую позицию - разработчики компонентов. Эта каста должна объединять в себе знания предыдущей группы плюс знания в области объектно-ориентированного и событийного (event-driven) программирования. Знания паттернов проектирования также поможет, но здесь будьте осторожны. Особенно, это относится к людям, пришедшим из Java. Не злоупотребляйте паттерном MVC. Шаблон, созданный дизайнером, должен быть разбит на несколько компонентов, взаиммодействующих друг с другом. Поэтому использования паттерна Mediator здесь подойдет лучше (пример).

Также помните, что, хотя ActionScript 3 очень похож на Java, он дает нам динамическое программирование, поэтому нет необходимости создавать тонны строго определенных объектов как в Java.

Третья группа знает все, что и две предыдущие плюс эти люди имеют представление обо всем приложении в целом, о его структуре, способах взаимодействия с сервером, взаимодействия между компонентами, эффективности его работы. Flex-архитектор никогда не предложит использовать фреймворк для создания простого видео-плеера (пример). Эти знания за неделю не получишь, здесь нужно как серьезное обучение, так и практический опыт и знания других языков программирования.

В небольших командах обычно последние две специализации объединены в одном человеке. Если для вашего проекта необходимо создание собственного фреймворка на основе Flex-фреймворка, то вам понадобятся фреймворк-кодеры.

Ну и как в Голливуде:
Если вы хотите изучить Flex, дерзайте и вступайте в растущее Flex-сообщество. Решите, кем вы хотете быть и идите к этой цели. Be what you can be.

Оригинал

4 комментария:

Paul комментирует...

Дык это понятно и без этого поста, все так и есть.

Maxim Kachurovskiy комментирует...

Интересно. Спасибо за пост.

Про медиатор - это по сути паттерновая интерпретация базового принципа ООП - инкапсуляции. Думаю, объяснять это яверам не надо, они умные ребята.

Про типизированность есть разные мнения, в частности я придежриваюсь максимально строгой (в рамках разумного, не доводя до различных видов параличей) типизации.

Мне кажется (на собственном опыте), что начинающие flash-flex-разработчики считают Fl. Platf. какой-то особенной областью, в которой методы и подоходы традиционного программирования не применимы. Это совсем не так, как и то что программирование не имеет ничего общего с другими областями человеческой деятельности.

Это к тому, что описанная вами концепция разделения труда является частью стандартных концепций в методологии программирования.

Не сомневаюсь, что вам это известно, просто к слову.

Andrey Gorbatov комментирует...

Да, мне это известно. Просто хотелось конкретно написать правильными словами. И больше не для разработчиков, а для людей на букву "х":)

Анонимный комментирует...

Я вот чего-то никак не могу найти тестов производительности работающих на Flex сайтов.

Чтобы переводить функционал с Java на Flex, должна быть весьма веская причина.

Да и вопросы безопасности чего-то не особо освещены, вроде?