Полный ActionScript 3

Мне кажется, что программисты делятся на два типа личности: пуристы и прагматики. Первые занимаются тем, как все должно быть, а вторые занимаются программированием. Пуристов восхищает элегантность их кода, а прагматиков радует, когда их код работает. Однако, к сожалению, похоже, что разработкой языков программирования по-прежнему занимаются пуристы, в то время как большинство реальных приложений пишут прагматики.

Полный ActionScript 3

Flex, а точнее его реализация последней версии ActionScript, предлагает яркий пример того, как чистота преобладает над практичностью. Я потратил большую часть последних двух месяцев на знакомство с Flex, и этот опыт во многих отношениях был очень положительный (действительно, Flex, вероятно, станет основной платформой разработки NlightN для Rich Internet Приложения). Это нормально для разработки таких приложений с нуля — я уже привык к изучению новых языков программирования и понимаю, что в ActionScript 3 есть что понравиться. Процесс разработки займет немного больше времени, пока я изучаю новый синтаксис, подход и конструкции, но это управляемо, и нет никаких сомнений в том, что хорошее знание AS2 дает фору.

Что меня гораздо больше беспокоит, так это последствия AS3 для разработчиков Flash. В какой-то момент в этом году будет выпущен Flash Professional 9, в основе которого лежит AS3. Предварительная версия была доступна с июня 2006 года, хотя она была не так полезна, как могла бы быть, поскольку ни один из ее встроенных компонентов не работал с последней версией ActionScript. Flex 1 и Flex 1.5 оказали минимальное влияние на рынок, поэтому в большинстве случаев программисты Flex 2 создают свои приложения. с нуля, но это определенно не будет иметь место для обычных Flash-программистов, как только Professional 9 будет выпущенный. У серьезных разработчиков будет много существующих проектов — возможно, очень сложных, — которые они захотят сделать совместимыми с новейший Flash Player, и проблема в том, что чем они сложнее, тем больше изменений будет делать AS3. требовать.

Что возвращает меня к спору между пуристами и прагматиками. ActionScript изначально был создан для того, чтобы графические дизайнеры быстро добавляли интерактивность и функциональность в их Flash-анимации, а AS2 расширил эту роль, чтобы с Flash 8 стать зрелым, но простым в использовании общим кодированием. язык. Я уверен, что AS3 является языком, более соответствующим стандартам, с дополнительной структурой, которая вызовет слезы радости у пуристов во всем мире, но для остальных из нас переход станет большой головной болью. Например, мы разработали проигрыватель презентаций для электронного обучения в AS2, который работает очень хорошо, но как долгосрочный продукт его необходимо поддерживать в актуальном состоянии, что означает его перевод в AS3. Проблема в том, что хотя AS3 очень похож на AS2, в некоторых отношениях он принципиально отличается. Функции и особенности, столь любимые Flash-программистами в течение многих лет, были убраны и заменены на разные структуры, которые выполняют одно и то же действие, но приближают ActionScript к «правильному» программированию язык. Больше всего раздражает то, что те функции, которые пуристская полиция сочла «плохой идеей», были убраны из язык — не просто объявлен устаревшим, как раньше, а полностью удален, что делает достижение обратной совместимости кошмар.

Признаюсь, я свободно использую две команды, которые не одобряются широким сообществом программистов. И почему я их использую? Потому что они работают! Во-первых, это функция eval. Представьте, что вы хотите изменить свойство _alpha 20 мувиклипов с именами от «clip1» до «clip20». Эти зажимы находятся внутри другого зажима, называемого «держателем». Назначение свойства каждому в отдельной строке отнимает много времени, негибко и занимает место впустую, поэтому вам вероятно, создайте цикл For, используя «n» в качестве счетчика, а в теле цикла вы поместите присваивание, например: