Upcoming Events

Recent Blog Entries

Intetics supports “Flash games as business” conference on the development of in-house Flash games from Belarusian startups.
Entry posted on Jun 22 by Valery Pesetski

On April 30, 2011, Intetics supported the conference meeting of Belarusian Adobe Flash Platform user group (BAFPUG) on "Flash games as business", which took place in Minsk. The conference brought together over 40 developers and experts in the field of domain, willing to share their difficult experience of developing and promoting in-house Flash games with colleagues, as well as to discuss the most pressing issues of the game-industry based on the Flash platform within the presentations and lobby interviews.

Many visitors from the near abroad attended the conference for the third time. This time the guest invited was Artemij Malkov, a manager of Russian Flash Platform user group, the first Adobe user group in the CIS.

The Belarusian user group found new partners:

• Association Infopark, which provided 40% discount to the conference participants on SEF.BY.

• Publisher O'reilly, which provided 40% discount on its books for Internet orders.

• Organizers of the conference provided Flash Gamm speakers with free tickets for the Moscow conference, which takes place on May, 12.

The user group seems to develop steadily. Not only does it unite the enthusiasts, but it also actively collaborates with a number of friendly organizations and companies wherewith the group members can be actively engaged in exchanging professional experience in developing on the platform, as well as to actively gain new knowledge.

With the topic of the conference being "Flash games as business", the main activists of the event were the leaders of young companies involved in Flash games development and indie developers, who told what led them down this path and described what kind of problems they faced up to.

The results of the discussion have shown that the independent development of flash games is not an easy job to perform. If you are concerned with an 8-hour working day, salary, holidays and social package – it is not meant for you. The traditional outsourcing schemes with the clear role division are also not suitable for startups. A way of thinking has to be changed, and the needs of not a single customer, but of millions of users need to be satisfied.

 

BAFPUG – Belarus Adobe Flash user group.

BAFPUG regularly holds the user group meetings and conferences which mainly concern solely technical problems of development on Adobe Flash platform as well as startups and other business-related issues. The presentation of new technologies is also held within the conferences.

Everyone interested is welcome to join our user group BAFPUG and follow the announcements of our activities.



BAFPUG 'Flash games as business' report
Entry posted on May 25 by Valery Pesetski , tagged Event,Mobile,News

30 Апреля в Минске при поддержке компании Intetics прошла встреча–конференция белорусской Adobe Flash Platform юзергруппы (BAFPUG) на тематику “Flash games as business”. Конференция собрала более 40 разработчиков и специалистов в доменной области, которые проявили желание поделиться нелёгким опытом разработки и продвижения собственных Flash игр со своими коллегами, а также пообщаться во время докладов и в кулуарах по самым актуальным вопросам гейм-индустрии на основе Flash платформы.

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

Подробнее о конференции в виде рассказов докладчиков о стартапах, издателях, играх и прочих аспектах разработки собственных Flash проектов под катом.



RSS Feed Reader

VapeS's shared items in Google Reader Концепты ближайшего будущего - 10/30/11

Концепты ближайшего будущего и взаимодействия человека с различными устройствами в жизни и на работе. Основное внимание привлекает UI, очень похож на UI в Windows 8 Metro, который пару месяцев назад MS презентовала на конференции Build 2011.



Еще пару старых видосов за 2009 год, тогда это смотрелось как научно-фантастическое видео.







VapeS's shared items in Google Reader Полная Защита swf от декомпиляции - 10/30/11

Говорят что флеш приложения защитить невозможно, хочу развеять этот миф )
В архиве находится swf, на которую поставлена моя защита.
Прежде чем пользоваться декомпиляторами, советую сохранить важные данные и посмотреть видео (youtube1080p) как взламывал я... свою же защиту.
На создание первой версии защиты было потрачено 20 минут, на создание "защиты от взлома защиты" 10 дней...

Это одна из единственных защит которая защищает не только код, но и весь контент swf.

Вложения
Тип файла: rar NewredDefender.rar (957.1 Кб)

VapeS's shared items in Google Reader Flash Player 11.2 Beta and Adobe AIR 3.2 Beta available on Adobe Labs - 10/26/11

We just released Flash Player 11.2 Beta and Adobe AIR 3.2 Beta on Adobe Labs. The main features for this release are:

Multi-threaded video decoding (Windows, Mac OS, and Linux) -- The video decoding pipeline is now fully multi-threaded. This feature should improve the overall performance on all platforms. Note that this feature is a significant architecture change required for other future improvements.

Flash Player background updates (Windows) -- New versions of the runtimes can now be delivered more effectively to the end user with this enhanced updating mechanism (Background update is only available in the release versions of Flash Player).

From the release notes some additional info on the multi-threaded video decoding feature:

Multi-threaded pipeline was written grounds up to support lower end devices and full hardware stacks where all the decoding and rendering isoffloaded to hardware. The benefits of the modernization of the pipeline would be visible from mobile devices, tvs, netbooks to high end desktops.In Flash Player 11.2, the new video pipeline is available for desktop platforms (including netbooks ) and brings enhancements with respect to:

  • Eliminating jitter seen occasionally in some encoding and typically in live streams and real time interactive scenarios.
  • Gains in frame rate by reducing dropped frames as much as 50% on certain platforms with high bit rate content.
  • Seek frame accuracy.
  • High resolution/bit rate content decoding would still keep the player UI responsive and any background ActionScript processing going,which earlier could have experienced brief halts because all the decoding and player UI/ActionScript resided on the main thread. For HTTP streaming, ActionScript is the control point of fetching the stream data and delivering to the video stack. On seek, earlier thestreaming would halt, while the frames up to the point of seek would be getting decoded. With multithreaded video decoding, not onlywould the seek be more responsive, but it would also start playback faster after seek.
  • 50+ fixes as part of the modernization of the video pipeline architecture

Is this cool or what?

VapeS's shared items in Google Reader Adobe Dead Drops – Latin America - 10/25/11

As part of this year's Latin Flash Tour we will be doing dead drops in each city. The prize will be a brand new copy of Master Collection CS5.5. These will likely be where I give the general location and whoever gets there first wins. More details to come soon. You should stay tuned to adobedeaddrop.com for information as we get closer to the tour.

VapeS's shared items in Google Reader BAFPUG November 2011 - 10/24/11

yzh44yzh blogs Устанавливаем дебаг-версию флэш плеера на 64 разрядную Убунту - Jan 17

До сих пор я всегда пользовался 32 разрядными дистрибутивами линуксов, ибо для 64 разрядных нет дебаг-версии флэш плеера. Релиз версия вроде бы есть, но проку от нее флэш разработчику мало. (А я так и остался флэш разработчиком, угу).

Но вот по недосмотру поставил 64 разрядную Убунту. Соотвественно, стандартная манипуляция:

не помогает.

Внезапно FF сам предложил установить флэш плагин, когда я открыл страничку с флэшевыми баннерами. Я удивился, но согласился :) И FF давай качать какие-то либы, запускать некий flash plugin installer производства Adobe (стремно было давать чему-то, сделанному в Adobe, рутовые права, но пришлось :) Ну и в итоге он поставил и попросился рестартануться. Рестартанул -- флэш работает, баннеры крутятся, мигают, вызывают омерзение, как им и положено :) Разумеется, работает релиз версия, не дебаг.

Полез глядеть, чего и куда он поставил. А получилось там такое: в папочке /usr/share/ubufox/plugins два симлинка:

libflashplayer.so -> /usr/lib/flashplugin-installer/libflashplayer.so
npwrapper.libflashplayer.so -> /var/lib/flashplugin-installer/npwrapper.libflashplayer.so

Ага, клева. Я смело и решительно подменил /usr/lib/flashplugin-installer/libflashplayer.so на дебаг-версию libflashplayer.so, рестартанул FF -- и вуаля, работает дебаг версия!

yzh44yzh blogs Делаем правильные swc библиотеки - 12/15/11

Flex пока еще не отпускает меня, и приходится с ним возиться. Для начала, надо отметить, что Flex фреймворк в целом хорошая штука. Местами даже изящная штука (это я следую американскому стилю, которому меня научил Яков Файн: сперва похвалить, потом поругать).

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

Давеча я убрал maven/flexmojos из своих проектов, и заменил их ручной конфигурацией проекта в IDEA и ant скриптами. Надо сказать, что так проще и лучше. Во всяком случае, для меня этот вариант явно комфортнее.

Теперь, в отличие от варианта c flexmojos, проект действительно легко подымается с нуля на машине нового разработчика, сразу собирается и запускается. Все swc зависимости лежат прямо в папке libs в самом проекте. А все настройки IDEA комитятся в репозиторий вместе с кодом проекта (ну почти все, кроме workspace.xml).

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

У нас есть ряд модулей (swc библиотек), которые написаны на чистом AS, не имеют никаких зависимостей от Flex SDK, и используются во многих проектах. Несмотря на то, что зависимостей нет, compc все равно старательно сует внутрь swc файла кучу классов из sdk. В результате модуль получается привязанный к конкретной версии sdk. И попытка использовать его в проекте с другим sdk может давать непредсказуемые эффекты, вплоть до того, что проект просто не соберется.

Стало быть, задача в том, чтобы убедить compc не пихать внутрь swc ничего лишнего, кроме классов и ресурсов самого модуля. Увы, адобовские инженеры постарались, чтобы задача эта оказалась нетривиальной.

Я вот, в силу ограниченности моего интеллекта, в упор не понимаю, нахрена вообще нужно пихать классы из flex sdk внуть swc модуля. Пусть даже он имеет зависимости от них (а тем более, если не имеет).

Еще надо отметить, что mxmlc и compc имеют хренову тучу опций, большая часть из которых нафиг никому не нужна. А еще они имеют двойной синтаксис описания этих опций: в виде аргументов командной строки и в виде xml-узлов в flex-config файле. Разобраться со всей этой ботвой не просто.

Нужной опции -- не включать ничего лишнего, нет. Я не нашел. Поправьте меня, если я ошибаюсь. ИМХО, это и не опция должна быть, а поведение компилятора по умолчанию.

Ладно, опции нет, а flexmojos все-таки умеет это делать. Изучив flex-config файлы, которые генерирует flexmojos, я понял, в чем фишка. Нужно все зависимости, в т.ч. зависимости от flex sdk, подключать через external-library-path. И flex библиотеки тоже.

Однако вот еще нюанс: подключать нужно swc файлы, а библиотеки в составе flex sdk лежат в виде swz файлов. В виде swc файлов они есть в артефактах flexmojos. Оттуда я их и взял. Где еще их можно взять, не знаю. Разве что собрать самому из сорцов flex sdk. Видимо разработчики flexmojos так и делают.

В итоге получается такое:


	<exec executable="${compc}">
		<arg value="-debug=true"/>
		<arg value="-external-library-path=${libs}/playerglobal-11.swc"/>
		<arg value="-external-library-path=${libs}/framework-3.5.0.12683.swc"/>
		<arg value="-external-library-path=${libs}/flex-3.5.0.12683.swc"/>
		<arg value="-external-library-path=${libs}/Mate_09_1.swc"/>
		<arg value="-source-path=./src"/>
		<arg value="-include-classes"/>
		<arg value="com.flashdevs.yzh.log.Connector"/>
		<arg value="com.flashdevs.yzh.log.DebugConsoleLogTarget"/>
		<arg value="com.flashdevs.yzh.log.MateLogTarget"/>
		<arg value="-output"/>
		<arg value="${basedir}/../classes/debug-console-log-target.swc"/>
	</exec>

Подробнее тут.

В результате небольшой модуль из 3х классов превращается в аккуратный swc файл размером 5Kb, а не в монстра в 300Kb, которого не ко всякому проекту подключишь.

Ну и зависимости: playerglobal-11.swc, framework-3.5.0.12683.swc, flex-3.5.0.12683.swc, Mate_09_1.swc лежат в папочке libs внутри самого проекта.

Я, наконец, сделал это :)

btw, если вы знаете, как эта задача решается стандартными средствами, подскажите плз.

yzh44yzh blogs Публикация видео из флэш плеера с кодеком H.264 - 11/23/11

Ну вот дошли руки попробовать публикацию с кодеком H.264

Тема гуглится, но до конца, пошагово, нигде толком не описано. Поэтому пишу тут:

  1. Скачать playerglobal.swc версии 11.0 тут http://www.adobe.com/support/flashplayer/downloads.html
    внизу страницы искать Download the playerglobal.swc to target the 11.1 APIs (.swc, .329KB)
  2. Во Flex SDK создать папку frameworks/libs/player/11.0 и положить туда playerglobal.swc.
    (Изначально там есть только frameworks/libs/player/10.2/playerglobal.swc)
  3. В настройках проекта подключить нужный Flex SDK и указать версию флэш плеера 11.0
  4. Написать обычный код публикации, и кроме прочего, добавить в код
    
    var h264Settings : H264VideoStreamSettings = new H264VideoStreamSettings();
    h264Settings.setProfileLevel(H264Profile.BASELINE, H264Level.LEVEL_2);
    nsPublish.videoStreamSettings = h264Settings;
    
  5. Добавить опцию компилятора -swf-version=13
    Коварный момент в том, что без этой опции все скомпилируется, но в рантайме выдаст ошибку:
    VerifyError: Error #1014: Class flash.media::H264VideoStreamSettings could not be found.

Фича работает и действительно дает лучше качество. Проверил на 4х медиа серверах: FMS, Wowza, Erlyvideo, Red5 -- работает везде.

Документация по H264VideoStreamSettings

yzh44yzh blogs Интервью №2 для Компьютерной газеты - 08/09/11

Было опубликовано в №30 (813) от 8 августа 2011 года.
Общался с Кристофером

Вообще, если говорить образно, сейчас Flex конкурирует в основном с Java. Какие главные плюсы и минусы у каждой из сторон ты бы выделил?

Тут небольшая ошибка, Flex не конкурирует с Java :) Java -- язык общего назначения, Flex -- фреймворк для AS3, выполняющий довольно узкую задачу. Не могут они конкурировать :)

Flex -- хороший инструмент для построения пользовательских интерфейсов, и вообще для разработки клиентской части. Java обычно используется на сервере. Сейчас вряд ли многие пишут на Java клиентскую часть. Так что они не конкурируют, а прекрасно сочетаются. Можно даже смело сказать, что Flex изначально создан для того, чтобы сочетаться с Java на сервере.

В этом году третьей версии языка ActionScript исполнилось пять лет. Если честно, когда увидел ее в первый раз, я (и не только я) сразу подумал о сильном подобии с Java. Сейчас ведь программистами используются различные варианты трансляции с первого языка на второй, какие из них (вариантов) с твоей точки зрения являются наиболее удачными и востребованными?

Да, AS3 похож на Java. Особенно, если сравнивать с AS2, который гораздо ближе к JavaScript, чем к Java. Думаю, AS3 намеренно делали похожим на Java. Это облегчило его продвижение в энтерпрайз.

Насчет трансляции с AS3 на Java не знаю. Вряд ли это сильно востребовано. Языки решают разные задачи в разных предметных областях. Поэтому редко возникает необходимость получить идентичную логику на AS3 и на Java. Может быть только где-нибудь в геймдеве, когда бывает нужно иметь идентичные игровые алгоритмы и на клиенте и на сервере.

Или можно взять ситуацию с разработкой на Flex под Андроид. Но и там AS не транслируется в Java код, а компилируется непосредственно в байт-код для виртуальной машины Андроида.

Сейчас много говорят и пишут о портировании Flash-приложений на JVM, например, для той же платформы Android. Вообще, реально ли удерживать основной блок кода в рамках AS3?

Ну да, уже упомянул об этом. Насколько я знаю, только для Андроид такое и делают.

Надо понимать, что проще и удобнее использовать нативные средства для разработки под Андроид. Оно и по возможностям богаче, и по эффективности лучше. Пока Flex имеет доступ далеко не ко всем API платформы, хотя Адоби активно работает над этим. Распространение флэш технологии на мобильные платформы -- основной приоритет компании.

Вот если планируется делать разные версии одного приложения под разные платформы (веб, десктоп, мобильная), то, конечно, основную версию и основной объем кода лучше иметь в AS3. И по возможности использовать этот код для других платформ, чтобы не писать его заново на другом языке.

Что же касается компиляции AS3 в Java байт-код, то это не особо интересно. И так уже имеется несколько весьма разных языков, которые компилируются в Java байт-код: Scala, Groovy, JRuby, Scheme. Так что программисту есть из чего выбрать. Добавить сюда AS3, так он погоды не сделает. Вот, чесно говоря, было бы интереснее иметь парочку языков, кроме AS3, компилирующихся в байт-код флэш плеера :)

Какой у тебя инструментарий программиста на сегодня?

  • Основная ОС: Debian (приходится использовать 32 разрядную, ибо для 64 разрядной нет дебаг-версии флэш плеера );
  • Дополнительная ОС: MacOS (иногда использую для некоторых специфических задач);
  • Среда разработки: Intellij IDEA Ultimate с плагинами для Scala, Bash, Erlang;
  • Основные языки программирования: AS3/MXML, Java, Erlang, JavaScript/HTML/CSS;
  • Дополнительные: Bash, Scala, PHP, SQL;
  • Контроль версий: Git, Subversion;
  • Инструменты сборки: Maven, Bash;

Если в процентном соотношении, то какого рода проекты сейчас наиболее часто делаются на базе Flex'а? Какие из них являются наиболее сложными?

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

Со сложностью проектов это слабо связано. Энтерпрайз проекты, как правило, сложны. Уже хотя бы потому, что велики по масштабу. Но при этом клиентская часть может быть не сложной. А может быть весьма мудреной :)

Вообще, если присмотреться внимательнее, то новые технологии от Adobe не так быстро внедряются в последние годы. Например, еще в 2006-2007 гг. говорили о глобальном приходе MXML и связанной с ним грядущей перестановке на рынке веба, потом AIR, затем не очень понятная ситуация с RTMP и медиасерверами, сейчас внедрение 3D-графики во Flash-приложения...

Что, по твоему мнению, нам ждать от Flex в будущем?

А что, кто-то ждет, что технологии Адоби вытеснят все остальное и будут везде доминировать? Это невозможно хотя бы потому, что 99% веба сделаны на HTML/JavaScript, и это никто ничем не вытеснит :)

Технологии развиваются нормально, не хуже любых других. Конечно, не везде идет гладко, ну так а чьи технологии идеальны? :)

Сейчас очевидно, что Адоби продвигают Flex на мобильные платформы. Работы здесь очень много, и ближайшие годы Адоби будут заняты этим. Может быть даже в ущерб другим направлениям.

Например, Адоби уже несколько лет никак не могут развить Flash Builder до уровня других IDE, он сильно отстает. Но это из-за того, что приоритеты другие :)

Вообще-то в этом желании все вытеснить, чтобы везде был AS3, и чтобы он компилировался в Java байт-код, и работал на мобильниках и т.д. я вижу ленивого AS3 программиста, который не хочет ничего больше изучать, но хочет, чтобы ему на блюдечке подали весь IT мир. Ну что ж, желание не плохое. И лень сама по себе тоже штука не плохая. И я думаю, что единая универсальная технология "для всего", которая все вытеснит и станет для всех стандартом, рано или поздно появится. Но это случится лет через 50, не раньше :) Так что планируйте свое самообразование и свою карьеру исходя из того, что монополии AS3 (или любого другого языка) при вашей жизни не будет :)

Расскажи, пожалуйста, об использовании связки Maven (с Flexmojos) плюс Intellij IDEA в Flex-проектах. Она является сейчас наиболее актуальной?

Ну это интересный момент. Дело в том, что энтерпрайз разработка консервативна, использует проверенные временем вещи от больших и надежных вендоров. Поэтому, конечно, 99% флекс разработчиков будут использовать инструменты разработки от Адоби. А если даже какой-то разработчик и захочет попробовать экзотики, то работодатель ему не позволит.

На инструменты от малоизвестных вендоров (Intellij IDEA) работодатель посмотрит косо. А инструменты от разработчиков одиночек, перманентно пребывающие в недоделанном состоянии (Flexmojos), работодатель и вовсе запретит. И правильно сделает.

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

Так что если вы хотите строить карьеру в большой (западной) компании, выбирайте Flash Builder. А если хотите эффективно работать и быстро создавать продукт -- выбирайте Intellij IDEA :)

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

Вот именно. Инструменты разработки оказывают большое влияние на проект. И на его структуру, и даже на его архитектуру. Например, IDEA и Maven поощряют модульность и позволяют легко сочетать разные технологии (помимо Flex) в одном проекте.

В принципе, меня уже несколько веселит, что для ActionScript 3 появились шаблоны проектирования. С одной стороны, как мне кажется, это значит, что язык уже достаточно захламлен, с другой -- он не имеет определенного концептуального приложения, то есть является "широкого профиля". Или все наоборот?

Шаблоны проектирования по сути своей универсальны, не привязаны к конкретному языку. Соответственно, их можно реализовать и на AS3 тоже. Это не говорит о том, "захламлен" язык или нет. Это говорит только о том, что кому-то понадобилась реализация шаблонов на AS3 и этот кто-то ее сделал.

Я не возьмусь давать субъективные оценки насчет концептуальности и захламленности AS3. Но то, что он не является языком универсального назначения (широкого профиля), очевидно. Например потому, что в AS3 нет многопоточности.

Пожалуй, в нем нет такой четкой идеи, как, например, в haXe или в Erlang. Но это не делает язык хуже.

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

Мне очень понравилась книга Питера Армстронга "Hello! Flex 4" Весьма рекомендую. Ну а потом читать официальный хелп от Адоби в контексте решения конкретных задач :) Кстати, про Адоби можно всякое говорить, и плохое, и хорошоее, но вот мануалы у них всегда очень хорошие. Так что читайте их.

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

И еще, конечно, нужно обязательно участвовать в конференциях. И в роли слушателя, и в роли докладчика :) Конференции способствуют расширению кругозора и развитию коммуникативных навыков (с чем у программистов бывают проблемы).

А также укажи, пожалуйста, направления, в которых будет наибольший спрос на Flex-программистов в ближайшее время, с твоей точки зрения.

Энтерпрайз разработка в крупных компаниях и мобильная разработка в компаниях любого размера :)

yzh44yzh blogs Erlytextchat плагин для Erlyvideo - 07/02/11

Этот плагин позволяет добавить функциональность текстового чата к любому flex проекту. Серверная часть представляет собой плагин к erlyvideo, клиентская часть -- swc библиотека.

Серверный модуль

Серверный модуль реализует типичные для чата API:

  • создание и удаление комнат;
  • получение списка комнат;
  • войти в комнату, выйти из комнаты;
  • получить список пользователей в комнате;
  • получить историю сообщений в комнате;
  • отправить сообщение в комнату;
  • отправить какие-либо данные в комнату;

Модуль не занимается авторизацией пользователей (этим должен заниматься erlypresence), не реагирует на коннект клиента (модулю это не нужно), но реагирует на дисконнект клиента (удаляет пользователя из всех комнат).

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

В коде модуля ничего особо сложного нет. Но один момент требуют пояснения. Там есть два разных метода, с помощью которых клиент может отправить данные в комнату: send_tmsg и send_data.

send_tmsg отправляет текстовое сообщение в чат, а send_data отправляет некие служебные данные. Разница больше концептуальная, нежели техническая. И текстовое сообщение, и служебные данные могут быть любым AS3 объектом. В обоих случаях этот объект проходит через сервер как есть, в бинарном виде, и даже не десериализуется. Его получают все пользователи, присутствующие в данной комнате. И дальше уже дело клиента, как этот объект интерпретировать.

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

text-chat-lib

Представляет собой swc библиотеку, которую можно подключить к flex проекту. У нее очень простой API, всего лишь одно событие MessageEvent и IChatFacade с тремя методами.

Библиотека не занимается коннектом к серверу, авторизацией и комнатами. Она только предоставляет компонент ChatInput для ввода и отправки сообщения, и компонент ChatOutput для рендеринга сообщений.

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

Зато в ней четко выделены все скины, так, что в конкретном проекте все их можно подменить. Для этого нужно главному классу библиотеки TextChat задать свой skinClass. И уже в этом skinClass подменить всю композицию скинов. Что я успешно и сделал в том самом конкретном проекте, так, что в результате чат в нем выглядел совсем иначе.

test-client

Ну и как водится, имеется тестовый клиент, представляющий собой flex приложение. Он коннектится на сервер, авторизуется, получает список комнат, входит в комнату, использует text-chat-lib и т.д.

Нужен он для тестирования серверного модуля и text-chat-lib. И служит примером использования и того и другого. Тем самым заменяет собой документацию. Ибо часто бывает, что 10 строк кода примера дают больше информации, чем 10 страниц документации.

K4D Labs | Rich Internet Application Вышел ColdFire 1.9 - Jan 25

Вышла новая версия ColdFire 1.9, работающая с Firefox 9 и Firebug 1.9.
ColdFire - это ColdFusion Debugger для Firefox, интегрируется в Firebug. Показывает отладочную информацию:
  • General
  • Execution Times
  • Exceptions
  • DB Queries
  • Traces
  • Timer
  • Variables

K4D Labs | Rich Internet Application CFML за 100 минут - 12/03/11

Для тех кто хочет очень-очень быстро погрузиться в ColdFusion, на github имеется полезная ссылочка CFML in 100 minutes.

Содержание
  1. Syntax
  2. Variables
  3. Components, Methods, and Parameters
  4. Strings
  5. Numbers
  6. Queries
  7. Arrays
  8. Structures
  9. Conditionals
    1. If, Else If, & Else
    2. Looping
  10. Nothingness and Null
Обновление [4-12-2011 19:00]

Terrence Ryan так же на github опубликовал код простых ColdFusion приложений как примеры.

Содержание
  1. Hello World
  2. Typing
  3. Database
  4. CFC
  5. Scopes
  6. Twitter Search
  7. Twitter Search Apps
  8. ORM

K4D Labs | Rich Internet Application Multitouch прототипирование приложений - 11/06/11

На конференции Adobe MAX 2011 был представлен революционный инструмент Adobe Proto для прототипирования приложений и веб-сайтов с помощью multitouch прикосновений.



K4D Labs | Rich Internet Application Концепты ближайшего будущего - 10/30/11

Концепты ближайшего будущего и взаимодействия человека с различными устройствами в жизни и на работе. Основное внимание привлекает UI, очень похож на UI в Windows 8 Metro, который пару месяцев назад MS презентовала на конференции Build 2011.



Еще пару старых видосов за 2009 год, тогда это смотрелось как научно-фантастическое видео.







K4D Labs | Rich Internet Application Новые фичи CF10 ZEUS в действии - 10/18/11

Еще одно видео с конференции Adobe MAX 2011 наглядно демонстрирует новые фичи CF10 ZEUS. Основная agenda:
  • AJAX support
  • RIA with Flex
  • Charting
  • Web Sockets
  • Media Player
  • Mobile
  • MS Exchange Server Integration
  • REST Services
  • Solr

Search Group Posts

Members

1-30 of 75 | Next | Last >>









Sponsors

Intetics
Sponsor posted on Feb 11 by Valery Pesetski

Recently Posted Job Listings