Показаны сообщения с ярлыком actionscript. Показать все сообщения
Показаны сообщения с ярлыком actionscript. Показать все сообщения

вторник, 13 апреля 2010 г.

Realaxy ActionScript Editor beta и будущее программирования

Realaxy ActionScript Editor будет впервые представлен публике на конференции Creative Future в Москве, 23 апреля, по адресу ул. Новый Арбат 24 (кинотеатр Октябрь).
11:45—12:45 «Новое поколение редакторов: Realaxy ActionScript Editor глазами создателей.» Выездной подкаст. Евгений Потапенко, Иван Дембицкий, Зал №8

Тезисы:
Мир меняется или почему дизайнеру будет проще начать программировать Flash проекты самому.
Что такое умный редактор кода.
Интерфейс vs текст - вспоминаем Normal Mode во Flash.
Ранняя диагностика ошибок и чем это грозит тараканам.
Пишем одно, получаем 10.
Уникальные возможности Realaxy ActionScript Editor - пишем же для себя.
Что такое расширение и специализация языка и зачем это нужно.
Примеры, возможности, демонстрации.

Для сильно умных можем затронуть вопросы:
Meta Programming System, Domain Specific Languages, Language Oriented Programming, ReactionScript, фриланс программирование в Черногории.
Также в программе раздача закрытой бета версии редактора.

Те, кто не попадут на конференцию, но хотят получить закрытую бету, разработчики предлагают опубликовать новость в совем средстве массовой информации и прислать ссылку на нее письмом на адрес ivan.dembicki@gmail.com указав тему письма [betatest].

Тем, кто впервые слышит о Realaxy ActionScript Editor рекомендуем посмотреть серию скринкастов.

Должно получиться нечто революционное, что может изменить представление и сам процесс разработки -

очень интересное виденье будущего от Ivan Dembicki:

Вообще, в ближайшей перспективе (лет 10) произойдет отрыв языков программирования от их "родных" технологий. Зная AS можно будет писать JS или си-шные проекты и наоборот.

Это мэйнстрим, если хотите. И этот мэйнстрим снесет любого гиганта, стоящего у него на пути. Потому, что цена.
Вы пишете игру и выгоняете под разные платформы и технологии. Цена = X.
Вы пишете игру и портируете и переписываете под разные платформы и технологии. Цена стремится к X*количество технологий.
Перед этим никто, ни Microsoft, ни Apple не устоит, если встанут поперек дороги.

Причины тому есть и очень серьезные:

1. размывание монополии Microsoft на ось.
Если раньше можно было говорить о тотальной монополии Microsoft, то сегодня появились совершенно новые рынки, на которых уже не Microsoft играет ведущую роль. (Пример Apple и iPhone вам в помощь)

2. Даже на родной территории Microsoft его начинают двигать все кому не лень. И тенденция только усиливается. (Пример Google OS и Apple также вам в помощь)

3. При увеличении количества моделей девайсов, даже внутри конкретной платформы есть особенности моделей девайсов, которые нужно учитывать. Их количество вскоре зашкалит настолько, что ни один человек не в состоянии будет помнить все особенности при заточке под конкретный девайс.

А теперь вспомним историю Java.
Разработчики Java изначально делали упор на кроссплатформенности.
Сишники, при виде сравнительных тестов производительности, хохотали до слёз и пророчили скоропостижную смерть или вечное программирование стиральных машин на этом языке.

И что произошло?
Сегодня Java исключительно в верхних позициях (чаще всего на первых) любых рейтингов. Его производительность не вызывает смеха ни у кого, а преимущества с каждым днем оттесняют остальные языки на второй план. (Google по запросу "рейтинг языков программирования" вам в помощь) Несмотря на то, что пользователей Mac и Linux было считанные единицы по сравнению с Microsoft, принцип кроссплатформенности вывел Java на первые позиции.

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

Схема развития событий, аналогичная Java, ожидает и кросстехнологичные средства разработки.

Автокомплитов и рефакторингов уже недостаточно. И недостаточно поддержки разных языков в одном редакторе. Возможность трансформации кода под разные языки и платформы - вот что нужно.

Да, вначале таких будет немного и они будут кривоваты. Но со временем эта машина отшлифуется и наберет обороты. Никто не захочет отказываться от новых возможностей. Кто не успеет, тот опоздает.

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

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

©Ivan Dembicki

суббота, 3 октября 2009 г.

Парсинг JSON без библиотек в одну строку

json

Легкий и простой способ парсить JSON, без использования сторонних библиотек предложен Tyler Larson на cookbooks.adobe.com

public function decode( data:String ):void
{
   return ExternalInterface.call("function(){return " + data + "}");
}

воскресенье, 28 июня 2009 г.

IE vs Flash (AS3)

Решил тут записывать о моментах возникающих в разработке на Flash (AS), себе для памяти, а может кому еще пригодится.

Практически все знают, что IE очень своеобразный браузер, но он все еще не перестает меня удивлять. Даже казалось бы в кроссплатформенный флеш он вносит свои коррективы.

IE VS Flash

Итак был себе мирно код для прелоадера на AS3, никого не трогал:


loaderInfo.addEventListener(ProgressEvent.PROGRESS, loadingListener);
private function loadingListener (e:ProgressEvent):void
{
  if(e.bytesLoaded>=e.bytesTotal)
  {
    gotoAndStop(2);
  }
}



Но, оказывается, если Internet Explorer закэшировал флешку, то ProgressEvent не работает.
Поэтому, надо использовать старый добрый onEnterFrame:


root.addEventListener("enterFrame",onEnterFrame);
function onEnterFrame(e:Event)
{
  if(loaderInfo.bytesLoaded >= loaderInfo.bytesTotal)
  {
    gotoAndStop(2);
    root.removeEventListener("enterFrame",onEnterFrame);
  }
}



либо отдельно добавить проверку загрузки


if (loaderInfo.bytesLoaded >= loaderInfo.bytesTotal)
{
  gotoAndStop(2);
}

Приятного кодинга!