Flex и RIA блоги
2008-05-30 |
Пример динамического наложения двух mp3 Поигрался с примером Tinic Uro по поводу новых методов класса Sound, в частности, extract():
|
В этом году «Russian Flash Awards» пройдет в «космическом стиле» Интересное совпадение: организаторы Russian Flash Awards как бы предвидели стилистику вышедшего недавно Flash Player 10, кодовое имя которому — Astro, и синхронизировались стилями с новым проигрывателем? Хочу напомнить вам, что до 1 июня вы еще можете подать заявку на участие в церемонии награждения победителей и тем самым получить возможность приобрести билет на церемонию со скидкой в 50% (итого заплатиы 4 тыс. рублей). Приведу официальный пресс-релиз:
10 июня в московском клубе «Меццо Форте» состоится третья Церемония вручения Премии в области flash-разработок «Russian Flash Awards 2008». Организаторами Премии выступают корпорация «Adobe Systems» и российская IT-компания «Флексис». Организационную и PR-поддержку мероприятия осуществляет агентство «Гуров и партнеры».
«Russian Flash Awards» является одним из знаковых событий в мире информационных технологий и искусства. Среди работ будут представлены лучшие российские и зарубежные flash-проекты в девяти номинациях: Art, Коммерция, AIR/Flex, Игра, Анимация, Мультипликация, Техническая заслуга, Видео, 3D. В церемонии награждения примут участие представители органов власти, руководители российских и зарубежных компаний, видные деятели культуры, звезды шоу-бизнеса, журналисты авторитетных СМИ и телеканалов, а также талантливые специалисты в области IT. Мероприятие будет проходить в космической стилистике. Гостей праздника ждет музыкальная программа с участием диджея Svet'а, а также «космические» призы и подарки. <----- конец пресс-релиза. Кстати, о победителях. Уже неоднократно я встречал нарекания типа "а почему эта работа (вкусняшка) не победила, а победила вот эта (какашка)?". Друзья, но разве бывает так, что мнения одинаковы? Реально — на любой аргумент "за" что-либо всегда можно найти еще больше аргументов "против". А вот член жюри RFA Иван Дембицкий подробно рассказывает о том, как именно он оценивал работы. И еще: сколь пафосно ни звучит пресс-релиз — но факт заключается в том, что событий, подобных RFA, действительно нет, и фраза о том, что «Russian Flash Awards» является одним из знаковых событий в мире информационных технологий и искусства — верна. |
Хороший стиль Flex-программирования. Форматирование Здесь речь пойдет о том, как лучше оформлять файлы Flex-фреймворка. Статья Formatting. Форматирование Длина строки Используйте перенос на следующую строку, если длина строки превышает 80 символов. Это дает следующие преимущества:
Отступы Используйте отступы в 4 пробела. Настройте редактор так, чтобы вместо символа табуляции вставлялись символы пробелов. Это необходимо для того, чтобы в код выглядел без искажений в программах с другой системой формирования отступов. Например Notepad отображает отступы в 8 символов. Разделительные блоки Код необходимо разбивать на разделы, а полученные разделы - озаглавливать. Для этого используйте большой и малый разделители. Большой разделитель выглядит следующим образом: //-------------------------------------------------------------------------- // // Overridden methods // //-------------------------------------------------------------------------- Блок большого разделителя начинается с 4-го символа строки и заканчивается на 80-м. Текст начинается с 8-го символа. Малый разделитель выглядит следующим образом: //---------------------------------- // visible //---------------------------------- Блок малого разделителя начинается с 4-го символа строки и заканчивается на 40-м. Текст начинается с 8-го символа. Необходимо вставлять одну пустую строку до и одну после каждого разделителя. Разделение блоков объявления Используйте одну пустую строку для разделения блоков объявления констант, переменных, функций: Метаданные можно: Inspectable[a="1", b="2"] Индексирование массивов Не ставьте пробелы: можно: a[0] Расстановка запятых После запятой, оставляйте один пробел. Это правило распространяется на список аргументов, элементы массива, свойства объекта. Массивы Ставьте один пробел: можно: [ 1, 2, 3 ] Исключение составляет только пустой массив: Если строка инициализации массива слишком длинна, разбивайте ее на несколько строк с выравниванием квадратных скобок: static var numberNames:Array /* of String */ = Объекты Ставьте один пробел: можно: { a: 1, b: 2, c: 3 } Исключение составляет только пустой массив: Если строка инициализации объекта слишком длинна, разбивайте ее на несколько строк с выравниванием квадратных скобок: private static var TextStyleMap:Object = Функции Пример форматирования: var f:Function; Объявление типов Не ставьте пробелы до и после двоеточия, которое разделяет имя переменной, параметра, или функцию от типа. можно: var n:Number; можно: function f(n:Number):void Ставьте пробелы до и после оператора присваивания: Ставьте пробелы до и после инфиксного оператора: Ставьте пробелы до и после оператора сравнения: Не ставьте пробел между префиксным оператором и операндом: Не ставьте пробел между операндом и постфиксным оператором: Операторы Начинайте каждый оператор с новой строки. Это дает возможность установить контрольную точку (breakpoint) на любой из операторов. Всегда выравнивайте фигурные скобки блоков операторов: function f():void Нельзя: function f():void { Объявление функций Ставьте один пробел после каждой запятой. Никогда не ставьте пробелов после левой скобки и перед правой скобкой: Если список параметров переносится на другую строку, перенесенные строки должны иметь отступ на уровне первого параметра после левой скобки. Можно располагать несколько параметров на одной строке, только если они умещаются. В ином случае, располагайте каждый параметр на отдельной строке. Если четный параметр не умещается, перенесите первый параметр на следующую строку с отступом на уровне начала имени функции.
Вызов функций Ставьте один пробел после каждой запятой. Никогда не ставьте пробелов после левой скобки и перед правой скобкой: Оператор if Ставьте пробел между ключевым словом if и левой скобкой. Никогда не ставьте пробелов после левой скобки и перед правой скобкой: Оператор for Ставьте пробел между ключевым словом for и левой скобкой. Никогда не ставьте пробелов после левой скобки и перед правой скобкой: Если описание цикла переносится на другую строку, перенесенные строки должны иметь отступ на уровне первого символа после левой скобки:
Оператор switch Ставьте пробел между ключевым словом switch и левой скобкой. Никогда не ставьте пробелов после левой скобки и перед правой скобкой: Комментарий По всей видимости исходная статья находится на стадии разработки, т.к. под конец вылезло множество ошибок и обрывков фраз. Сделаю ревизию через пару месяцев. В основном, всё логично и выполнимо. Последний FlashDevelop успешно реализует эти правила в своем автокомплите. Теперь стало ясно, почему они так резко изменили политику расстановки фигурных скобок функций, а именно, перенос левой фигурной скобки на следующую строку. Честно говоря, я с этим переносом намучался, поскольку при переходе на стиль форматирования FlashDevelop, я специально переучивался оставлять левую скобку на строке с определением функции. А тут вдруг огорошили... И опять возвращаться к прежнему формату. Ну всё. Следующий проект начинаю правильно форматировать. Кстати, о проектах, которые сделаны в старом (не по правилам) формате. Часто приходится к ним возвращаться, дорабатывать, улучшать. Но уже трудно работать по-старому. Как тут быть? На переформатирование времени тратить не хочется. Где взять такой реформатер??! Пока для себя я держу правило - работать в контексте стиля программирования дорабатываемого кода. Мой это код или чужой - всё равно следовать правилам текущего документа. Остался маленький "хвостик" про ASDoc, который мы сейчас и разберем. |
2008-05-29 |
Нет в жизни счастья: новые проблемы для Flash Player Не успели мы обрадоваться выходу апдейта безопасности 9ого плеера, как снова начались проблемы… |
В проект MoeKorolevstvo.ru требуется АС3 программист, Москва Параметры:
Подробности: Игра на данный момент работает в режиме закрытой беты; вы можете запросить приглашение, обозначив, откуда пришли. Требуется программист, который не будет бояться ломать то, что работает, ради того, чтобы сделать лучше без апокалиптических последствий. Движок игры технически переходит на новый уровень развития и нужна еще одна голова и еще пара-тройка рук. Если ко всему этому вы интересуетесь игростроением и игровым фольклором, знаете, чем orc отличается от ork, откуда взялась фраза "Dopefish Lives!" и умеете колонизировать незнакомые планеты — это большой плюс. Далее — почта для прямой связи и перспектива работы в хорошей компании. Только что заново понял фразу "работа в хорошей компании". Это когда работаешь вместе с хорошими людьми. |
Флэш-дизайн и анимация на глобусе украинского дизайна :-) JabbyPanda порадовал ссылкой на раздел Флэш-дизайн и анимация в Украине каталога, размещенного на сайте zud.com.ua. Как пишут авторы, этот каталог — самый полный каталог украинского дизайна в сети, и хорош он тем, что редактируется двумя усердными редакторами, а не всеми желающими. То есть спам и мусор в нем исключены. Эта попытка навести чистоту очень радует. Смелый шаг в эпоху кромешного вебдваноля и как-бы-сетевой-демократии — пожелаю этому ресурсу достойного наполнения. |
Хороший стиль Flex-программирования. Структура файла Сегодня мы поговорим о том, как правильно организовать структуру файла Flex-фреймворка. Оригинальный текст: File Organization. По этой теме информации пока не много - большая ее часть в разработке. Структура файла Порядок организации файла следующий:
Блок Copyright Вставляйте в каждый .as-файл фреймворка блок copyright. Текст open-source copyright '2008 можно посмотреть здесь: Блок Copyright. Ширина блока - 80 символов. Метаданные класса Группируйте метаданные в разделы, в следующем порядке:
Вставляйте малый разделитель перед каждым разделом. (О большом и малом разделителях будет написано в следующей главе "Форматирование"). В каждом разделе располагайте метаданные в алфавитном порядке по имени Код примера можно посмотреть здесь: Организация метаданных класса. Подключение файла Version.as В каждый класс необходимо подключать файл Version.as, содержащий объявление константы с номером версии Список констант класса Здесь объявляются статические константы Список "mix-ins" Здесь объявляются любые статические переменные типа Function, которые принимают ссылки на методы, но не объявляются в качестве методов. (Понятие mix-in я раскрыл так, как смог понять - возможно я ошибаюсь). Свойства класса (static) Здесь объявляются статические установщики и получатели (getter/setter) класса. Располагайте их в алфавитном порядке по имени свойства. Для каждого, используйте подзаголовок с именем свойства. Объявляйте сначала получатель, затем установщик. Методы класса (static) Здесь размещаются статические функции static function. Переопределяемые свойства Здесь объявляются переопределяемые нестатические установщики и получатели (getter/setter) класса. Располагайте их в алфавитном порядке по имени свойства. Для каждого, используйте подзаголовок с именем свойства. Объявляйте сначала получатель, затем установщик. Свойства Здесь объявляются новые нестатические установщики и получатели (getter/setter) класса. Располагайте их в алфавитном порядке по имени свойства. Для каждого, используйте подзаголовок с именем свойства. Объявляйте сначала получатель, затем установщик. Переопределяемые методы Здесь размещаются переопределяемые нестатические функции. Методы Здесь размещаются новые нестатические функции. Переопределяемые обработчики событий Здесь размещаются переопределяемые обработчики событий. Обработчики событий Здесь размещаются новые обработчики событий. Комментарий Я изменил порядок следования пунктов, так как они в оригинале расположены в абсурдном порядке:
Порядок в структуре класса очень важен, так как позволяет легче ориентироваться в коде класса. Однако располагать свойства и методы в алфавитном порядке - работа не для слабонервных. Для оформления класса "в релиз" это конечно важно, но для личного пользования или на этапе разработки, на мой взгляд, лучше сортировать свойства и методы (конечноотдельно друг от друга) по их функциональности, и каждую область озаглавливать общим комментарием. А в конце, иметь утилитку типа ASDoc, которая бы отформатировала код и расставила свойства и методы в алфавитном порядке. На основании этой статьи уже можно создавать шаблон класса для FlashDevelop, но лучше - после следующей главы "Форматирование": Formatting. |
2008-05-28 |
Top4Top.ru — разбор полетов состоится 31 мая 2008 г. на RAFPUG-6 Разработчики проекта Top4Top расскажут о его структуре, о клиент-серверном решении и о самом Flash-клиенте, которому посвящена большая часть доклада. Будут приведены причины, по которым был выбран чистый AS3 (а не Flex), та также будут затронуты возникшие в ходе разработки проблемы и описано их решение. Помимо этого, Артемий Малков расскажет о Flash Player 10 — об Open Screen Project, File Reference, мощной работе с текстом, UDP, 3D-эффектах, шейдерах, Drawing API, видео, звуке и улучшенном буфере обмена. Это произойдет на 6 встрече Russian Adobe Flash Platform User Group, которая состоится 31 мая 2008 года в 12:00 в офисе Adobe в Москве (м.Павелецкая, ул.Садовническая, д. 82 строение 2, "Аврора Бизнес Парк", 2 этаж, конференц-зал "Торонто"). Внимание — регистрация на RAFPUG-6 обязательна (по причине прохождения участников встречи в охраняемое помещение). Интересно будет! |
Флексеры настолько суровы, что пишут код Илья Панин написал о достоинствах и недостатках различных IDE для создания приложений под Flash Platform (это же — его презентация на UAFPUG-2; Илья — спасибо, что опубликовал!) Соглашусь с выводами автора (в скобках указаны оценки от Google, который тоже согласен):
Илья также приводит сводную таблицу по более чем 25 показателям для каждого из рассматриваемых редакторов — отличная работа! |
2008-05-27 |
EarthBrowser — 3D AIR приложение Это будет очень короткая заметка. Думаю, вы сами сможете установить и разобраться что к чему: аналог Google Earth на AIR. Обратите внимание, у создателя этого чуда есть блог, благодаря которому можно следить за развитием проекта. |
2 (два) Flex / AIR программиста ищут работу Сенсация — cрочно в номер: два опытных Flex / AIR разработчика ищут работу. Компании, фирмы, конторы и студии — срочно обращайте внимание, пока рыба не уплыла! Это сокровище обнаружено в почтовой группе ruFlexJobs: Привет! Нас зовут Александр (31 год) и Андрей(25 лет). Мы программисты из Самары. Нас интересует работа сроком не более чем на 1 год. Специализируемся на создании Flex/AIR приложений. Больше всего у нас опыта в разработке бизнес-приложений. Больше всего любим и умеем "скрещивать" Flex/AIR с Java/Python/Ruby. Также у нас хорошо получается делать комбинированные Flex/Ajax приложения. Чуть меньше, нам нравится придумывать и делать различные эффекты, игры (баннеры не делаем вообще). И совсем не нравится придумывать стили и дизайн приложений, но всё это мы с удовольствием сделаем в лучшем виде (у нас есть хорошие дизайнеры), если Вы закажите у нас проект "под ключ" — в этом случае мы делаем всю работу от составления т.з. до запуска, тестирования и раскрутки проекта. Больше всего мы боимся Flash-а, и поэтому на нём ничего не делаем - только AS3/Flex/AIR/Ajax. Оба в прошлом админы, поэтому умеем "с нуля" поднимать проекты любой сложности на windows/linux/bsd-системах. В том числе крупные проекты, размещённые на нескольких серверах — есть практический опыт. Далее (под катом) — еще пара деталей и почта для связи: |
Новые методы и свойства старых классов FP10 ByteArray clear() deflate() inflate () Mouse cursor ContextMenu clipboardMenu clipboardItems link Capabilities hasColorCorrection ApplicationDomain domainMemory MIN_DOMAIN_MEMORY_LENGTH NetStream farID farNonce info nearNonce peerStreams onPeerConnect() play2() DIRECT_CONNECTIONS NetConnection farID farNonce maxPeerConnections nearID nearNonce protocol unconnectedPeerStreams FileReference data load() save() Sound extract() sampleData Microphone codec encodeQuality framesPerPacket Event CLEAR COPY CUT PASTE SAMPLE_DATA SELECT_ALL Stage enableColorCorrection MovieClip currentFrameLabel Graphics beginShaderFill () DisplayObject blendShader rotationX rotationY rotationZ z globalToLocal3D () local3DToGlobal () BitmapData histogram() BlendMode SHADER |
Новые методы и свойства старых классов FP10 ByteArray clear() deflate() inflate () Mouse cursor ContextMenu clipboardMenu clipboardItems link Capabilities hasColorCorrection ApplicationDomain domainMemory MIN_DOMAIN_MEMORY_LENGTH NetStream farID farNonce info nearNonce peerStreams onPeerConnect() play2() DIRECT_CONNECTIONS NetConnection farID farNonce maxPeerConnections nearID nearNonce protocol unconnectedPeerStreams FileReference data load() save() Sound extract() sampleData Microphone codec encodeQuality framesPerPacket Event CLEAR COPY CUT PASTE SAMPLE_DATA SELECT_ALL Stage enableColorCorrection MovieClip currentFrameLabel Graphics beginShaderFill() drawGraphicsData() drawPath() drawTriangles() lineBitmapStyle() lineShaderStyle() DisplayObject blendShader rotationX rotationY rotationZ z globalToLocal3D () local3DToGlobal () BitmapData histogram() BlendMode SHADER |
Я.ру Теперь у меня есть персональная страница на Я.ру — midimz! |
2008-05-26 |
flash.trace.Trace - интересная находка Эльдара Прилуцкого Pirrest нарыл кое-что весьма интересное — flash.trace.Trace. Перевожу первый абзац: Да, есть такой класс, очень неприметный, но может быть очень полезным :) Он делает удивительную вещь. После “запуска” выдает в output имена ВСЕХ! методов, которые сейчас выполняются, с именами классов, которым принадлежат эти методы. Класc не документирован, то есть как с ним работать не знаю (google тоже ничего не говорит), но методом проб и ошибок кое-что все же понял. И дальше — набор волшебных методов. (Теперь я вспомнил, что у блога Эльдара есть русскоязычная версия :) |
В ожидании Dreamweaver CS4 Увидев у Инжуна пост о скором выходе Dreamweaver CS4, Fireworks CS4 и SoundBooth CS4, я сходил проверить, как там он, вышел али нет на Adobe Labs. Оказывается, таки еще нет. Но времени осталось совсем немного — а нишевый домен dreamweavercs4.com свободен (если я правильно понял смысл первой ссылки в результатах поиска — может быть, все наоборот?) Как бы там ни было — DWCS4 будет для меня сюрпризом. Мне сложно представить, что еще можно добавить к инструменту, столь близкому к совершенству. Хотя... на самом деле, добавить есть что. Например, те же инструменты для правильной поисковой оптимизации. Или тулы для Wordpress. Ага, или конструктор мета-сетей. Но до чего на самом деле додумалась Adobe? Увидим :) |
2008-05-23 |
Есть работа: AS3. Москва. ВДНХ. Офис. На постоянку. $2-6K/мес. Пишет флэш-разработчик Иван Дембицкий: Я стартую новый интересный коммерческий проект в качестве автора и исполнительного продюсера. Инвестор — одна из крупнейших компаний России. Подробности — под катом: |
Третья ежегодная церемония награждения «Russian Flash Awards 2008» Официальный пресс-релиз премии Russian Flash Awards 2008 Эта премия является одним из знаковых событий в мире информационных технологий и искусства. Среди работ будут представлены лучшие российские и зарубежные flash-проекты в девяти номинациях: Art, Коммерция, AIR/Flex, Игра, Анимация, Мультипликация, Техническая заслуга, Видео, 3D.
В церемонии награждения примут участие представители органов власти, руководители российских и зарубежных компаний, видные деятели культуры, звезды шоу-бизнеса, журналисты авторитетных СМИ и телеканалов, а также талантливые специалисты в области IT. На Премии «Russian Flash Awards 2008» Вы увидите самые лучшие flash-разработки, а также получите DVD-диски с полным спектром работ победителей и лауреатов конкурса. Тонизирующая обстановка позволит вам насладиться вечером, а призы и подарки от организаторов и спонсоров оставят приятные воспоминания о мероприятии. Также в рамках церемонии награждения победителей конкурса состоится фуршет, который, позволит Вам пообщаться с участниками конкурса в неформальной обстановке, встретиться со старыми друзьями и единомышленниками, завести новые полезные знакомства. Церемония награждения пройдет 10 июня 2008 года в клубе «Меццо Форте» (Москва, 1-я Останкинская ул., д. 53, метро "ВДНХ"). Заявка на участие в Церемонии награждения до 1 июня дает возможность приобрести билет с 50 % скидкой (4 тыс. рублей включая НДС). Подробную информацию Вы можете найти на сайте www.flashawards.ru, а также запросить у Екатерины Воробьевой по телефону: 629-77-68, 629-30-00, +7 (909) 622-92-22, pr@flashawards.ru. |
Как сделать Gif заглушку Gif заглушки |
Хороший стиль Flex-программирования. Использование языка программирования Продолжаем обозревать статью Flex SDK coding conventions and best practices. Следующий подраздел: Language Usage. Использование языка программирования Здесь будут рассмотрены вопросы использования языковых конструкций ActionScript 3. Особое внимание мы уделим ситуацям, когда для выражения одной идеи существует несколько способов. Параметры компиляции Компилируйте проекты с параметрами API, базирующиеся на свойствах Старайтесь применять API, которые базируются на свойствах а не на методах. Такой способ наиболее подходит для декларативного стиля программирования MXML. Объявление типа Указывайте типы для каждой константы, каждой переменной, каждого аргумента функции и ее результата. Даже если они не имеют типа, указывайте ":*": Например: Используйте наиболее подходящий для конкретной ситуации тип. Например, переменную цикла "for" лучше объявлять типом int а не Number, и, конечно, не Object или *. Другой пример: в mouseDownHandler необходимо объявить аргумент в виде Используйте тип int для работы с целыми числами, даже если предполагается, что они будут только положительными. Тип uint используйте только для значений цветов RGB, битовых масок и в других значений, не предназначенных для вычислений. Используйте тип * только в случае, если значение переменной может быть undefined. Но лучше всегда использовать вместо * тип Object, значение которого равно null, в случае, если объект не существует. Если вы объявляете переменную типа Array, добавляйте комментарий Например: Литералы undefined int и uint В шестнадцатиричных числах всегда используйте "x" в нижнем регистре: Всегда указывайте RGB-цвета в виде шестизначного шестнадцатиричного числа: При работе с индексами (например указатель на элемент в массиве), всегда используйте "-1" для обозначения отсутствия индекса. Number Но исключение для этого правила составляют пиксельные координаты, которые условно целые, хотя, в принципе, могут быть и дробными: При использовании знака экспоненты, применяйте "e" в нижнем регистре: Для Number используйте значение по умолчанию NaN - "не установлено". String При использовании escape-последовательностей, спецсимвол "\u" указывайте в нижнем регистре: Array Используйте конструктор массива Object можно: {}, o = { a: 1, b: 2, c: 3 };
При использовании литерала функции, обязательно указывайте возвращаемый тип, а последний оператор в теле функции заканчивайте символом точки с запятой ";":
Используйте только двойные кавычки для определения значений аттрибутов тегов XML: Class нельзя: Но в этом случае можно:
Круглые скобки Для остальных операторов, правила приоритета запомнить сложнее, поэтому в этом случае круглые скобки лучше использовать. Приведение типов Явно приводите к типу Boolean переменные типа int, uint, Number или String: Переменные типа Object можно приводить к типу Boolean неявно: Лучше использовать приведение к типу (кастинг), чем оператор "as". Оператор "as" используйте только в том случае, если при ошибке приведения к типу, вы хотите получить в результате значение "null", а не генерацию исключения: Сравнение Операторы ++ и --
Однако, нельзя использовать вложенные тернарные операторы в сложных логических цепочках: Оператор new
Операторы Всегда ставьте после операторов точку с запятой ";". ActionScript 3 не считает за ошибку отсутствие точки с запятой в конце оператора, но лучше не пользоваться этой особенностью: Директива include Всегда используйте относительные пути вместо абсолютных. Директива import Директива use namespace Оператор if Однако, если одна из ветвей содержит более одного оператора, заключайте в блоки все ветви: Если требуется проверка большого количества ошибок, используйте последовательность операторов if, которые осуществляют проверку и при ошибке, сразу возвращают результат и выходят из метода. При этом, поток выполнения проверки движется по странице вниз. В конце метода ставится возврат результата успешного прохождения проверки. Оператор for Используйте для хранения верхнего предела цикла локальную переменную. Это очень важно, поскольку верхний предел пересчитывается на каждой итерации цикла. Конечно, это не распространяется на те случаи, когда пересчет предела цикла необходим: Определяйте переменную цикла внутри круглых скобок оператора цикла, если она не определяется где-либо повторно:
Вызов оператора return разрешается из любого места тела метода.
Объявления Никогда не объединяйте несколько констант/переменных в одно объявление:
Перед тем, как объявить какой-либо API как public или protected, как следует подумайте, действительно ли это нужно. Public и protected API нужно документировать в обязательном порядке. Кроме того, они должны поддерживаться в нескольких последующих релизах, прежде чем станут формально устаревшими.
Объявляйте все классы-каталоги ("enum classes") как final.
Объявляйте локальные переменные в функции только один раз. ActionScript 3 не поддерживает объявление локальных переменных с областью видимости в одном блоке:
The only “bare statements” in a class should be calls to static class initialization methods, such as loadResources(). (Совсем ничего не понял в этой фразе).
Если в конструктор передаются аргументы, давайте им имена переменных, которым они передаются. Не инициализируйте переменные класса в конструкторе. Делайте это при объявлении переменных. Это разрешается только в том случае, когда в наследуемых классах требуется переустановить значения переменных.
Послесловие Далее перечислены темы, которые еще не в разработке:
Будем иногда заглядывать СЮДА и следить за продолжением. Правила, конечно, порой спорные. Еще пример - избавляться от лишних круглых скобок в вычислениях и логических выражениях. Не сильно я согласен с таким заявлением. Вообще, код лучше читается, когда он поделен на блоки. При многочисленных делениях и умножениях трудно будет потом разобраться что на что делется и множится... То же самое в логических выражениях. Остальное, в принципе, вполне законно и приемлемо. |
Flash.digy.net — мы уже держим голову :) Молодой (всего три месяца от роду), но правильно стартовавший ресурс с уроками по Flash, переводными статьями типа "Модульное тестирование с помощью FlexUnit", заметками о юзабилити, материалами о Flash Remoting (включая статью "Передача ValueObject’ов из FluorineFx во Flash CS3" — все лаконично и четко. Кстати, у нас вроде бы не было статьи, кратко объясняющей главное о Flash Remoting на русском неподготовленному человеку? Теперь есть эта — как вариант. |
Ресайз flash баннера. Ресайз – изменение размера баннера, при этом смысловая нагрузка, которую несет в себе баннер остается не изменой. Возьмем за пример мой баннер который делался тут. |
2008-05-22 |
Финны жгут: первый параллельный текстовый редактор для совместной работы В 2008 году финны покоряют флэш-платформу. Сначала, как заметил JabbyPanda, финский флэш-сайт как бы про лесную жизнь в исполнении студии Valve взял приз на 2008 Webby Awards (в комментариях Алексей замечает, что его сайт не впечатлил. Меня тоже, пока я не вспомнил, что этот сайт победил в категории "Корпоративные коммуникации" — это флэш-послание). А сейчас другие финны стартуют параллельный онлайн-редактор textflow, который и драг-н-дроп поддерживает, и совместим со всеми мыслимыми форматами, и в системных требованиях у него только Flash Player 9. Один документ в нем редактируют несколько пользователей одновременно. Это как бы чат, но это не чат, а серьезный док во время редактирования. Таковы суровые финские флэшеры, а в чате FPUG сказано уже 4МБ слов, смайлов и ссылок. |
ОГО!START — психбольница в руках админов и галоперидол как орудие модераторов там, где хватило бы одного умного менеджера Картинка к книге "Психбольница в руках пациентов" и попытка разобраться, как устаревший интерфейс сайта приводит к проблемам взаимопонимания, усилению поляризации по оси юзер / админ, недоразумениям в точках продаж и снижению прибыли, что можно легко исправить. Это история о том, как добавление абзаца текста может нейтрализовать ошибки в архитектуре системы заказов и наладить взаимодействие с пользователями. Также немного о том, как избежать некоторых проблем при подключении к быстрому и недорогому интернету в Украине. По порядку: Недавно "Укртелеком" усовершенствовал предлагаемую ими услугу высокоскоростного ADSL-доступа к интернету "ОГО!START". Во-первых, теперь для подключения к сети не обязательно подписывать договор с "Укртелекомом", а можно просто пойти в магазин, купить там карточку "Быстрый старт" и подключиться самостоятельно; во-вторых, упала стоимость услуги: теперь всего за 120 гривень (т.е. ~$25) можно подключиться к сети со скоростью 512 Кбит/с. Это выгодное со всех сторон предложение пользуется высокой популярностью. Но есть ложка дегтя, из-за которой не все могут получить удовольствие от данной услуги, а некоторые могут даже получить нравоучение от "Укртелекомовца". На специальном сайте "Мой Укртелеком" есть раздел об услуге ОГО!START, и страница для самостоятельной проверки технической возможности подключения к сети — достаточно ввести номер своего квартирного телефона в форму проверки. Это очень удобно, так как позволяет избежать лишних действий в том случае, если подключение невозможно. |
Открыт Google Maps API для Flash Google наконец-то открыл API к своим картам. Igor Costa накатал небольшой примерчик на эту тему. И еще один пример. |
Открыт Google Maps API для Flash Google наконец-то открыл API к своим картам. Igor Costa накатал небольшой примерчик на эту тему. И еще один пример. |
Рецепт создания Flash-баннера. Рецепт создания Flash-баннера. |
2008-05-21 |
UAFPUG#2, Мой доклад. Призенташка (в плане информативности не особо полезная, но полистать можно) Презентация не содержит всехпунктов по которым я сравнивал IDE, но у меня есть маленька табличка которая содежит список фич и плюшек, и как их поддерживает та или иная ИДЕ. Из всего доклада я хочу осветить предпоследний слайд, он содержит кратенькие выводы
пояснения про FlexBuilder и FDT я уже дал,
добавлю лишь, что FlexBuilder медленно и верно движется в правильном направлении и у него есть все шансы! FlashDevelop — малыш, его я так назвал потому, что он фактичеки не является средой разработки — это продвинутый блокнот с кучей удобных и полезных фич. Если делать маленький проект и одному, то его можно использовать если что-то больше то комфортнее использовать FlexBuilder или FDT. IDEA — сырой монстр. IDEA известна свои удобством среди ява(и не только) программистов. В данный момент в версии 7.0.3 поддержка flex разработки очень сырая, много мелких неприятных глюков, но разработчики IDEA их фиксят. Вобщем когда “доварят” нашего монстра, то будет видно. И еще меня волнует позиционировние самой разработки флекс проектов в IDEA — она позиционируются как дополнительная фича, т.е. существует вероятность, что поддержка флекса будет уходить на второй план по сравнению с явой(можете попробовать разубедить меня). И еще один кирпич в огород IDEA — сложноватенько, человек который придет из мира флеша будет долго въезжать во все ньансы этого “монстра”. Всех благ вам и удачного кода влюбой из ИДЕ:) |
Психбольница в руках программистов Нарылось на Хабре под заголовком "Алан Купер. Теперь только самое лучшее". В записи — ссылки на полный текст книги и на, что самое важное, на ее сильно сокращенный вариант. Цитату из него приведу здесь же: Неосязаемые, но невероятно сложные узоры мыслей, составляющие ПО, обладают ценностью только в сочетании с написавшим код программистом. Здесь выражена мысль, которую я сам вынашиваю уже давно: фрилэнс является тупиковым маршрутом всегда, когда речь идет о создании больших и долгосрочных продуктов. При всем уважении к фрилэнсу, я могу уподобить его только гражданскому браку в сравнении с браком обычным официальным — и то только в лучшем случае. Еще одна цитата: Большинство программ проектируются случайным образом. Идите на Хабр и дайте плюс в карму пользователю badlittleduck — это его рук дело. |
Астронавты! Космос и Flash Player 10 Debug — у ваших ног Официальная API-документация к Flash Player 10 — одним большим архивом! И масса новых полезных статей:
Асторономические объемы этого нового и полезного материала сравнимы только со свежеобнаруженной половиной скрытой массы Вселенной. // имхормация получена от тайных осведомителей из чата FPUG |