Google группа JSInterface

3/02/2010

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

P.S.: Группа модерируется, поэтому спама не будет, но могут быть задержки с сообщениями, если я в offline.

Караоке плеер “Спиваймо”

11/01/2010

Ещё летом ко мне обратились с заказом сделать караоке-плеер для нового проекта, ТЗ как такового не было, был сначала один сайт, пример, с которого надо было позаимствовать идеи, а потом – второй. Поэтому все доделки и переделки тянулись до осени, а сейчас появилось время детально описать решения, которые я опробовал.

Прочитать остальную часть записи »

Тестовый PHP скрипт для загрузки файлов

11/01/2010

Уже достаточно давно, на одном проекте надо было протестировать загрузку файлов и я сделал небольшой PHP скрипт для тестирования этого процесса. Ничего особенного он не делает, только получает файл и сохраняет его в папке под временной меткой загрузки с дампом переменных. Вроде ничего особенного, но вот уже который проект, а он всё равно полезен, поэтому я решил его выложить тут, может ещё кому-нибудь пригодится. Да и сам, если посею, так буду знать где взять(не раз уже блог меня спасал в подобных случаях). :)

Прочитать остальную часть записи »

Разница в выборке «.*» в XML и во flash.utils.Proxy

8/01/2010

В XML выборка элементов через знак звёздочки говорит о том, что надо выбрать все дочерние узлы, не зависимо от типа узла или пространства имён XML элемента. Класс flash.utils.Proxy даёт нам возможность пользоваться выборками в своих классах. Я обнаружил разницу в поведении и дальше делюсь наблюдениями.

Прочитать остальную часть записи »

Информация о происхождении экземпляра QName

7/01/2010

В ActionScript 3 у простого типа QName есть возможность хранить информацию о происхождении экземпляра, т.е. можно узнать, это имя атрибута или узла/свойства. Но я не смог найти простого и прямого способа «выдернуть» эту информацию из экземпляра QName. Поэтому дальше горожу свой огород. :)

Прочитать остальную часть записи »

flash.utils.Proxy и Object.constructor

4/01/2010

Небольшой совет для всех кто активно использует или собирается использовать класс flash.utils.Proxy – всегда реализуйте свойство constructor возвращающее тип(экземпляр типа Class) данного объекта.

Прочитать остальную часть записи »

Server-Side ActionScript — полная русская версия справки

9/12/2009

Полный перевод на русский язык справки по Flash Media Server 3.5 Server-Side ActionScript. Круглосуточно доступен онлайн по адресу
http://ruslanshestopal.com/flashmediaserver

Динамическое создание экземпляров класса Vector

13/09/2009

Flex cookbook entry: How to dynamically create instance of Vector class.

В десятой версии Flash Player’а появилось много нового и я сегодня немного эксперементировал с одним из «новых» классов — __AS3__.vec.Vector. Этот класс пришёл к нам, как скоростной аналог типизированного массива. Я не делал скоростных замеров, т.к. таковых в сети хватает. Я попробовал создать экземпляр класса Vector динамически, т.е. без прямого указания типа его элементов.

Прочитать остальную часть записи »

Powerflasher Solutions поддерживает JSInterface

15/08/2009

Ребята из Powerflasher Solutions предоставили бесплатно лицензию на FDT 3 Enterprise, по программе поддержки Open Source проектов и добавили ссылку на JSInterface, как на "some of the best" проект. :-P
Очень приятно, спасибо!

Upd. 3.09.2009
Вчера изменили формат странички и теперь там висят баннера - вдвойне приятно. :)

Загрузка изображений в TextField, в виде строки Base64, встроенной в HTML код

28/05/2009

У многих браузеров есть классная особенность - они умеют отображать картинки из строки кодированной в Base64. Такие изображения отличаются только содержимым атрибута SRC:

<img src="data:image/png;base64,iVBORw0KGgoAAAANS..." alt="Изображение" />

Мне стало интересно провернуть такой же трюк в TextField'е во Flash приложении.

Прочитать остальную часть записи »

Использование REST во Flash приложении

23/05/2009

REST - Representational state transfer, техника используемая многими web-сервисами, напрямую не поддерживается в ActionScript 3. Класс отвечающий за генерацию запросов по HTTP способен передавать только GET и POST запросы, а для REST ещё необходимы PUT и DELETE. Но есть возможность реализовать недостающую функциональность с помощью класса URLStream, но для этого придётся ещё много всего реализовать, что уже и так реализовано. В общем, я вчера поискал решения по этому поводу и нашёл две, с виду, не плохие библиотеки:

as3httpclientlib - практически полноценный HTTP клиент, поддерживает полный спектр необходимых запросов. Распространяется по лицензии MIT, т.е. абсолютно бесплатен для коммерческого использования.

RESTService - библиотека созданная специально для использования REST во Flash/Flex приложениях.

Радует, что обе библиотеки имеют примеры и документацию. :)

Отправка и получение данных в кодировке отличной от UTF-8 через HTTP

23/05/2009

Если вашему приложению необходимо общаться с существующим сервисом и он по какой-то причине не поддерживает UTF-8, ваше Flash приложение может отправлять и получать данные в нужной кодировке. Это не секретная техника и многим уже известна. А я решил написать этот коротенький пост, т.к. не смог найти этого решения в течении 5-ти минут в Google(плохо искал? оставьте ссылку в комментариях). :)

Прочитать остальную часть записи »

Изменить цвет фона Flex виджета под цвет фона HTML страницы

22/05/2009

Flex cookbook entry: To change the background color of a Flex widget for the background color of HTML page.

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

Прочитать остальную часть записи »

Сокрытие(Embed) JavaScript кода во Flex приложении

22/05/2009

Flex cookbook entry: Embed of JavaScript code in the Flex application.

Интегрировать любой файл можно во Flex приложение с помощью метатега [Embed] с указанием myme-type как application/octet-stream. В такой способ можно сохранить JavaScript код во Flex приложении, но работать с этим кодом можно будет только если загрузить его в браузер, в HTML документ. Для загрузки кода воспользуемся библиотекой JSnterface.

Прочитать остальную часть записи »

Загрузка дополнительных JS и CSS файлов в HTML документ

21/05/2009

Flex cookbook entry: Loading of additional JS and CSS files in the HTML document.

JSInterface позволяет загружать внешние JavaScript и CSS файлы прямо в HTML страницу. Для этого необходимо указать URL файла и функцию обратного вызова, вызываемую по окончанию загрузки.

Прочитать остальную часть записи »

Сообщение о несохранённых данных перед закрытием окна браузера

21/05/2009

Flex cookbook entry: Message about unsaved data before closing the browser window.

Для Flash и Flex приложений работающих с пользовательскими данными очень важно, чтоб пользователь всегда мог сохранить свою работу перед закрытием приложения. Стандартные браузеры, имеющие поддержку JavaScript оповещают о закрытии окна/таба или переходе на другую страничку. Все эти действия могут привести к потере данных, но использование этого оповещения позволит сохранить все необходимые данные. Flash/Flex приложение подписывается на JavaScript событие "onbeforeunload", которое вызывается всегда перед закрытием страницы или переходом на другую страницу.

Прочитать остальную часть записи »

Узнать когда окно браузера получает или теряет фокус

21/05/2009

Flex cookbook entry: How do I know when the browser window gets or loses focus.

В наше время существует много ресурсоёмких Flash и Flex приложений, которые занимают много памяти и сильно нагружают процессор, даже тогда, когда пользователь не работает с приложением. К примеру, пользователь мог отвлечься на другое приложение или таб в браузере. Особо требовательные к ресурсам приложения, использующие 3D, анимацию или сложные эффекты и фильтры, можно разгрузить останавливая анимацию, видео и музыку. Таким образом снимать нагрузку с процессора, когда пользователь не работает с приложением. Для получения информации, когда пользователь не использует приложение, будет использовано JavaScript событие onblur, испускаемое когда пользователь переводит фокус на другое приложение, окно или таб. Такое же событие - onfocus будет использовано, когда пользователь активирует окно с приложением. Прочитать остальную часть записи »

Отлавливаем JavaScript события из Flash/Flex приложения

21/05/2009

Flex cookbook entry: Handling JavaScript events from a Flash/Flex application.

Для начала вам нужно скачать библиотеку JSInterface(находится в скачиваемом архиве) с официальной страницы проекта.

Прочитать остальную часть записи »

Улучшение взаимодействия с JavaScript с помощью JSInterface

20/05/2009

Flex cookbook entry: Improvement of interaction with JavaScript.

Библиотека JSInterface облегчает взаимодействие между Flash приложением и JavaScript средой. С её помощью разработчик может делать то же самое что и в JavaScript, только обычными средствами ActionScript. В отличии от ExternalInterface, он предоставляет стандартный интерфейс для доступа к объектам, их свойствам и методам.

Прочитать остальную часть записи »

Получил лицензию на Flex Builder 3 Professional

13/05/2009

Благодаря стараниям Роста, я сегодня получил лицензию на Flex Builder 3 Professional за свои февральские посты во Flex Cookbook.