Flex и RIA блоги
2007-10-21 |
Вся правда о Видео во Flex. Часть 5. NetStream, обработка напильником. В этой части мы поругаемся на NetStream. Грубо говоря NetStream - это основа всей работы с видео/аудио. На мой взгляд основа чего-либо должна быть идеальна, ну или хотя бы близка к идеалу. А тут нам подогнали реально сырое(? или просто глюченое) решение. Напильник номер одинNetStream - как есть просто не приспособлен для работы с видео. Если попытаться использовать пример их хелпа, то мы после запуска видео сразу же ловим эксепшин: Error #2044: Unhandled AsyncErrorEvent:. text=Error #2095: flash.net.NetStream was unable to invoke callback onMetaData. error=ReferenceError: Error #1069: Property onMetaData not found on flash.net.NetStream and there is no default value.
Добрые индусы забыли добавить в NetStream метод onMetaData. Верне не один метод а всего два: onCuePoint, onMetaData, вобщем эти методы я подглядел в классе VideoPlayer, правда уже после того как я наловился эксепшинов ) еще там они объявляют метод onPlayStatus, но я не сильно старался понять зачем этот пустой метод нужен:). class VideoNetStream extends NetStream
{ public function VideoNetStream(connection:NetConnection) { super(connection); } public function onMetaData(info:Object, … rest):void public function onCuePoint(info:Object, … rest):void Напильник номер дваВ данной ситуации я даже незнаю кого обвинять, или адоб или создателей firefox (далее фф). Вобщем в ФФ флеш плеер не соображает когда ему скормили неверный урл. вернее 50/50 иногда есть событие что поток не найден а иногда нет, вот например на такой урл http://qweqweqweqweqw
фф не будет ругаться и будет пытаться молча найти его всю свою жизнь, естественно уходы в раздумия на долго не радуют пользователя и он убивает фф :’(. Грабли номер триЕсли в ситуации описанной выше у ФФ еще делать close() (даже после таймера) и заново подсунуть неверный урл, то ФФ просто падает (play(badUrl) -> close() -> play(newBadUrl)); и закусочный напильникУчитывая асинхронность работы NetStream при “нервном пользователе” не успевает сделать close(). На приход в себя, как показывает практика, достаточно 500-1000 мс. Что я сделал собрав эти грабли с напильникамиУ меня получился класс VideoNetStream, который сам справляется с критическими ситуациями, в моем случае он просто игнорирует вызовы всех методов до тех пор пока сервер или не отдаст ответ или пока сам стрим не поймет что он не дождался. я сделал флаг isBusy который показывает окружающему миру, что стрим еще думает. Если есть какие-то еще “фичи” стрима, пишите, будем добавлять. Продолжение серии может будет, а может и нет ) И немного десертачитать и смотреть, сначало немного на русском, а потом и официальный сайт upd: решил поиграца |
Участие в войне По наводке Роста - решил поучаствовать в Blogowar - в войне блогов. Вообщем см. сами. |
Война блогов: игра такая Нет, сейчас речь пойдет не о схватке пузомерок MSFT vs. ADBE. Есть другая игра: Blogowar.ru. Там блоги сражаются за унцы. Там есть своя валюта, оружие и магия. Это что-то новое, возможно бессмысленное, но интересное. В магазине продают оружие: Клавиатура мертвого сисадмина, доспехи: Картина Казимира Малевича, Четкая олимпиечка и Сексуальное белье, корона: Корона (1 шт.), магия: большой выбор флеймболов плюс окончательный еБизнес, короче — блогосфера отдыхает Ж-) С удивлением обнаружил там сайт Спрута, только что вдохновивший меня на новый проект (хотя месяц назад вызвал приступ зевоты длиной в сутки одним неудачным постом). (UPD: Я поинтересовался и узнал—проект Blogowar.ru создан студией электронных развлечений. Похоже, они знают толк в играх.) Интересно, есть ли что-то подобное за пределами рунета? |
Работа с сookies в as3 приложениях Для хранения информации на стороне клиента в ActionScript предусмотрен объект SharedObject — своеобразный аналог всем известных Cookies. Но возникают ситуации, когда вашему as3 приложению было бы неплохо получить доступ именно к cookies (скажем сайт имеет две версии — html и flash, и вы хотите сохранить какие-то предпочтения пользователя как для html так и для flash версии сайта). Конечно, данную задачу можно решить различными способами, и один из них — это предоставить вашему приложению возможность работать с cookies. |
Миру мир - войне не нужно! Простите за бред пьяного, но ебать сколько усилий человечество тратит на войну, на эти конченые военные разработки, на эту жопу, которое одно государство гарантирует другому в случае чего, это пиздец сколько в мире добоебов которые не могу жить спокойно уважая (даже на хуй то уважение - нейтрально) друг друга, сколько бабла вкладываться в разработку нового оружия и прочей человекоубийственной гадости, зачем?! - ради денег за ради денег! Сколько можно было сделать полезных дел, и вещей сколько жизней можно спасти. загляните в любые новости - “Иран способен выпустить 11 тысяч ракет и снарядов по военным базам врагов в первую минуту нападения на иранскую территорию” - Зачем?! потратим много денег за ради много убийства. лучше бы они это бабло подарили индусам которые делают флекс %). вообще ВСЕ СИТУАЦИИ МОЖНО РЕШИТЬ с миром, главное любить окружающих и чтобы они любили окружающий мир. Вобщем главная идея этого бреда в том, что если вы попали в конфликтную ситуацию, то подумайте 3 раза как ее решить мирно, если не получается, то подумайте еще 3 раза и решите мирно. з.ы. поспорить на работе это клёва ) главное чтобы консенсус организовался! мега з.ы. вобщем смотрите по сторонам - вы не пуп земли, но гдето рядом если вести себя хорошо!) ну и в отвлечение от этой темы - “Что лучше: Singleton или использование статических членов класса?” от Garbage Collector |
Миру мир - войне не нужно! Простите за бред пьяного, но сколько усилий человечество тратит на войну, на эти конченые военные разработки, на эту жопу, которое одно государство гарантирует другому в случае чего, это ужас сколько в мире идиотов которые не могу жить спокойно уважая (даже на фиг то уважение - нейтрально) друг друга, сколько бабла вкладываться в разработку нового оружия и прочей человекоубийственной гадости, зачем?! - ради денег за ради денег! Сколько можно было сделать полезных дел, и вещей сколько жизней можно спасти. загляните в любые новости - “Иран способен выпустить 11 тысяч ракет и снарядов по военным базам врагов в первую минуту нападения на иранскую территорию” - Зачем?! потратим много денег за ради много убийства. лучше бы они это бабло подарили индусам которые делают флекс %). вообще ВСЕ СИТУАЦИИ МОЖНО РЕШИТЬ с миром, главное любить окружающих и чтобы они любили окружающий мир. Вобщем главная идея этого бреда в том, что если вы попали в конфликтную ситуацию, то подумайте 3 раза как ее решить мирно, если не получается, то подумайте еще 3 раза и решите мирно. з.ы. поспорить на работе это клёва ) главное чтобы консенсус организовался! мега з.ы. вобщем смотрите по сторонам - вы не пуп земли, но гдето рядом если вести себя хорошо!) ну и в отвлечение от этой темы - “Что лучше: Singleton или использование статических членов класса?” от Garbage Collector |
2007-10-20 |
Производительность Silverlight и Flash Уже неоднократно звучали утверждения о том, что Silverlight значительно быстрее Flash. Реклама в заголовках, извинения — в примечанияхПодавая в выгодном свете выигрышные аспекты весьма молодой платформы, маркетинг и евангелисты получают новых поклонников. Но когда вскрывается несоответствие уровня реализации технологии ожидаемому, то отдуваются уже саппорт и разработчики платформы. Разработчику приложений необходимо учитывать незавершенность технологии при выборе таковой.Важным упущением в оценке производительности технологии является игнорирование текущей стадии ее разития. Например, отрисовка экранных шрифтов: легко заметить, что на этом примере (Silverlight) слаживание шрифтов еще хромает, и это сказывается на качестве надписей. Доведение сглаживания "до ума" потребует изменения алгоритма сглаживания и/или увеличения системных ресурсов, требуемых для реализации полноценного сглаживания. Пирог производительностиОбщая производительность системы — не резиновая, это скорее пирог, который делится между разными аспектами технологии. Сырые моменты в молодой технологии есть всегда (они есть и в старых). Каждый из них при доведении реализации до полноценной будет отъедать свою часть пирога производительности, что скажется на общей скорости работы системы и снизит быстродействие тех частей, что раньше были быстрее.Для сравнения: поиграйте с этим деревом на Flash и с этим деревом на Silverlight (жмакните "GO", а затем иконку дерева наверху). |
2007-10-19 |
Что лучше: Singleton или использование статических членов класса? Наверняка ведь многие задавались вопросом: «Почему бы не использовать вместо Одиночки обычный класс со статическими методами и свойствами?». В ActionScript 3 создать Singleton без дополнительных маневров не получится и бывают случаи, когда хочется попросту обойтись без них. |
Конец недели Майкрософт и начало смерти Web 2.0 Завершена неделя Microsoft на сайте Ф. Потрошителя. Список постов по теме:
Впрочем, выводы делать рано, да я и пока их и не делал. Одно понял: у жителей сети впереди самые веселенькие деньки за всю историю веба. Следующая неделя на Ф. Потрошителе посвящается чисто MVC. На выходных буду писать стремные посты из свежеустановленного Flock'а (клевый). И на закуску: топ евангелистов Adove vs. Microsoft. |
PV3D по-русски: перевод Papervision3D-wiki и Flex в IDEA7 Алексей 'Yelbota' Фомкин перевел на русский язык вики к Papervision3D и выложил как PDF: FAQ для начинающих в Papervision3D. А ruFlex обсуждает вышедшую на днях IDEA7 с еще сырой, но уже поддержкой AS3 и MXML. |
Создание HTML-страницы в PopFly Продолжение предыдущего поста о выходе PopFly—уменьшаю количество буков. Создаю HTML-страницу: Create Stuff > Web Page. Попадаю в редактор, напоминающий урезанный MS Word из Office 2007, с открытой заготовкой документа. Предлагаемый по умолчанию дизайн страницы... гм... не будем об этом (но внизу уже красуется надпись "All rights reserved". Ведь мировой Вася Пупкин за свои права до сих пор волнуется). Впрочем, есть широкий выбор тем в духе поздних 90-х, стилей, цветов и шрифтов. Как же вставить Машап в страницу? Нужно чтобы он был зашарен. Иду в свои "проекты" и там — Делаю embed (используют iframe): (Сорри. Silverlight-содержимое пришлось переместить под кат (в комментарии), потому что: Я не знаю че ты сделал, но у меня какой PopFly в Safari на маке каждые 10 секунд алерты выкидывает. скрой пост под каттом плиз, читать блог не возможно—Nirth.Потом вставляю машап в созданную в PopFly страницу, и вот оно, творение. Навеяно интерфейсом PopFly: похоже, слухи о мега-производительности Silverlight слегка преувеличены. Да, есть анимации (часто одиночные) что выглядят глаже, чем аналогичные во флэше. UPD: Сравниваем с конкурентом (спасибо за ссылку, Валентин). UPD2: Самое вкусное: PopFly создан командой SharePoint. Это означает вот такие до боли (и это не шутка) знакомые многим веб-дизайнерам части исходного кода в моей первой странице: <span id="ctl00_ctl00_cphHeader_cphToolbar_projectRating_TotalProjectRating" class="ratingControl savedRating"></span>Что ж, для первого PopFly хватит. |
Возможности для работы с видео в Flash Lite 3 В предверии выхода Flash Lite 3 в Adobe Mobile and Devices Developer Center опубликована статья «Flash Lite 3 video capabilities», в которой дается обзор основных возможностей новой версии мобильного плеера для работы с видео. |
Запуск Popfly. Приложения методом drag-n-drop от Microsoft Хорошее завершение посвященной MSFT недели: они только что запустили PopFly. По словам создателей, этот онлайн-редактор позволяет создавать Silverlight-приложения и html-страницы методом тыка (злобный маркетинговый ход: как будто до PopFly метод drag-n-drop не был реализован в куче IDE и веб-приложений, включая Yahoo! Pipes. Но о прелестях военного маркетинга потом. Посмотрим на PopFly критически). РорFly работает в браузере и сам является Silverlight-приложением (+html). Чтобы использоать его, нужно зарегистрироваться онлайн (уже начиная с этой страницы используется шрифт "Segoe UI", который также по умолчанию задан в MS Expression, а сегодня на него перешел и блог Скотта Барнса). Испытаем PopFly сейчас же. Создание смеси сервисов ("mashup") в PopFlyПишу текст по мере продвижения по интерфейсу PopFly и совершения действий:Зайдя в PopFly, вижу две основные опции: 1) Создать Mash-up (смесь сервисов) и 2) Создать веб-страницу. Ниже идут примеры. Выбираю "Создать Mashup" и попадаю на страницу редактора, это почти фуллскриновое Silverlight-приложение (в наличии фичи, за которые флэш ругали три года назад: попукивающие, переанимированные кнопки меню). Захожу в категориию Images & Video, выбираю Flickr—начнем с классики. На сцене появляется кубик, представляя собой Flickr. Интуитивно находится иконка Settings, жму туда. Там отмечаю кнопку "Switch to an advanced view" и конечно же жму. Вижу там JavaScript: (код вырезан, поскольку не нес смысловой нагрузки—как оказалось). Возвращаюсь в обычный вид ("Go back to the simple view"). Вижу веб-форму для задания параметров моего фликр-кубика (но сама форма выполнена на html, лежит поверх Silverlight). В поле "text" ввожу знaчение "RIA", а "number" задаю равным 10. Проверяю Advanced View—изменился ли код. Нет, не изменился. Нажимаю на ключ, чтобы вернуться. Жму Preview. Появляется 10 фоток. ОК, хочу показать это друзьям. Жму Save. Русский не поняло. Пишу по-английски. Отвечает, что 'Flickr' требует Developer Key. И не сохраняет. Пошел на Flickr, взял ключ. Ввел. Сохраняю. Получилось. Как опубликовать? Не вижу. Хожу по меню — нет ни "Share" ни "Publish". Иду в Tutorial (убегающие от мыши кнопки Prev-Next в нем немного раздражают). Прохожу. Создаю Image Sphere из Live Image Search. Жму Preview. Получаю ошибку Прохожу следующий. Тут Twitter сцепляется с Virtual Earth через GeoNames, чтобы показывать местоположение твиттерящих граждан. Это уже интереснее. И в конце этого туториала—о чудо! упоминается, что я могу запостить машап на html-странице, только ее сначала нужно создать. Продолжение: создание HTML-страницы в PopFly. |
Новые обучающие статьи и видео уроки по AIR. Mike Chambers собрал массу полезных ссылок с интересными статьями и видео демками связанных с AIR. Вот некоторые статьи которые могут быть полезны:
|
2007-10-18 |
Флекс-дебаггер от Андрея Горбатова: html-минимализм Имитация trace в Adobe Flex — так Андрей назвал статью о собственном простом и элегантном флэш-дебаггере. Хорошая идея: создать внутри html-документа поверх флэш-приложения обычное текстовое поле и выводить туда отладочные сообщения. Я подумал: создание трейсера — классисическая задача, и каждый разработчик решает ее с огоньком. При всем разнообразии трейсеров у каждого получается по-своему хорошо: ведь для себя делаешь и не на один раз. |
Линукс-система “Express Gate” встроена внутрь материнской платы Оптимистичное дополнение к нашей недавней беседе о сексуальной стороне Линукса: ASUSTek анонсировала новую материнскую плату Asus P5E3 на последнем чипсете Intel X38. В материнскую плату вшит Linux, называемый ASUS как “Express Gate” (гм, а если я все же захочу туда винду установить?). Этот Linux готов к работе сразу после подключения железа. В нем уже предустановлены Firefox и Skype. Стоит все это $360. Даешь вшитый в мамку флэш-плейер! |
Microsoft 2.0: Рэй Оззи вместо Билла Гейтса Уже более года должность Билла Гейтса занимает Рэй Оззи. В следующем году Билл уйдет из MS навсегда, а Оззи станет главным стратегом технологий Microsoft, на все 100%. Кто такой Рэй Оззи? Рэй Оззи до MicrosoftВ первую очередь Рэй Оззи известен как создатель легендарных IBM Lotus Notes. В свое время (80-е, задолго до Windows) этот пакет был лидером коммуникаций. В нем есть почтовый клиент, мессенджер, браузер, блокнот, календарь, сервер... Этот продукт компании Iris Associates оказался на пике успеха в 1994 году и тогда компания Iris была куплена компанией Lotus. А через год уже сама компания Lotus была куплена IBM, а Оззи был назван "Человеком года" журналом PC Magazine (но на первом успешном продукте Рэя Оззи был поставлен крест—мое мнение). Проработав в IBM 2 года, Оззи ушел и создал новую компанию Groove Networks, где разработал новое ПО для сотрудничества по принципу т.н. одноранговых сетей (т. е. peer-to-peer, P2P). Через 8 лет, в апреле 2005 года, Microsoft купила Groove Networks, своего конкурента. Вскоре Оззи попал в высшее руководство Microsoft, став одним из трех CTO (Chief Technology Officer, главный инженер). Microsoft на пике кризисаУже в 2005 году в Microsoft хорошо понимали, что проигрывают конкурентам по многим ключевым позициям. Момент истины: 28 октября 2005 года Рэй Оззи разослал высшему руководству Microsoft внутрикорпоративное письмо с острым содержимым, озаглавленное как "The Internet Services Disruption". Спустя два дня Билл Гейтс написал к письму Оззи вступительное слово, дал своему сообщению более мягкий заголовок "Internet Software Services" и, приаттачив письмо Оззи к своему, разослал его уже и ведущим инженерам компании. В конце письма Билл сообщил, что Оззи становится главным рулевым на ближайшие 5 лет. Текст Оззи был перченым: всего 5000 веских слов, немного шокирующих, в Майкрософте уже давно пахло жареным. Вскоре письма дали течь в сеть (в MS тоже водятся крысы). Суть письма Оззи: возмущение тем, что МС не является лидером в основанных ею (сетевых) технологиях, включая AJAX (был впервые использован MS для OWA). Было отмечено лидерство Google в поиске, PDF в формате онлайн-документации, Skype в VoIP и т.д. — во всех этих сферах MS работала активно, но без желаемого успеха. Желание такое: быть первыми или исчезнуть. Не только большие конкуренты, но и тысячи мелких стартапов стали объектом рассмотрения Оззи. Главные их качества—скорость, простота и слабая связанность были отмечены как важнейшие составляющие быстрых инноваций. Но им, по мнению Рэя, не хватает нескольких отлаженных механизмов, как то: аутентификация пользователя, гибкая монетизация, расширяемость, взаимодействие друг с другом, а также способы доставки, разворачивания, установки и поддержки ПО. Этим тысячам бизнесов нужна платформа, дающая все необходимые сервисы, считает Рэй Оззи (вот ее схема на сегодня). Акценты в обращении Рэя Оззи к Microsoft:
Там же узнаем, что Microsoft была недавно разбита на три дивизии:
Рэй Оззи считает, что Microsoft сможет выйти из кризиса, если будет следовать трем основным постулатам:
Было поставлено ударение на том, что сделать все указанное нужно быстро. Рэй Оззи об эффектвной разработке ПО:"Сложность убивает. Она высасывает жизнь из разработчиков, усложняет планирование, создание и тестирование продуктов, приводит к дырам в безопасности, и выводит из себя пользоватлей и администраторов. Двигаясь вперед, во всех частях организации каждый должен спросить себя: "В чем разница?", исследовать и принять методы упрощения. Рэй приводит классический пример упрощения: "повышая частоту релизов продукта, мы автоматически снижаем сложность каждого релиза—это диктует сама необходимость"и еще один: "вместо того, чтобы решать все вопросы на бесконечных совещаниях в конференц-залах, в необъятных потоках почты и редакциях документов, можно просто встретиться на рабочем месте и обсудить вопрос быстро". Не десктоп против сети, а десктоп плюс сетьПо словам Оззи, новая стратегия Microsoft—не в копировании успеха короля сети Google. MSFT собирается обойти его за счёт представления комбинации ПО для десктопа и сетевых сервисов для него. Модель чисто настольного или чисто сетевого приложения ущербна: в случае только-сетевого ПО пользователь должен постоянно находиться в сети, чтобы отредактировать текст. Microsoft предлагает нечто среднее: не "софт-сервис" (как Google Docs), а "софт плюс сервис" (следует понимать, это будет Live Office). А тем временем, в том же 2005 Google и Sun уже договорились вместе делать интегрированный в Gmail StarOffice, являющийся прямым конкурентом MS Office, одной из дойных коров Microsoft, приносящей ей треть прибыли—тучи над MSFT сгущались. Таймлайн взлета Рэя Оззи в Microsoft
Мои мысли по поводу— У Мирового Зла сменилось имя. Теперь вы знаете, кого нужно обвинять в появлении Silverlight :-) Из одного его (но не только из него) стратегического решения уделять больше внимания рекламе логически следует: 1) задействовать главные каналы распространения рекламы => 2) держать все на своей платформе => 3) создать платформу для сетевого RIA-плейера как главного рекламного носителя => 4) Silverlight. — Я рад за Билла Гейтса. С него снимаются все обвинения. Странно, что на киевской Платформе Веб не было об этом ни слова. — Microsoft делает очень рискованный и смелый маневр. Повернуть 70.000 сотрудников в новом направлении—это задача для титана. — Главное впечталение программистов Microsoft от общения с Рэем Оззи: это не Билл, но он сможет. Во время так называемых Reviews (обзоров ключевых технологий самим Гейтсом, бок-о-бок с разработчиком) при Билле стоял специальный человек, подсчитывавший количество сказанных Гейтсом "fuck". Чем меньше счет—тем лучше. Например, для Джоэла Спольски насчитали всего четыре: невероятное везение. Сейчас по словам BillG Reviews можно найти не одну душераздирающую историю. Но Рэй Оззи, по словам очевидцев, никогда не ругается, как Билл; он не в пример мягче и спокойнее в работе, проявляя при этом неимоверную компетентность. — Рэй Оззи—не выдуманный пионер сетевого ПО, он с этого начинал, когда Интернет был в мечтах. — Насколько новаторский подход Оззи? Новаторский—с чъей точки зрения? Возможно, с точки зрения Билла Гейтса. Но не с точки зрения оголтелых флэшеров, а? Не ролучится ли так, что платформа Windows Live устареет во время своего выхода? Ссылки по теме:Многа букав получилось. |
IDEA-7! Вышла IDEA-7 c поддержкой Flex. И вышла 15 числа, явно день был полный ништяков Пока особых подробностей рассказать не могу, ибо только поставил и щупаю. Пока нащупал стандартные возможности). Фичи и не фичи пытаються обсудить тут Поругивается на свои неймспейсы в мхмл. Вобщем все быстро побрасили работу и давате щупать что нам дали ) |
IDEA-7! Вышла IDEA-7 c поддержкой Flex. И вышла 15 числа, явно день был полный ништяков Пока особых подробностей рассказать не могу, ибо только поставил и щупаю. Пока нащупал стандартные возможности). Фичи и не фичи пытаються обсудить тут Поругивается на свои неймспейсы в мхмл. Вобщем все быстро побрасили работу и давате щупать что нам дали ) |
2007-10-17 |
Adobe Thermo: видео с новыми фичами! Райан Стюарт опубликовал ссылку на видео, где показаны абсолютно новые возможности Thermo и новые менеджер этого проекта. У меня нет слов. |
Почему я пишу о Microsoft В комментарии к моему рассказу о Silverlight Иван Сергеев спросил: "Интересно Рост, сколько тебе MS отстегнуло за эти посты ?!?!?!?"Что ж, пришло время признаться: в среднем, Microsoft платит мне по 900-1600 долларов за пост (зависит от количества комментов). Шучу! Нисколько мне не платят. Но вопрос Ивана наводит меня на мысль, что не всем может быть понятна причина проведения недели Microsoft на сайте о Flash. Я объясню. Главная причина: расширить видение ситуации. Чем больше мы знаем о разных, в том числе (и особенно!) о конкурирующих технологиях, тем лучше мы можем планировать собственные действия. Именно поэтому я начал с сухого перечисления планов Microsoft (в первой версии статьи были мои комментарии, я их уже вырезал): давайте оперировать фактами, а не эмоциями. Глупо делать вид, что конкурентов не существует. Ругаться на Майкрософт, какой он плохой, на сетевые святыни покушается—еще хуже. Это просто слабость, причем проявляемая публично. Будьте сильными. Все пытаются делать деньги и получать удовольствие, а зависть к чужим успехам лишает сил. В англоязычных блогах встречается понятие "biased opinion". Это когда автор пишет необъективно, пытаясь скрыть одно и выпятить другое. И часто это выглядит смешно (я сам писал и наверняка еще буду писать такие посты, о которых только потом понимаешь: как был глуп, смешон и наивен). Неофициальный рупор Adobe Джон Дауделл привел цитату из Линуса Торвальдса, добавив свой комментарий: "у нас похожие (с Торвальдсом) тенденции к тому, чтобы избегать картины мира типа "добро/зло", и принимать выбор других, отличный от нашего."Все просто: проявлять дружелюбие к другим технологиям—это официальная позиция Adobe и это разумно (вот аналогичный пример от Microsoft). Покажите сайт, где сотрудник Adobe всерьез оскорбляет конкурентов. Если вы хотите успеха Flash—поддержите Adobe, не замыкайтесь в позиции незаконно лишенного наследства принца. Наследства не существует, есть только игра движения к цели, и чем больше мы знаем, тем ловчее наше движение, а эмоции только отвлекают. Любить конкурентов—не прилично, а полезно. Ненавидя Microsoft (или Silverlight) вы только создаете лишний шум вместо того, чтобы учиться у них лучшему. А учиться всегда есть чему. В следующем посте — кто стоит за нововведениями в Microsoft. |
Лучший совет от Давыдова о том как создать популярный пост Вот улыбнуло: — Включите |
2007-10-16 |
RIA или RiA: в чем проблема, которой пока не видно Означенная ранее коллизия между Райаном и Скоттом — одна из многих дискуссий, что проходят в почтовых конференциях и авторитетных форумах. Как вы знаете, термин RIA был введен в 2002 году Macromedia для обозначения т.н. "насыщенных интернет-приложений", создающих новые шаблоны пользовательского поведения и опыта. Сейчас мы видим эти шаблоны повсеместно и часть их реализации стала гордой частью Вебдваноля. Это все в браузере. Недавно была создана технология Adobe AIR, расширяющая платформу Flash на десктоп. Затем появился Silverlight, он тоже может работать и в сети, и на десктопе. Пока неизвестно, это ли подтолкнуло Скотта Барнса (ранее ADBE, сейчас MSFT) к утверждению, что времена изменились, и теперь вместо "Rich Internet Application" целесообразнее говорить "Rich interactive Application", так как "многие RIA вообще не нуждаются в интернете, например, приложения для софтверных вендоров" (двайвера?) Возникает вопрос: почему веб-евангелист Барнс аргументирует свою позицию на примере приложений, не предназначенных для сети? Нововведение его сомнительно: ведь "rich interactive" это как "табак с никотином". Интерактивность есть свойство насыщенности, как никотин—часть табака. Новые RIA-фиты пытаются проехаться на известном словечке, а заодно и хватонуть кусочек сетевого одеяла. Но почему они не хотят замечать очевидного: это может привести только к путанице и по болшому счету не выгодно никому. В любой отрасли важно единство терминологии (как в каждой науке должен быть набор аксиом). Не нравится вам RIA—придумывайте новый термин. Если уж на то пошло, то эффектнее играть словом RIA2.0, пока жив Дваноль. Кстати, картинка в посте—всего лишь один из целой кучи отличных RIA-комиксов! |
Случайная ошибка flash.accessibility Недавно, я случайно при настройке проекта выбрал галочку Generate accessible SWF file. Потом после каждого вызова Alert у меня вываливалась ошибка: TypeError: Error #2007: Parameter source must be non-null. at flash.accessibility::Accessibility$/sendEvent() Случайную галочку пришлось снять:) |
Поиск описаний ошибок. Набрел тут на одно замечательное Flex приложение от автора Judahs, за что ему от меня респект. Приложение приятно облегчает жизнь тем кто хочет узнать о том куда его послали, введя код ошибки |
Вакансия. Нужен AS-программер в компанию BDirect По просьбе Александра Козловского: В компанию BDirect требуется ActionScript 3 программер с опытом работы с as3 от года. Обязательно знание движка “Papervision 3d”, Желателен опыт разработки онлайн - игр, Огромным плюсом будет знание mxml, умение писать свои mxml-компоненты, умение скинить Flex-проекты и ActionScript-проекты. job |
2007-10-15 |
AIR. Сюрпризы от File.browseForOpen Поставил флекс билдер 3 и решил пощупать AIR за самые интересные места, а именно за работу с файловой системой Взял самый простой пример их хелпа по File метод browseForOpen воткнул его в приложение <?xml version=“1.0″ encoding=“utf-8″?>
<mx:WindowedApplication xmlns:mx=“http://www.adobe.com/2006/mxml” layout=“horizontal” title=“Hello World”> <mx:Script> <![CDATA[ import mx.events.IndexChangedEvent; import flash.filesystem.*; import flash.events.Event; import flash.net.FileFilter; public function fileOpen() : void { var fileToOpen:File= File.desktopDirectory; var txtFilter:FileFilter = new FileFilter(“Text *.as;*.css;*.html;*.txt;*.xml”, “*.as;*.css;*.html;*.txt;*.xml”); try { fileToOpen.addEventListener(Event.SELECT, fileSelected); fileToOpen.browseForOpen(“Open”, [txtFilter]); } catch (error:Error) { trace(“Failed:”, error.message) } } public function fileSelected(event:Event) : void { var stream : FileStream = new FileStream(); stream.open(File(event.target), FileMode.READ); var fileData:String = stream.readUTFBytes(stream.bytesAvailable); fileList.text = fileData; } ]]> </mx:Script> <mx:Button id=“browse” label=“Browse…” click=“fileOpen()” /> <mx:TextArea id=“fileList” width=“400″ height=“400″ /> </mx:WindowedApplication> и получил огромный болт - при нажатии на кнопку “Browse…” появляется окошко, в нем выбираешь файл но никакого события не происходит ни cancel ни select вообще ничего не происходит. 3 раза перечитал хелп, погуглил, нашел интересный блог от Benjamin Dobler - RichApps и там нашел описание мероприятия от адоба и его результатов (там есть весомый архив с различными примерами AIR приложений, в том числе и работы с файловой системой). Блог нужно читать всем внимательно 3 раза ибо интересно. Так вот его пример работал, а мой нет разница был в том что моя переменная File был объявлена локально в функции и видимо на крысу по быстрому собралась мусорщиком %). Правильный ответ в моей проблеме это объявить переменную как свойства класса и становиться замечательно! <?xml version=“1.0″ encoding=“utf-8″?>
<mx:WindowedApplication xmlns:mx=“http://www.adobe.com/2006/mxml” layout=“horizontal” title=“Hello World”> <mx:Script> <![CDATA[ import mx.events.IndexChangedEvent; import flash.filesystem.*; import flash.events.Event; import flash.net.FileFilter; private var fileToOpen:File; public function fileOpen() : void { fileToOpen = File.desktopDirectory; var txtFilter:FileFilter = new FileFilter(“Text *.as;*.css;*.html;*.txt;*.xml”, “*.as;*.css;*.html;*.txt;*.xml”); try { fileToOpen.addEventListener(Event.SELECT, fileSelected); fileToOpen.browseForOpen(“Open”, [txtFilter]); } catch (error:Error) { trace(“Failed:”, error.message) } } public function fileSelected(event:Event) : void { var stream : FileStream = new FileStream(); stream.open(File(event.target), FileMode.READ); var fileData:String = stream.readUTFBytes(stream.bytesAvailable); fileList.text = fileData; } ]]> </mx:Script> <mx:Button id=“browse” label=“Browse…” click=“fileOpen()” /> <mx:TextArea id=“fileList” width=“400″ height=“400″ /> </mx:WindowedApplication> |
AIR. Сюрпризы от File.browseForOpen Поставил флекс билдер 3 и решил пощупать AIR за самые интересные места, а именно за работу с файловой системой Взял самый простой пример их хелпа по File метод browseForOpen воткнул его в приложение <?xml version=“1.0″ encoding=“utf-8″?>
<mx:WindowedApplication xmlns:mx=“http://www.adobe.com/2006/mxml” layout=“horizontal” title=“Hello World”> <mx:Script> <![CDATA[ import mx.events.IndexChangedEvent; import flash.filesystem.*; import flash.events.Event; import flash.net.FileFilter; public function fileOpen() : void { var fileToOpen:File= File.desktopDirectory; var txtFilter:FileFilter = new FileFilter(“Text *.as;*.css;*.html;*.txt;*.xml”, “*.as;*.css;*.html;*.txt;*.xml”); try { fileToOpen.addEventListener(Event.SELECT, fileSelected); fileToOpen.browseForOpen(“Open”, [txtFilter]); } catch (error:Error) { trace(“Failed:”, error.message) } } public function fileSelected(event:Event) : void { var stream : FileStream = new FileStream(); stream.open(File(event.target), FileMode.READ); var fileData:String = stream.readUTFBytes(stream.bytesAvailable); fileList.text = fileData; } ]]> </mx:Script> <mx:Button id=“browse” label=“Browse…” click=“fileOpen()” /> <mx:TextArea id=“fileList” width=“400″ height=“400″ /> </mx:WindowedApplication> и получил огромный болт - при нажатии на кнопку “Browse…” появляется окошко, в нем выбираешь файл но никакого события не происходит ни cancel ни select вообще ничего не происходит. 3 раза перечитал хелп, погуглил, нашел интересный блог от Benjamin Dobler - RichApps и там нашел описание мероприятия от адоба и его результатов (там есть весомый архив с различными примерами AIR приложений, в том числе и работы с файловой системой). Блог нужно читать всем внимательно 3 раза ибо интересно. Так вот его пример работал, а мой нет разница был в том что моя переменная File был объявлена локально в функции и видимо на крысу по быстрому собралась мусорщиком %). Правильный ответ в моей проблеме это объявить переменную как свойства класса и становиться замечательно! <?xml version=“1.0″ encoding=“utf-8″?>
<mx:WindowedApplication xmlns:mx=“http://www.adobe.com/2006/mxml” layout=“horizontal” title=“Hello World”> <mx:Script> <![CDATA[ import mx.events.IndexChangedEvent; import flash.filesystem.*; import flash.events.Event; import flash.net.FileFilter; private var fileToOpen:File; public function fileOpen() : void { fileToOpen = File.desktopDirectory; var txtFilter:FileFilter = new FileFilter(“Text *.as;*.css;*.html;*.txt;*.xml”, “*.as;*.css;*.html;*.txt;*.xml”); try { fileToOpen.addEventListener(Event.SELECT, fileSelected); fileToOpen.browseForOpen(“Open”, [txtFilter]); } catch (error:Error) { trace(“Failed:”, error.message) } } public function fileSelected(event:Event) : void { var stream : FileStream = new FileStream(); stream.open(File(event.target), FileMode.READ); var fileData:String = stream.readUTFBytes(stream.bytesAvailable); fileList.text = fileData; } ]]> </mx:Script> <mx:Button id=“browse” label=“Browse…” click=“fileOpen()” /> <mx:TextArea id=“fileList” width=“400″ height=“400″ /> </mx:WindowedApplication> |
Microsoft Communications Server 2007 и видеопочта на Flash Продолжая неделю Microsoft на Потрошителе, порадую вас новостью: вчера Билл Гейтс представил новый сервер, который должен интегрировать все виды человеческой болтовни: голос, видео, чаты (ICQ) и т.п. Сервер называется так, как написано в заголовке (MCS2007), а клиент называется Microsoft Office Communicator 2007 (MOC2007), плюс Microsoft Office Live Meeting (MOLM) (Silverlight не упоминался). Добавим это к списку наступательных вооружений Microsoft. Совет: держитесь за red5. Видеопочта на флэшеА вот этот интересный 'TokBox' ресурс уже сейчас предлагает создание и хранение видео-чатов на флэше и уже имеет Facebook-виджет, что сейчас весьма ценно. Можно назвать это видеофоном с функцией сохранения. Придется настроить свою вебкамеру...UPD: мой Скайп сегодня скачал без спросу свое обновление. Добавлена функция видео-чата. Да, рано старичка вычеркивать, хотя потесниться ему придется, и наверняка не на сантиметр. |
FDT 3.0 вышел Так не хотелось прерывать поcвященную Microsoft неделю публикациями Flash-новостей, но не могу удержаться: Состоялся релиз FDT 3.0. |