Flex и RIA блоги



2009-10-08

08:13:51, Junik
Передача версии flex приложения при компиляции (Flex 3)

Когда давно я писала о вариантах передачи версии в приложение. Там упоминалось возможное использования для этого сonditional compilation, но тогда еще Flex 3 не вышел.

Сейчас уже давным давно вышел Flex 3 и даже 4 не за горами.

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

Передать константы в приложение можно, используя опцию компилятора compiler.define. Константы могут быть типов Boolean, String, Number или выражения, которые могут быть преобразованы в ActionScript в процессе компиляции. Далее эти константы доступны в приложении как глобальные.

Используя опцию define, необходимо для константы определить: namespace, имя и значение:

-define=namespace::variable_name,value

Пример:

-define=VERSION::description,'3.15.6'

Доступ из приложения доступен пока только из as-классов. В скором будущем, возможно будет работать и доступ из mxml-классов. Говорят, что в mxml-классах можно использовать только Boolean. Но зачем нам? Мы же код в mxml не пишем. ;)
Пример доступа:

public static const VERSION_DESCR:String = VERSION::description;

Подробнее про использование conditional compilation в доках.

Bookmark this article at


2009-10-07

15:57:16, Flash-ripper.com
Crosspost to Flex Cookbook

Пишет Slon_vsapogah:

Проблема

Блоггеры часто пишут хорошие посты, которые дадут фору двум третям постов во Flex Cookbook. Однако из-за того, что посты на русском, а блоги — мало известны, эти посты не получают должного внимания. Как следствие, уменьшается польза от написания таких постов.

Решение

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

  • Эти статьи будут отлично смотреться в вашем резюме при работе с англоязычными компаниями, а денег с ними можно заработать существенно больше, чем у нас.
  • Аудитория там гораздо больше — вы получите хороший feedback.
  • Хорошая практика в письменном английском, опять же пригодится при работе с иностранными компаниями.
  • Если у Вас есть англоязычная версия блога — хороший пиар для нее.

15:57:16, Flash-ripper.com
Crosspost to Flex Cookbook

Пишет Slon_vsapogah:

Проблема

Блоггеры часто пишут хорошие посты, которые дадут фору двум третям постов во Flex Cookbook. Однако из-за того, что посты на русском, а блоги — мало известны, эти посты не получают должного внимания. Как следствие, уменьшается польза от написания таких постов.

Решение

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

  • Эти статьи будут отлично смотреться в вашем резюме при работе с англоязычными компаниями, а денег с ними можно заработать существенно больше, чем у нас.
  • Аудитория там гораздо больше — вы получите хороший feedback.
  • Хорошая практика в письменном английском, опять же пригодится при работе с иностранными компаниями.
  • Если у Вас есть англоязычная версия блога — хороший пиар для нее.

12:15:16, Flash-ripper.com
Предлагаю критиковать Adobe по делу

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

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

Нытье как практика провала хороших начинаний

В обсуждении высказываются разные мнения, и вот кто-то выражает свои опасения, делится своей тревогой, что — нет, может не сработать, и у него вроде бы есть на то повод. В случае с Actionscript и iPhone поводом является низкая на данный момент производительность приложений, написанных под это решение, "FPS уже не тот FPS". В результате люди, вместо того, чтобы обсуждать идеи, обсуждают страхи. Круто. Очевидно же, что повысят FPS, куда денутся? Продукт еще не вышел даже, так почему бы не иметь терпение? Зачем останавливать еще на старте других участвующих в дискуссии флэш-разработчиков? Они могли бы уже сейчас начать экспериментировать с новой технологией, но вы их "удачно" остановили своими жалобами, вы написали в них умные слова о том, что все плохо. Вы убедили тех, кто мог что-то сделать, не делать этого. Вы не хотели. Просто так получилось, что смысл ваших слов уместился в формулировку "Actionscript 3 + iPhone не нужен". Это неправильно. Пусть кто может — делает, не останавливайте его.

Критика как практика развития новых технологий

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

Если вы хотите улучшать свое бытье, исключите из него нытье. Особенно в профессиональном плане: важно полностью отказаться от нытья и скулежа. Я не помню случая, когда жалобные стоны привели бы к нужному результату.

Я не говорю о том, что критика не нужна. Я лишь пытаюсь намекнуть, что она должна быть конструктивной и звучать там, где от нее будет полезный эффект. Иначе это не критика, а всего лишь проекция вашего дурного настроения на плоскость обсуждения Smile


12:15:16, Flash-ripper.com
Предлагаю критиковать Adobe по делу

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

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

Нытье как практика провала хороших начинаний

В обсуждении высказываются разные мнения, и вот кто-то выражает свои опасения, делится своей тревогой, что — нет, может не сработать, и у него вроде бы есть на то повод. В случае с Actionscript и iPhone поводом является низкая на данный момент производительность приложений, написанных под это решение, "FPS уже не тот FPS". В результате люди, вместо того, чтобы обсуждать идеи, обсуждают страхи. Круто. Очевидно же, что повысят FPS, куда денутся? Продукт еще не вышел даже, так почему бы не иметь терпение? Зачем останавливать еще на старте других участвующих в дискуссии флэш-разработчиков? Они могли бы уже сейчас начать экспериментировать с новой технологией, но вы их "удачно" остановили своими жалобами, вы написали в них умные слова о том, что все плохо. Вы убедили тех, кто мог что-то сделать, не делать этого. Вы не хотели. Просто так получилось, что смысл ваших слов уместился в формулировку "Actionscript 3 + iPhone не нужен". Это неправильно. Пусть кто может — делает, не останавливайте его.

Критика как практика развития новых технологий

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

Если вы хотите улучшать свое бытье, исключите из него нытье. Особенно в профессиональном плане: важно полностью отказаться от нытья и скулежа. Я не помню случая, когда жалобные стоны привели бы к нужному результату.

Я не говорю о том, что критика не нужна. Я лишь пытаюсь намекнуть, что она должна быть конструктивной и звучать там, где от нее будет полезный эффект. Иначе это не критика, а всего лишь проекция вашего дурного настроения на плоскость обсуждения Smile


2009-10-06

20:54:53, Flash-ripper.com
На Adobe MAX 2009 показали монетизацию RIA-приложений с помощью Flash Platform Services

Сегодня вечером Серж Джесперс на Adobe MAX Day 2 Keynote показал свое приложение, которое он монетизирует на Flash Platform Services.

С помощью этого сервиса монетизации RIA-приложений Серж также имеет статистику: сколько людей увидело страницу его приложения, сколько раз скачали, сколько установили. Кстати, приложение Сержа очень похоже на игровой баннер-стрелялку, который мы однажды обсуждали у Хитрого, но есть важное отличие: этот "игробаннер" ведет не на сайт рекламодателя, а на полную, платную версию приложения.

Чтобы обеспечить работу разных схем монетизации, запустили новую технологию "Сибуя", название заимствовано у одного из деловых районов Токио, и пока доступ в Сибую есть не всем (Limited Beta). Сибуя реализует функциональность "попробуй-и-купи" (try & buy) для AIR-приложений.

Итак, дорогие флэшеры, флексеры и те, что очень скоро понаедут на наш новый большой красивый рынок. Скоро нам можно будет грабить корованы через некое подобие Adobe FlexStore / Marketplace, делать бесплатные версии приложений и через них распространять платные, работать по модели триал-версий и т.п.

Таблица информационных элементов Adobe складывается яснее.


20:54:53, Flash-ripper.com
На Adobe MAX 2009 показали монетизацию RIA-приложений с помощью Flash Platform Services

Сегодня вечером Серж Джесперс на Adobe MAX Day 2 Keynote показал свое приложение, которое он монетизирует на Flash Platform Services.

С помощью этого сервиса монетизации RIA-приложений Серж также имеет статистику: сколько людей увидело страницу его приложения, сколько раз скачали, сколько установили. Кстати, приложение Сержа очень похоже на игровой баннер-стрелялку, который мы однажды обсуждали у Хитрого, но есть важное отличие: этот "игробаннер" ведет не на сайт рекламодателя, а на полную, платную версию приложения.

Чтобы обеспечить работу разных схем монетизации, запустили новую технологию "Сибуя", название заимствовано у одного из деловых районов Токио, и пока доступ в Сибую есть не всем (Limited Beta). Сибуя реализует функциональность "попробуй-и-купи" (try & buy) для AIR-приложений.

Итак, дорогие флэшеры, флексеры и те, что очень скоро понаедут на наш новый большой красивый рынок. Скоро нам можно будет грабить корованы через некое подобие Adobe FlexStore / Marketplace, делать бесплатные версии приложений и через них распространять платные, работать по модели триал-версий и т.п.

Таблица информационных элементов Adobe складывается яснее.


08:16:22, Flash-ripper.com
Flash CS5 и iPhone

Пишет antongranik:

Скоро, совсем скоро уже выйдет бета Flash CS5 и в ней будет возможность создавать программы под iPhone. Вот демонстрационное видео и примеры рабочих программ в AppStore, а вот краткое описание того, как Adobe это провернули, и что нужно будет, чтобы творить под iPhone.


08:16:22, Flash-ripper.com
Flash CS5 и iPhone

Пишет antongranik:

Скоро, совсем скоро уже выйдет бета Flash CS5 и в ней будет возможность создавать программы под iPhone. Вот демонстрационное видео и примеры рабочих программ в AppStore, а вот краткое описание того, как Adobe это провернули, и что нужно будет, чтобы творить под iPhone.


04:29:34, Flash-ripper.com
Flash на iPhone теперь почти официально

Пишет Zaphod:

Flash Professional CS5 даст вам возможность создавать приложения на AS3 для iPhone и iPod, распространяющиеся через Apple App Store. Там же можно прочитать небольшой FAQ о flash и iPhone, и о том, что в App Store уже доступны первые приложения, созданные в бете Flash CS5. Также пишут, что публичная бета Flash CS5 будет доступна уже в конце этого года.

А некоторые haXe'ры уже предполагают, что iPhone приложения, созданные с помощью haXe будут быстрее, чем созданные в CS5.

Будем надеяться на лучшее Big smile


04:29:34, Flash-ripper.com
Flash на iPhone теперь почти официально

Пишет Zaphod:

Flash Professional CS5 даст вам возможность создавать приложения на AS3 для iPhone и iPod, распространяющиеся через Apple App Store. Там же можно прочитать небольшой FAQ о flash и iPhone, и о том, что в App Store уже доступны первые приложения, созданные в бете Flash CS5. Также пишут, что публичная бета Flash CS5 будет доступна уже в конце этого года.

А некоторые haXe'ры уже предполагают, что iPhone приложения, созданные с помощью haXe будут быстрее, чем созданные в CS5.

Будем надеяться на лучшее Big smile

Update от Роста: а вот еще больше полезной инфы по разработке на AS3 под iPhone на русском.

Update #2: Flex on iPhone — перевод официального FAQ по Slider Framework для мобильных устройств.


2009-10-05

17:22:39, Flash-ripper.com
Помогите разобраться. Flex — Львов, 24. Flash — Киев, 25 октября

Как вы уже знаете, 24 октября во Львове состоится Flex-UAFPUG, для тру флексеров.

С другой стороны, немногим ране поступило предложение провести 25-го октября в Киеве встречу UAFPUG, посвящённую flash играм, развить темы по горячим следам Casual Connect, и, возможно, по следам Adobe Max 2009 и всех последних новинок флэша, от которых наши волосы становятся такими шелковистыми. Но теперь возник вопрос, стоит ли вообще проводить встречу в Киеве 25-го? Не будем скрывать, над этой встречей нависла реальная угроза исчезновения из календаря UAFPUG. Вот аргументы за проведение встречи 25 октября в Киеве:

  1. Аудитории Львовской и Киевской встреч практически не пересекаются. Львовская встреча имеет исключительно флексовую специфику для разработчиков крупных приложений уровня enterprise, я гарантирую это. Флэшерам, художникам, дизайнерам там будет удивительно скучно. Поэтому на эту встречу мы не пустим никого кроме флексеров и вы увидите, я гарантирую это, фильтрацию участников в действии. А вот Киевская встреча — для флэшеров, преимущественно игровиков.
  2. Даже если кто-то захочет посетить обе встречи, ему будет даже удобнее сделать это за одни выходные. А для гостей обоих городов это вообще экономия времени — меньше жизни в поездах. Например, я флексофлэшер из Крыжополя, хочу попасть на обе встречи. Еду во Львов, там посещаю флексовую конференцию, после нее иду на афтепати, а потом оперативно еду в поезде № 81 Ужгород - Київ, отправление в 23:21, прибытие в 9:31, 10 часов в пути, курсирование ежедневно, и есть еще варианты. В поезде выспался, утром я уже в Киеве, прогулялся по городу и пошел на встречу флэшеров. Быстро? Удобно? Мне кажется, что так и есть.

Мы хотим узнать ваше мнение в комментариях к этому посту.

А еще мы хотим узнать, какие доклады вам интересны

Пожалуйста, напишите, о чем вы хотите узнать на встрече UAFPUG и мы постараемся найти докладчиков. Возможно, вы даже знаете, от кого вы хотите услышать доклад и на какую тему (впервые эта идея возникла на ITSea 2009). Закажите доклад. Например, я хочу, чтобы Хитрый рассказал о том, как использовать простой платформенный движок для флэш-игр. Вы тоже чего-то хотите от кого-то? Не стесняйтесь, пишите, и мы заставим их рассказать все.


17:22:39, Flash-ripper.com
Помогите разобраться. Flex — Львов, 24. Flash — Киев, 25 октября

Как вы уже знаете, 24 октября во Львове состоится Flex-UAFPUG, для тру флексеров.

С другой стороны, немногим ране поступило предложение провести 25-го октября в Киеве встречу UAFPUG, посвящённую flash играм, развить темы по горячим следам Casual Connect, и, возможно, по следам Adobe Max 2009 и всех последних новинок флэша, от которых наши волосы становятся такими шелковистыми. Но теперь возник вопрос, стоит ли вообще проводить встречу в Киеве 25-го? Не будем скрывать, над этой встречей нависла реальная угроза исчезновения из календаря UAFPUG. Вот аргументы за проведение встречи 25 октября в Киеве:

  1. Аудитории Львовской и Киевской встреч практически не пересекаются. Львовская встреча имеет исключительно флексовую специфику для разработчиков крупных приложений уровня enterprise, я гарантирую это. Флэшерам, художникам, дизайнерам там будет удивительно скучно. Поэтому на эту встречу мы не пустим никого кроме флексеров и вы увидите, я гарантирую это, фильтрацию участников в действии. А вот Киевская встреча — для флэшеров, преимущественно игровиков.
  2. Даже если кто-то захочет посетить обе встречи, ему будет даже удобнее сделать это за одни выходные. А для гостей обоих городов это вообще экономия времени — меньше жизни в поездах. Например, я флексофлэшер из Крыжополя, хочу попасть на обе встречи. Еду во Львов, там посещаю флексовую конференцию, после нее иду на афтепати, а потом оперативно еду в поезде № 81 Ужгород - Київ, отправление в 23:21, прибытие в 9:31, 10 часов в пути, курсирование ежедневно, и есть еще варианты. В поезде выспался, утром я уже в Киеве, прогулялся по городу и пошел на встречу флэшеров. Быстро? Удобно? Мне кажется, что так и есть.

Мы хотим узнать ваше мнение в комментариях к этому посту.

А еще мы хотим узнать, какие доклады вам интересны

Пожалуйста, напишите, о чем вы хотите узнать на встрече UAFPUG и мы постараемся найти докладчиков. Возможно, вы даже знаете, от кого вы хотите услышать доклад и на какую тему (впервые эта идея возникла на ITSea 2009). Закажите доклад. Например, я хочу, чтобы Хитрый рассказал о том, как использовать простой платформенный движок для флэш-игр. Вы тоже чего-то хотите от кого-то? Не стесняйтесь, пишите, и мы заставим их рассказать все.


17:04:26, Блог Fuzzle CMS
Бесплатные музыкальные виджеты для Fuzzle CMS

simple-mp3На днях мы добавили в наш каталог виджетов два новых виджета, предназначенных для проигрывания музыки: Simple MP3 Player и MP3 Button.

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

Второй виджет (MP3 Button) предназначен для легкого и быстрого добавления на сайт кнопки включения/отключения фоновой музыки. Поддерживается настройка:

  • автоматического проигрывания;
  • цвета компонента для лучшего вписывания в дизайн;
  • громкости звучания;
  • скорости анимации.

Что особенно приятно, решено сделать оба виджета бесплатными — мы считаем, что это сделает мультимедийные возможности Fuzzle доступными более широкому кругу пользователей. Оставайтесь с нами!


13:22:48, Flash-ripper.com
Послушайте презентацию о Mate и получите три года опыта Flex. Бонус: +107.3% удовольствия бесплатно

Мама фреймворка Mate Лора Аргуэльо рассказывает о работе с ним. Друзья, это тот самый голос, которым надо делать презентации. Боже, почему у меня нет такого голоса в запасе, я хочу второй и третий голоса, я бы писал этими голосами у себя в блоге и делал бы подкасты.

Mate FAQ: как правильно произносится "Mate"?

Этот вопрос задают часто и мы знаем на него точный ответ.

???

M


13:22:48, Flash-ripper.com
Послушайте презентацию о Mate и получите три года опыта Flex. Бонус: +107.3% удовольствия бесплатно

Мама фреймворка Mate Лора Аргуэльо рассказывает о работе с ним. Друзья, это тот самый голос, которым надо делать презентации. Боже, почему у меня нет такого голоса в запасе, я хочу второй и третий голоса, я бы писал этими голосами у себя в блоге и делал бы подкасты.

Mate FAQ: как правильно произносится "Mate"?

Этот вопрос задают часто и мы знаем на него точный ответ.

???

M


10:26:00, Flash-разработка
Копипаст фильтров из CS во Flex
Хорошая это штука - "Copy Motion to ActionScript 3" - в IDE CS3 (речь идет именно об этой версии). Наверняка, все уже давно смекнули, какие выгоды она несет для Flex. Главная выгода - сокращается объем ручной работы и отладки.
В частности, я успешно копирую настройки фильтров для компонентов. И делаю это следующим образом:
  1. В тестовом файле создаем клип образца, визуально похожего на то что у нас должно быть во flex - например, текстовое поле или кнопку. Навешиваем на нее кучу фильтров, до получения нужной нам картинки.
  2. На слое с клипом кликаем правой кнопкой и выбираем "Copy Motion to ActionScript 3".
  3. Вставляем куда-нибудь то, что скопировалось в буфер - например, тут же в редактор Actions.
  4. Находим там блок <filters>...</filters>
  5. Копипастим его себе во Flex-код, в контейнер тега нужного нам визуального компонента.
  6. Заменяем filters на mx:filters и filters:BevelFilter на mx:BevelFilter.mx:filters может быть другой префикс - зависит от компонента)
  7. Компилируем и получаем картину, аналогичную CS. Дотюниваем, если необходимо, параметры.

10:26:00, Flash-разработка
Копипаст фильтров из CS во Flex
Хорошая это штука - "Copy Motion to ActionScript 3" - в IDE CS3 (речь идет именно об этой версии). Наверняка, все уже давно смекнули, какие выгоды она несет для Flex. Главная выгода - сокращается объем ручной работы и отладки.
В частности, я успешно копирую настройки фильтров для компонентов. И делаю это следующим образом:
  1. В тестовом файле создаем клип образца, визуально похожего на то что у нас должно быть во flex - например, текстовое поле или кнопку. Навешиваем на нее кучу фильтров, до получения нужной нам картинки.
  2. На слое с клипом кликаем правой кнопкой и выбираем "Copy Motion to ActionScript 3".
  3. Вставляем куда-нибудь то, что скопировалось в буфер - например, тут же в редактор Actions.
  4. Находим там блок <filters>...</filters>
  5. Копипастим его себе во Flex-код, в контейнер тега нужного нам визуального компонента.
  6. Заменяем filters на mx:filters и filters:BevelFilter на mx:BevelFilter.mx:filters может быть другой префикс - зависит от компонента)
  7. Компилируем и получаем картину, аналогичную CS. Дотюниваем, если необходимо, параметры.



2009-10-04

20:08:21, 33 коровы
Source Code Licenses and Flash/Flex by Grant Skinner

Год с хвостиком, назад Grant Skinner написал статью Source Code Licenses and Flash/Flex, а один человек(который Илья ALFer) начал ее переводить и потом просто забил на неё :). Я вместе с женой решили ее перевести до конца, итак ниже вольный перевод и немного фраз от меня :

Очень часто мы используем в своих проектах код который находим в сети. Если проект чисто для себя, то я думаю это простительно, но когда речь заходит проектах для “больших дядей” вопрос о том по какой лицензии распостраняетсья найденый нами код очень немаловажен. И может так случиться что мы просто не сможем использовать чей-то уже готовый и нам привычный код.

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

Quick Links

Implicit GPL LGPL MPL BSD Apache MIT Public Domain CC Summary



Implicit Copyright/Неявный копирайт (лицензия не указана)

Коммерческое использование Производные работы Установление авторства
Нет Нет Да

Описание

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

Смысл

Без специальных разрешений от автора вы не имеете права использовать код без явной лицензии в своих продуктах. Получение прав на использование такого кода через суд вообще мутное дело (особенно если у вы поизменяли этот код).

Дополнительная информация



GPL GNU General Public License

Коммерческое использование Производные работы Установление авторства
Да, но ВСЕ сорцы должны быть лицензированы под GPL Сорцы и дистрибуция

Описание

GNU General Public License является “вирусной” лицензией, а это означает, что она должна применяться к всему исходному коду, взаимодействующему с вашим GPL кодом. Согласно Free Software Foundation (FSF), это включает в себя и динамически связанные библиотеки.

Смысл

Вы можете свободно использовать GPL библиотеки в коммерческих проектах. Однако, если вы это сделаете весь исходный код вашего проекта должен быть доступен любому человеку, “который распоряжается копией” вашего проекта. Это означает, что конкуренты вашего клиента могут воспользоваться кодом, и совершенно безнаказанно использовать его в своих целях. Очень немногие клиенты будут согласны с этим.

Заметим, что серверный код является исключением, поскольку он никогда не попадает в распоряжение конечного пользователя. Касательно того, как GPL применяется для веб-приложений построенных в Flash, которые исполняются на клиентской машине, но не устанавливаются у него, до сих пор проходят дискуссии переходящие в холивары.

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

Дополнительная информация



LGPL GNU Lesser General Public License

Коммерческое применение Производные работы Установление авторства
Да Да, но прямые производные должны публиковаться под  LGPL. Технически сложно удовлетворить требования в AS3.  Исходники и дистрибуция

Описание

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

Другое требование заключается в том, чт о любая  LGPL библиотека в твоем проекте должна разрешать обратное проектирование [ reverse engineering ] для обратного проектирования. И у пользователя долж на быть возможность заменять ее новыми версиями.

Смысл

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

Также неясно, как удовлетворить требование, чтобы пол ьзователь был в состоянии заменя ть библиотеки LGPL в веб-приложении.

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

LGPL имеет по сути практически те же особенно сти использования, как и GPL. Ты должен разместить уведомление об авторском праве и текст лицензии, а также информацию о том, что исходный  код был получен из библиотек LGPL.

Дополнительная информация



MPL Mozilla Public License

Коммерческое применение Производные работы Установление авторства
Да Да, но изменения относительно оригинального кода должны публиковаться под  MPL. Исходники и дистрибуция

Описание

MPL - очень либеральная лицензия. Она позволяет коммерческое использование и производные работы, и к тому же она очень снисходительна в своем определении защищенного кода. Только файлы, которые были изменены в оригинальных библиотеках MPL, или которые содержат  код, скопированный из таковой библиотеки, должны быть повторно опубликованы под MPL. В отличие от LGPL, нет никаких требований к динамическому присоединению - биб лиотеки могут быть собраны в твоем проект е .

Смысл

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

Дополнительная информация



BSD 3 & 4 clause versions

Коммерческое использование Производные работы Установление авторства
Да Да Исходники и документация. Deprecated 4 clause version требует упоминания во ВСЕХ   маркетинговых материалах

Описание

Лицензия BSD - очень простая, либера льная лицензия. Она разрешает и спользовать исходный код как вздумается, требуя только размещения уведомления об авторском праве и  текста лицензии в защищенных файлах исходного кода и в документации для программы.

Более поздняя 4 clause version лицензии требует, чтобы все маркетинговые материалы для программы упоминали автора лицензированных библиотек BSD. Это было аннулировано ,  поэтому маловероятно, что найдутся современные библиотеки , использующие 4 clause version.

Смысл

Требования к установлению авторства - это единственная реальная сложность при использования исходного кода, защищенного лицензией BSD. Есл и это 3 clause version версия лицензии, и в твоем клиенте есть уведомление об авторском праве и текст лицензии, находящийся в защищенном исходном коде, и в докум ентации (это может быть документ , присоединен ный к блоку « About »), тебе не следует беспокоиться. 

Нужно быть предельно осторожны м при использовании любых библиотек, защищенных 4 clause BSD версией лицензии,  в коммерческих проектах. Клиенты вряд ли будут счастливы, если им придется размещать ссылку на авторство в каждом баннере или радиоролике.

Дополнительная информация



Apache License version 2.0

Коммерческое использование Производные работы Установление авторства
Да Да Исходники и дистрибуция, если требует лицензиар.

Описание

The Apache License version 2.0 имеет практически такие же условия, как и лицензия BSD, но является более подробной и конкретизированной, охватывая более широкий ряд аспектов интеллектуальной собственности. Исходный код под AL2 может использоваться фактически в любых целях, но должен сохранить все соответствующие IP[? как это расшифровать переводится] , лицензии, и уведомления об авторстве в исходном коде. Возможно , ты также необходимо показать данные уведомления или в файле “NOTICE”,  ил и в соответствующем месте приложения.

ASL2 - популярная лицензия с Cold Fusion Community.

Смысл

Как и с лицензией BSD, особенности использования библиотек AL2  в основном  ограничены требовани ями к установлению авторства. Ты должен сохранить уведомления в исходном коде, и возможно также будешь обязан продемонстрировать данные уведомления или в файле “NOTICE”, или на странице «About» своего приложения. Последнее требуется только в том случае,  если текстовый файл NOTICE был включе н в оригинальную дистрибуцию .

Дополнительная информация



MIT (X11)

Коммерческое использование Производные работы Установление авторства
Да Да Только исходники

Описание

Лицензия MIT очень проста и очень либеральна. Она разрешает делать все, что вздумается с лицензированным кодом, кроме удаления лицензии и информации об авторском праве.

Сложности

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

Я публикую большинство наших публично доступных библиотек под MIT, и я поощряю других разработчиков делать то же самое.

Дополнительная информация



Public Domain

Коммерческое использование Производные работы Установление авторства
Да Да Нет

Описание

Для того чтобы работать используя public domain , владелец должен явно посвятить свою работу public domain. Как только это сделано, ты получаешь все права для работы.

Смысл

Теоретически работа в public domain полностью свободна от препятствий. Это определено конкретной формулировкой предназначения public domain , которую использует владелец.

Дополнительная информация



Creative Commons

Коммерческое использование Производные работы Установление авторства
Варьируется Варьируется Варьируется

Описание

Creative Commons предлагает модульные лицензии, которые позволяют разработчику выбирать те условия, которые удовлетворяют его потребности. Например, я мог соз дать лицензию, которая позволяла бы коммерческое использование, производные раб оты, и не требовала ссылок на авторство. Или я мог создать такую лицензию, которая не разрешала бы коммерческого использования или моди фикаций, но требовал а установления авторства . Они та кже предлагают версии GPL, LGPL и BSD лицензий , так же как и Public Domain Dedication .

Одна из действительно наиболее  приятных вещей в лицензиях Creative Commons - это то, что они включают удобочитаемое заключение в каждой лицензии в дополнение к полному юридическому тексту.

Важно отметить, что “модульные” лицензии Creative Commons не предназначены для использования с программным обеспечением.

Смысл:

Зависит от используемой лицензии.

Дополнительная информация

  • Creative Commons Website



Заключение

Если ты выкладываешь код без лицензии, то он защищен з аконом об авторском праве, а значит очень рискованно использовать его в коммерческих проектах.

Лицензии GPL и LGPL весьма рестриктивны,  поэтому использование кода, защищенного данными лицензиями, в коммерческих проектах может быть очень трудным, а порой и невозможным.  Первое становится трудным из-за вирусных условий,  а последнее  -   из-за технических трудностей отвечать их требованиям.

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

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

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

Я бы  поощрял разработчиков публиковать shared code под лицензией MIT . Когда я публикую исходный код , то делаю это, как правило, для того, чтобы помочь други м разработчикам с их рутинной работой , но не для того чтобы ввести тягостные ограничения или требования. Моя цель состоит в том, чтобы поощрить свободное sharing полезного кода, но не форсировать его (как делает GPL). Я всегда ценю ссылки на авторство, но понимаю, что это просто не возможно на некоторых проектах.

Я также поощрил бы разработчиков, чтобы они написали петицию владельцам наиболее часто используемых shared библиотек, чтобы те, в свою очередь поменяли лицензию на MIT, если они этого еще не сделали.

Я что-то неправильно осветил? У тебя есть дополнительная информация ? Пожалуйста, дай мне знать в комментариях. Я с радостью обновлю данную статью более точной информацией. 

Искать линки на русские варианты лицензий, я если честно поленился :) и так довольно долго пытался дописать этот пост.

Всем удачного кодирования, следите за своими лицензиями!


2009-10-03

19:01:32, Flash-ripper.com
Карусель и Лагранж — исходники от Сергеева

Помните, чем математики могут помочь флэшерам? То был годный доклад от Александра Сергеева. А теперь к нему есть исходники: LagrangeApproximatorSample.rar, и они немного причесаны. В почтовой группе ruFlash Александр так написал об этой работе:

Quote:
Оформил в виде AS3-класса, более-менее удобного для применения.

Принцип такой: вы знаете параметры объекта в некоторых точках, и нужно аппроксимировать параметры в промежуточных точках. Например, дизайнер дал вам раскадровку, где объект в нескольких положениях находится, вы просто нумеруете положения, выписываете на бумажку x, y, alpha, xscale, yscale, ..., запихиваете известные значения в объект LagrangeApproximator, и запрашиваете в произвольной точке.

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

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


19:01:32, Flash-ripper.com
Карусель и Лагранж — исходники от Сергеева

Помните, чем математики могут помочь флэшерам? То был годный доклад от Александра Сергеева. А теперь к нему есть исходники: LagrangeApproximatorSample.rar, и они немного причесаны. В почтовой группе ruFlash Александр так написал об этой работе:

Quote:
Оформил в виде AS3-класса, более-менее удобного для применения.

Принцип такой: вы знаете параметры объекта в некоторых точках, и нужно аппроксимировать параметры в промежуточных точках. Например, дизайнер дал вам раскадровку, где объект в нескольких положениях находится, вы просто нумеруете положения, выписываете на бумажку x, y, alpha, xscale, yscale, ..., запихиваете известные значения в объект LagrangeApproximator, и запрашиваете в произвольной точке.

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

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


13:16:36, Flash-ripper.com
Путеводитель по стилям электронной музыки от techno.org

Денис Кузнецов прислал мне ссылку на карту стилей электронной музыки от techno.org (di.fm). А чтобы эта шумная флэшка с примерами треков, пояснениями и моими соображениями по поводу не мешала читать RSS, мы поместили ее под кат: Electronic Music Guide.


13:16:36, Flash-ripper.com
Путеводитель по стилям электронной музыки от techno.org

Денис Кузнецов прислал мне ссылку на карту стилей электронной музыки от techno.org (di.fm). А чтобы эта шумная флэшка с примерами треков, пояснениями и моими соображениями по поводу не мешала читать RSS, мы поместили ее под кат: Electronic Music Guide.


2009-10-02

11:00:57, Flash-ripper.com
Flex: обычные практики — UAFPUG во Львове 24 октября 2009

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

Это будет весьма специфическая встреча по реальным флекс-практикам или, говоря другими словами, по флекс-практикам реального проекта.

Новичкам здесь не место?

Авторы более 9000 писем wrote:
"Хватит рассказывать, что такое датапровайдер и как приделать байндинг. Мы насмотрелись на примеры простых флекс-приложений. Мы напились молока, и теперь мы хотим мяса, нам нужно слышать хруст хитиновых оболочек реальных багов-шоустопперов!"

— пишут нам. На самом деле, это одно из частых пожеланий по результатам встреч UAFPUG. И действительно: пора поговорить о практиках проектирования, кодирования и выживания больших приложений. Реального энтерпрайз, не убоимся этого слова, уровня. Того уровня, на который флекс и нацелен как технология.

О чем хотят узнать и поговорить флекс-разработчики больших проектов?

Мы не ищем докладчиков для этой встречи. Они уже найдены и готовы поведать о многом. Но о чем именно? Это здесь и сейчас можете решить вы. Докладчики прочтут ответы к этой записи и сделают выводы. А чтобы им было легче читать, просьба писать комментарии по делу.

Итак, о чем хотят услышать и поспорить суровые флексеры, командные игроки, отцы проектов?


11:00:57, Flash-ripper.com
Flex: обычные практики — UAFPUG во Львове 24 октября 2009

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

Это будет весьма специфическая встреча по реальным флекс-практикам или, говоря другими словами, по флекс-практикам реального проекта.

Новичкам здесь не место?

Авторы более 9000 писем wrote:
"Хватит рассказывать, что такое датапровайдер и как приделать байндинг. Мы насмотрелись на примеры простых флекс-приложений. Мы напились молока, и теперь мы хотим мяса, нам нужно слышать хруст хитиновых оболочек реальных багов-шоустопперов!"

— пишут нам. На самом деле, это одно из частых пожеланий по результатам встреч UAFPUG. И действительно: пора поговорить о практиках проектирования, кодирования и выживания больших приложений. Реального энтерпрайз, не убоимся этого слова, уровня. Того уровня, на который флекс и нацелен как технология.

О чем хотят узнать и поговорить флекс-разработчики больших проектов?

Мы не ищем докладчиков для этой встречи. Они уже найдены и готовы поведать о многом. Но о чем именно? Это здесь и сейчас можете решить вы. Докладчики прочтут ответы к этой записи и сделают выводы. А чтобы им было легче читать, просьба писать комментарии по делу.

Итак, о чем хотят услышать и поспорить суровые флексеры, командные игроки, отцы проектов?


09:08:10, Flash-ripper.com
Flash Player 9.0.246 — ужос, летящий на крыльях ночи

Пишет skip:

Хотел поделиться опытом. Недавно выяснилось, что в каком-то 9 flash-плеере виджет работает неправильно, а именно выдает всякие неприятные эксепшены... Недолго думая, я скачал последнюю доступную дебажную версию плеера под номером 9.0.246.0 (или 9.0 r246) и как же был удивлен, обнаружив совершенно идиотский баг в нем (разработка из Flash CS4): если использовать компонент fl.controls.Button и на обработчике события CLICK вызвать setLoopBack у микрофона, то в момент появления секьюнрого диалога скин кнопки куда-то пропадает и при дальнейшем движении мышкой выскакивает Exception, объясняющий что типа низя removeChild в методе BaseButton.drawBackground ...

Я выпал в осадок, но нашел с помощью хороших людей (Рост, Константин) способ это победить, а именно использовал класс SimpleButton в данном кокретном случае. Затем я решил проверить другое приложение и в нем тоже полезли кучи эксепшнов. Офигев от такого хода событий, я поставил плеер 9.0.124 и проверил в нем — и о чудо! Там все работает без проблем, как и во всех 10-ых версиях плеера. Моему гневу не было предела Smile Объясните мне ЗАЧЕМ выпускать такие кривые версии??? А ведь найдутся пользователи, у которых она стоит (по данным с flaphone.com таковых 0,15%, но все равно)!


09:08:10, Flash-ripper.com
Flash Player 9.0.246 — ужос, летящий на крыльях ночи

Пишет skip:

Хотел поделиться опытом. Недавно выяснилось, что в каком-то 9 flash-плеере виджет работает неправильно, а именно выдает всякие неприятные эксепшены... Недолго думая, я скачал последнюю доступную дебажную версию плеера под номером 9.0.246.0 (или 9.0 r246) и как же был удивлен, обнаружив совершенно идиотский баг в нем (разработка из Flash CS4): если использовать компонент fl.controls.Button и на обработчике события CLICK вызвать setLoopBack у микрофона, то в момент появления секьюнрого диалога скин кнопки куда-то пропадает и при дальнейшем движении мышкой выскакивает Exception, объясняющий что типа низя removeChild в методе BaseButton.drawBackground ...

Я выпал в осадок, но нашел с помощью хороших людей (Рост, Константин) способ это победить, а именно использовал класс SimpleButton в данном кокретном случае. Затем я решил проверить другое приложение и в нем тоже полезли кучи эксепшнов. Офигев от такого хода событий, я поставил плеер 9.0.124 и проверил в нем — и о чудо! Там все работает без проблем, как и во всех 10-ых версиях плеера. Моему гневу не было предела Smile Объясните мне ЗАЧЕМ выпускать такие кривые версии??? А ведь найдутся пользователи, у которых она стоит (по данным с flaphone.com таковых 0,15%, но все равно)!


06:29:43, Flash-ripper.com
Первые опечатки с новым классом Vector

Если вы еще не знаете, то Vector — это новый класс во Flash Player 10. По способу использования он является типизированным массивом, о котором мечали еще флэшеры семидесятых. Vector не только типизирован, но и дает более производительный код (очевидно, его внутрення природа — не простая обертка вокруг массива). Вот статья по классу Vector для начинающих.

Понять класс Vector легко

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

var stringVector : Vector.<String> = new Vector.<String>();

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

public function findDuplicates(text : String) : Vector
{
   var result : Vector = new Vector.<Duplicate>(); 
   ...
   return result
}

Первая ошибка исправляется указанием полного типа вектора при объявлении переменной:

 var result: Vector.<Duplicate> = new Vector.<Duplicate>(); 

Вторая исправляется указанием полного типа вектора возвращаемого результата:

 public function findDuplicates(text : String) : Vector.<Duplicate>

(в примере <Duplicate> — это тип данных вектора, тут используется собственный класс, а на его месте можеть быть int, Date и т.д.)

Дочитали до этой фразы и стало скучно, используете вектор уже восемь-десять лет? Есть информация для продвинутых вектор-юзеров в ActionScript — динамическое создание экземпляров класса Vector и тест Array vs. Vector vs. Linked list.

Дочитали досюда? Круто *-)


06:29:43, Flash-ripper.com
Первые опечатки с новым классом Vector

Если вы еще не знаете, то Vector — это новый класс во Flash Player 10. По способу использования он является типизированным массивом, о котором мечали еще флэшеры семидесятых. Vector не только типизирован, но и дает более производительный код (очевидно, его внутрення природа — не простая обертка вокруг массива). Вот статья по классу Vector для начинающих.

Понять класс Vector легко

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

var stringVector : Vector.<String> = new Vector.<String>();

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

public function findDuplicates(text : String) : Vector
{
   var result : Vector = new Vector.<Duplicate>(); 
   ...
   return result
}

Первая ошибка исправляется указанием полного типа вектора при объявлении переменной:

 var result: Vector.<Duplicate> = new Vector.<Duplicate>(); 

Вторая исправляется указанием полного типа вектора возвращаемого результата:

 public function findDuplicates(text : String) : Vector.<Duplicate>

(в примере <Duplicate> — это тип данных вектора, тут используется собственный класс, а на его месте можеть быть int, Date и т.д.)

Дочитали до этой фразы и стало скучно, используете вектор уже восемь-десять лет? Есть информация для продвинутых вектор-юзеров в ActionScript — динамическое создание экземпляров класса Vector и тест Array vs. Vector vs. Linked list.

Дочитали досюда? Круто *-)


2009-10-01

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

Предыдущие 30 | Следующие 30