пятница, 6 ноября 2009 г.

Поиск и формирование hyperlink в тексте

Понадобился метод поиска и формирования красивых линочек в текстовом поле. Вот из такого HtTp://Www.gOOgle.com сделать так www.google.com немного погуглил и понял что он мне не поможет. Решил быренько напидалить свой. Вот что вышло

public function formatHyperlink (_pText:String, _protocol:String = "http://", _target:String = "_blank", _color:String = "#0000ff", _exudingTag:String = "u"):String{
if(_pText==null)return _pText;
var _pString:String = _pText;
var _fakeString:String = _pString;
var _beginIndex:Number = _fakeString.toLowerCase().search(_protocol.toLowerCase());
var _endIndex:Number = _beginIndex + _protocol.length;
if(_beginIndex !=-1 ){
var _brokenProtocol:String = _fakeString.substring(_beginIndex, _endIndex);
_pString = _pString.replace(_brokenProtocol, _brokenProtocol.toLowerCase());
}
if(_pString.toLowerCase().search(_protocol.toLowerCase())!=-1){
var arr:Array = _pString.split(_protocol);
for(var i:int = 1 ; i<arr.length; i++){
if(String(arr[i]).charAt(0).toLowerCase()!="w")arr[i] = "www."+arr[i];
for(var j:int = 0 ; j<String(arr[i]).length; j++){
if(String(arr[i]).charCodeAt(j) == 32){
var link:String = String(arr[i]).substring(0, j);
arr[i] = String(arr[i]).replace(link,"");
link = '<FONT COLOR="'+_color+'"><'+_exudingTag+'><a target="'+_target+'" href="'+_protocol+link+'">'+link+'</a></'+_exudingTag+'></FONT>';
arr[i] = link.toLowerCase() +" "+ arr[i];
break;
}
}
}
_pString = arr.join("");
}
return _pString;
}

суббота, 8 августа 2009 г.

Flash | Flex Удоленный Debugger


Если вы Flash | Flex разработчик более полугода, то уже столкнулись с проблемой различного поведения Flash приложений на Development и Customer сервере. Не обязательно проблемы во флешке! Дефекты могут быть и на стороне сервера. Но, ответить на вопрос “Что сломалось?”, становится намного сложнее. “Начинается фантазия”. Отладочные поля поверх всего и вся, кучи проверок, обновления флешки на сервере заказчика, а главное потрачено много времени.


Все это в прошлом!


На горизонте появилось фришное приложение, под грозным названием De MonsterDebugger



Список возможностей:


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


Горячее редактирование, вы можете редактировать свойства и моментально видеть эффект в вашем приложение. Подробнее


Собственный метод trace(). Позволяет прослушать Объекты, Массивы, XML …. Лично я использую его чтоб просматривать каждый объект пришедший от сервера. Взял за правило пропускать такие объекты через MonsterDebugger.trace() в случае если во флеш-варсаx указан параметр testMode. Подробнее


Возможность вызвать пользовательский метод. Если у вас есть метод принимающий String, Number, Int, Uint то вы его можете испытать из MonsterDebugger. Подробнее



Установка:


1) Скачать и установить AIR. Можно здесь


2) Скачать и установить MonsterDebugger. Можно здесь


3) Экспортить пакет MonsterDebugger в ваше приложение. Это позволит соединить ваше приложение и MonsterDebugger. Соединение происходит по LocalConnection



4) Заимпортить класс MonsterDebugger в ваше приложение.


Flash example:


package {



import flash.display.Sprite;


import nl.demonsters.debugger.MonsterDebugger;



public class Main extends Sprite {



// Переменная для хранения MonsterDebugger


private var debugger:MonsterDebugger;



public function Main() {



// Инициализация


debugger = new MonsterDebugger(this);



// Использование метода trace


MonsterDebugger.trace(this, "Hello World!")


}


}


}


Flex example:



<?xml version="1.0" encoding="utf-8"?>


<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()">


<mx:Script>


<![CDATA[




import nl.demonsters.debugger.MonsterDebugger;



// Переменная для хранения MonsterDebugger


private var debugger:MonsterDebugger;



private function onInit():void



// Инициализация


debugger = new MonsterDebugger(this);



// Использование метода trace


MonsterDebugger.trace(this, "Hello World!");


}


]]>


</mx:Script>


</mx:Application>


­­­

пятница, 5 июня 2009 г.

PureMVC - russian Translation of 'Best Practices'


Не так давно на официальном сайте разработчиков, составного паттерна, под грозным назанием PureMVC , появились русские переводы лучших подходов в программировании на PureMVC.
И список прилаживших усилия:
Denis Sheremetov
Denis Volokh : denisvolokh.blogspot.com
Dmitry 'Reijii' Kochetov : reijii.solartxit.com
Roman Pavlenko : riactive.ru
Rostislav ‘RostislavR’ Siryk : en.flash-ripper.com

среда, 3 июня 2009 г.

Flash Catalyst & Flash Builder

Flash Catalyst и Flash Builder – новые инструменты Adobe для создания веб-приложений

Компания Adobe Systems представила два продукта, призванных существенно повысить продуктивность дизайнеров и программистов, работающих над созданием веб-приложений, предназначенных в том числе для внутреннего использования на предприятиях. Пакет Flash Catalyst впервые представлен публике и ориентирован на дизайнеров. Пакет Flash Builder 4 является продолжением линейки Flex Builder и ориентирован на разработчиков веб-приложений.

Пользователи популярных современных веб-сайтов привыкли к продуманным, быстрым и понятным интерфейсам. В то же время, каждый такой интерфейс является штучной работой, в которую вложено много сил и средств, а повторить такую разработку с помощью имеющихся инструментов очень непросто. В компании Adobe решили, что настало время создать такие же удобные интерфейсы для корпоративных веб-приложений, которые все чаще используются в компаниях всего мира. Таким образом, за счет использования пакетов Flash Catalyst и Flash Builder разработчики смогут предложить корпоративным пользователям не менее удобные интерфейсы, чем те, которыми можно наслаждаться в свободное время на развлекательных и коммерческих ресурсах.

Пакет Flash Catalyst очень похож на векторный графический редактор Illustrator и другие продукты Adobe. С помощью этого пакета даже не умеющий программировать дизайнер может создать полноценный прототип рабочего интерфейса для веб-приложений. Если обычно дизайнерам приходилось рисовать наброски интерфейса, которые существенно отличались от первоначальной идеи, то теперь они смогут использовать свои наброски из Photoshop и Illustrator с сохранением слоев, а затем описывать поведение каждого элемента без написания кода.

В пакете Catalyst дизайнер получает настоящую творческую свободу. Например, можно нарисовать арену цирка, в которой натянутый канат будет служить полосой прокрутки, а канатоходец – указателем. Готовый макет интерфейса экспортируется в формате проектов Flex (FXP), так что его можно легко редактировать в пакете Flash Builder. Вообще, если приложение не требует подключения к источникам данных, то в некоторых случаях доработка в Builder и не требуется – некоторые приложения дизайнер может создавать от начала и до конца в среде Flash Catalyst, не написав ни одной строки кода.

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

По мнению многих экспертов, технология Flash Catalyst устраняет разрыв между дизайнерами и разработчиками, развивая новый класс инструментов для разработки приложений совместными усилиями дизайнеров и программистов. Следует заметить, что одним из первых таких продуктов стал пакет Expression Suite компании Microsoft, однако он в большей мере ориентирован на Windows-приложения, а новые продукты Adobe – на веб-приложения, причем корпоративного характера.

Сроки официального выпуска пакета Flash Catalyst и пакета Flash Builder 4 пока не определены. Дополнительно об анонсированных продуктах Adobe для согласованной разработки веб-приложений силами дизайнеров и программистов можно прочитать на официальном сайте Adobe и в обзоре на сайте MIT Technology Review.

Получить дополнительную информацию о продуктах компании Adobe Systems можно на сайте компании Softline.
Источник: SoftLine

пятница, 30 января 2009 г.

Adobe AIR установили более 100 млн пользователей

Компания Adobe Systems Incorporated объявила на о том, что программное обеспечение Adobe AIR и Adobe Flash Player 10, ключевые компоненты платформы Adobe Flash, были установлены рекордным количеством пользователей по всему миру. Меньше чем 1 год спустя после выхода более 100 млн пользователей установили Adobe AIR. Кроме того, Adobe Flash Player был установлен на 55% компьютеров в мире всего в течение двух месяцев с момента его выхода, что превысило скорость распространения предыдущих версий.


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


По данным компании Adobe, контент, использующий Adobe Flash Player, просматривается на 98% компьютерах, подключенных к интернету; при этом более 80% видео в интернете просматриваются при помощи Flash Player.


источник http://cnews.ru

воскресенье, 23 ноября 2008 г.

Анонсирован Adobe Flash Media Server 3.5


Анонсирован Adobe Flash Media Server 3.5


Анонсирована обновленная версия семейства продуктов Adobe Flash Media Server 3.5. Она включает Adobe Flash Media Streaming Server 3.5 для организации потокового вещания, а также Adobe Flash Media Interactive Server 3.5 для более тонкой настройки сервисов, связанных с потоковым видео.



Среди особенностей новых версий приложений можно отметить улучшенную поддержку видеостандарта H.264 и аудиостандарта HE-AAC, возможность динамической передачи данных, а также возможность приостанавливать и выполнять поиск в потоке данных.

Программа Adobe Flash Media Interactive Server 3 оценивается в $4500. Adobe Flash Media Streaming Server 3 можно приобрести по цене $995. Оба продукта уже можно предварительно заказать в магазине Adobe. Они будут доступны в начале следующего года.

Adobe Flash Media Server 3.5 AB8 Software - 3DNews - Daily Digital Digest.

понедельник, 27 октября 2008 г.

Flash Lite 1/2/3

Flash Lite (по-русски обычно произносится [флэш лайт]) — относительно новая технология, основанная на использовании Flash-плеера на мобильных устройствах. В настоящее время существует версия Flash Lite 3.0.


Хронология версий


Flash Lite 1.0 — основана на версии Flash player 4 для настольных компьютеров. Flash Lite 1.1 — являлась просто доработанной и улучшенной версией Flash Lite 1.0. Flash Lite 2.0 — основана на версии Flash player 7 для настольных компьютеров.


При создании Flash Lite плееров версий 1.0 и 1.1 в качестве прототипа был использован Flash player 4 для настольных компьютеров. То есть практически разработчики компании Macromedia (ныне Adobe) просто адаптировали эту версию плеера для настольных компьютеров под специфические возможности мобильных устройств. В этих версиях Flash Lite использовалась модель программирования Flash Player 4, в которой ещё не поддерживалась точечная нотация (обращение к клипам при помощи оператора «точка»), а объектной модели не существовало вовсе.


При разработке Flash Lite 2.0 мобильного плеера за основу был взят Flash player 7 для настольных компьютеров. С появлением Flash Lite 2.0 можно не использовать с функцию tellTarget() и слеш-нотацию, используемой в Flash 4, так как Flash Lite 2 полностью поддерживает синтаксис и объектную модель ActionScript 2.0.


Новые возможности Flash Lite 2.0


Поддержка ActionScript 2.0


Flash Lite 2.0 полностью поддерживает синтаксис и объектную модель Action Script 2.0 за исключением, разве что, некоторых возможностей, поддержка которых невозможна аппаратной средой устройства. Кроме того в ActionScript для Flash Lite 2 добавлены некоторые возможности, специфичные для мобильных устройств.


Проигрывание видео


Flash Lite 2.0 поддерживает проигрывание видео, используя при этом видео-кодеки устройства. Это означает, что любой видеофайл, воспроизведение которого поддерживается устройством, будет проигрываться во Flash Lite 2.0 (самыми распространёнными на мобильных устройствах являются форматы 3GPP и MPEG4).


Видео может быть внедрено в SWF-файл, загружено из локальной папки или из сети. Flash Lite всегда использует специальные приложения, установленные на устройстве, при воспроизведении видео.


Анализатор внешних XML-файлов


Работа с внешними данными во Flash Lite 1.1 сильно ограничивалась только одним поддерживаемым форматом данных. Данные должны были поступать в URL-кодировке в виде пар «имя-значение», что было достаточно трудоёмкой задачей и сильно усложняло загрузку и передачу структурированной информации. Благодаря тому, что Flash Lite 2.0 поддерживает загрузку и анализ внешних данных в формате XML, можно использовать семейство XML-объектов Flash 7 для загрузки и передачи данных.


 Локальное сохранение данных


Flash Lite 2.0, так же как и Flash 7, поддерживает возможность локального хранения структур данных на устройстве в виде специальных объектов - shared objects. Список лучших результатов, настроек приложения и данные, введённые пользователем, могут быть сохранены на устройстве, чтобы быть использованными при последующем запуске приложения. Эта возможность позволяет разрабатывать гораздо более функциональные приложения по сравнению с Flash Lite 1.1.


 Загрузка внешних изображений и звуков


Так как Flash Lite 1.1 не поддерживал загрузку внешних медиа-данных, звуки и изображения приходилось внедрять в SWF-файл. Используя же последнюю версию плеера, можно загружать внешние изображения и звуки прямо с устройства или из сети. Эта возможность позволяет обновлять файлы с изображениями и звуками, без перекомпилирования, а также уменьшает объём самого SWF-файла.


 Adobe Flash Lite 3: еще больше динамики


Компания Adobe представила новую, третью, версию пакета программ Flash Lite, в которой добавлена поддержка Adobe Flash Player для просмотра видео и реализована доставка динамического веб-контента на мобильные устройства.


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


Крупнейшие мобильные производители DoCoMo и Nokia уже планируют добавить телефоны с поддержкой Flash Lite 3, в будущие линейки мобильных устройств. На данный момент в мире продано уже свыше 300 млн мобильных устройств, поддерживающих Flash-технологию. По прогнозам Adobe, к 2010 году их число достигнет 1 млрд.


Flash Lite 3 наиболее близко передает возможности Adobe Flash Player, применяемого в настольных компьютерах. С появлением Flash Lite 3 разработчики по всему миру смогут создавать еще более захватывающие интерфейсы и мобильные приложения со встроенным видео, а также разрабатывать еще более динамичные обои, скринсейверы и мобильные игры.


Развлечения (игры, screensaver и т.д) --> 30.00%- Приложения --> 70.00%


Использование Flash Lite контента


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


В Японии более 60% сайтов, занимающихся продажей контента, имеют в наличии Flash Lite контент - от простой анимации до игр. Очень большой популярностью пользуются анимированные рингтоны.


Nokia решила предоставлять различные возможности Flash Lite на Series 60 и Series 40 платформах.


* Series 60 3rd Edition воспроизводит Flash Lite 1.1 контент в автономном режиме (игры, приложения анимация). Также вы можете просматривать Flash Lite 1.1 в WAP броузере.
* Series 40 3rd Edition FP1 воспроизводит Flash Lite 1.1 в автономном режиме, в качестве скринсейверов, обоев, имеет возможность воспроизведения на дополнительном LCD и в качестве веб страниц.


Готовится несколько апдейтов в предстоящих Series 60 3rd Edition FP1 и Series 40 3rd Edition FP2 которые будут иметь в наличии Flash Lite 2.


На Series 60 3rd Edition FP1 будет возможность просматривать Flash Lite 2 контент в S60 Browser второй версии. Это очень интересная возможность с учетом того, что Flash Lite 2 поддержит потоковое видео! Первый телефон с этой возможностью - Nokia N95.
Series 40 3rd Edition FP2 также будет поддерживать Flash Lite 2, но некоторые возможности будут отличаться. Это касается Flash Lite 2 API. К примеру Nokia 5300, поддерживающий Flash Lite 2, не будет поддерживать внешнюю загрузку видео, используя video API. Но он сможет использовать видео, встроенное в Flash Lite 2. Это позволит создавать, к примеру, обои со встроенным видео!


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


Материалы: http://www.flashweb.sabiostar.com/   Лекцию подготовил: Тарасов Андрей

воскресенье, 5 октября 2008 г.

Adobe продолжает работать над Flash для iPhone






Adobe сообщила о том, что ее разработчики активно занимаются созданием плагина Flash для iPhone и iPod touch.


Во время выставки Flash on the Beach старший директор по инжинирингу Adobe Пол Бетлем (Paul Betlem) рассказал о том, что компания создает Flash-плеер для iPhone, однако операционная система телефона является закрытой платформой, и дойдет ли новая разработка Adobe для пользователей — зависит от решения Apple. Бетлем отметил, что в в случае получения одобрения из Купертино, Flash для iPhone появится без промедления, не уточнив при этом, будет ли выпущен плагин для мобильной версии Safari или отдельный плеер.


Напомним, по условиям использования iPhone SDK, приложения не могут интерпретировать сторонний код, поэтому единственная возможность для Adobe создать проигрыватель Flash для iPhone — получить на это согласие Apple. Как известно, Apple не особо горит желанием внедрять в iPhone поддержку Flash, объясняя это большой ресурсоемкостью плагина, что негативно скажется на времени автономной работы устройства. Как стало известно во время конференции WWDC 2008, Apple рассматривает в качестве альтернативы Flash технологию SproutCore, однако поддержка Flash по-прежнему важна для пользователей, так как этот стандарт широко используется на различных web-сайтах.


Источник: Flash Magazine

четверг, 25 сентября 2008 г.

Adobe Flash CS4 v10.0 Professional



Adobe Flash CS4 Professional — это ведущая в отрасли среда разработки для создания захватывающих интерактивных проектов. Создавайте проекты для аудиторий, поддерживающих различные платформы и устройства.

Adobe Flash CS4 v10.0 Professional

Данное программное обеспечение предоставляет превосходные новые инструменты для анимации и совместной работы, такие как анимация на основе объектов, обратная кинематика, перемещение и поворот 3D-объектов, поддержка XFL и возможность публикации в Adobe AIR™ в процессе разработки. Вы можете быстро создавать анимацию, легко изменять траекторию движения и получить полный контроль над отдельными атрибутами анимации с помощью новой функции анимации на основе объектов. Теперь программа поддерживает обратную кинематику - вы сможете создавать эффекты в виде цепи, используя ряд связанных объектов, или быстро изменяйте одиночную фигуру с помощью инструмента "Кости". Также вы получите полный контроль над отдельными атрибутами анимации с помощью анимации на основе объектов, позволяющей применять ее непосредственно к объектам, а не к ключевым кадрам. В десятой версии также появилось множество других возможностей, о которых вы узнаете далее.




Анимация на основе объектов
Получите полный контроль над отдельными атрибутами анимации с помощью анимации на основе объектов, позволяющей применять ее непосредственно к объектам, а не к ключевым кадрам. Легко меняйте траекторию движения с помощью элементов управления Безье.

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

Преобразование трехмерных объектов
Анимируйте плоские объекты в трехмерном пространстве с помощью превосходных новых инструментов перемещения и поворота трехмерных объектов, позволяющих анимировать их по осям x, y и z. Применяйте локальные или глобальные преобразования к любым объектам.

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

Процедурное моделирование с помощью инструментов "Декорирование" и "Аэрограф"
Превратите символы в инструменты мгновенного дизайна. Применяйте символы различными способами: быстро создавайте эффекты калейдоскопа и применяйте заливки с помощью инструмента "Декорирование" или в случайном порядке распыляйте символы по выбранной области с помощью инструмента "Аэрограф".

Поддержка метаданных (XMP)
Добавляйте метаданные в файлы SWF с помощью новой панели XMP. Быстро назначайте теги, улучшая совместную работу и создание проектов для мобильных устройств.

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

Авторская разработка для Adobe AIR™
Выводите интерактивные проекты на мониторах настольных компьютеров, используя встроенную функцию публикации в Adobe AIR во время разработки. Охватите более широкую аудиторию, использующую различные устройства: Интернет, мобильные телефоны, а теперь и настольные компьютеры.

Поддержка H.264
Кодируйте содержимое в любой формат, поддерживаемый проигрывателем Adobe Flash Player, с помощью кодировщика Adobe Media Encoder, инструмента, доступного также в других продуктах работы с видео Adobe, а теперь поддерживающего и H.264.

Новый интерфейс Adobe Creative Suite®
Повысьте эффективность работы с помощью интуитивной стыковки панелей и гибких функций поведения, позволяющих улучшить взаимодействие с инструментами во всех версиях Adobe Creative Suite.

Коротко о новых возможностях:
- Анимация на основе объектов
- Преобразование трехмерных объектов
- Обратная кинематика с помощью инструмента "Кости"
- Процедурное моделирование с помощью инструментов "Декорирование" и "Аэрограф"
- Редактор движения
- Поддержка метаданных (XMP)
- Стили движения
- Авторская разработка для Adobe AIR™
- Поддержка H.264
- Новый интерфейс Adobe Creative Suite®

ОС: Windows XP/Vista
Интерфейс: English

воскресенье, 21 сентября 2008 г.

Google, Yahoo ,Яндекс индексируют Flash!





Google и Yahoo! научились индексировать Flash-сайты

 





Поисковики Google и Yahoo! научились индексировать содержание Flash-сайтов, сообщает The Register. При поддержке компании Adobe, в поисковые движки этих ресурсов добавили технологию индексирования Flash-контента.

Google уже включает данные с Flash-сайтов в результаты поиска. Ожидается, что Yahoo! начнет индексировать Flash-контент в ближайшее время.


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


Помимо Google и Yahoo! представители Adobe предложили сотрудничество корпорации Microsoft. Однако последняя не проявила заинтересованности в индексации Flash-контента.


Технология Adobe Flash позволяет создавать различный мультимедийный контент. Например, веб-приложения, игры, мультфильмы. Для просмотра Flash-приложений требуется специальный проигрыватель, который может быть установлен как плагин для браузера. Аналогом технологии Flash является Silverlight, разработанный компанией Microsoft и выпущенный осенью прошлого года.




Вот некоторые выводы:

* Google не распознает текст, который появляется на картинах.
* Не проиндексируются и файлы FLV, такие как видео Youtube, потому что они не содержат текста.
* Много сайтов на Flash состоят из изображений и других мультимедийных элементов, поэтому единственным текстом, который может проиндексировать Google, является: «Загрузка», «Пожалуйста, подождите» и копирайты.
* Google не может выполнять некоторые Java скрипты. Если сайт загружает Flash через Java скрипт, Google не сможет найти этот файл.

Гугловский робот не справится если:
* Вы забыли разделить текст на смысловые части. Например, отсутствует разбивка текста (нет тегов <АШ1>,<П> и т.д.)
* Иногда дизайнеры используют не стандартные шрифты, а свои собственные с крутыми эффектами. Такой текст Google проиндексировать не может.
* Чаще всего весь контент сайта представлен на одном URL. В результате пользователь не может поставить ссылку на интересующий его материал. Все ссылки ведут на главную страницу. Получается, что на вашем сайте проиндексирована лишь одна страница.
* Структура сайтов на Flash не позволяет добиться высокого ранжирования. На некоторые Flash элементы стоят лишь внутренние ссылки, что не позволяет высоко ранжировать эти элементы.

FAQ:
Из-за того, что поисковики не могут видеть структуру flash сайта возникает вопрос, как быть веб дизайнеру? Единственное правило – показывать ботам поисковых систем то же самое, что и пользователям. Если вы этого не сделаете, то сайт рискует стать подозрительным для поисковых алгоритмов. Это простое правило охватывает множество вариантов, включая клоакинг, яваскрипт редиректы, спрятанный текст и страницы дорвеев. Но инженеры Google предлагают немного больше практических советов.

Гугловцы улучшили индексацию текста во всех возможных SWF файлах. Включая флэш-гаджеты такие, как меню, кнопки, сайты содержащие контент во флэше и все что с этим связано.
Любой контент, который виден пользователям когда они взаимодействуют с Flash файлами. Если ваш сайт содержит Flash, то текст содержащийся в нем может использоваться для создания снипетов для SERP'а. Так же, слова содержащиеся во флэш-контенте теперь так же участвуют при выдаче поисковых запросов.
В дополнение к этому, Гугловцы так же индексируют ссылки, содержащиеся в ваших Flash-файлах.
В настоящее время, googlbot индексируеt только текстовой контент. Если ваши флэшки содержат картинки, googlbot не распознает текст на них. Так же, если ваша флэш-кнопка с URL является картинкой, то googlbot не сможет составить анкор к ней если она не имеет ассоциированного с ней текста. (alt'a?) Так же, googlbot не индексирует FLV файлы.
Как оно работает? Гугловцы разработали специальный алгоритм, который помогает индексировать Flash файлы. Он проходит по всем ссылкам содержащимся в них, а так же текстам, формам и прочим элементам для пользователей. Алгоритм был улучшен за счет использования новой библиотеки Adobe - Searchable SWF library.
Что нужно сделать, что бы флэш файлы проиндексировались? В основном, вам не нужно предпринимать дополнительных действий. Все происходит автоматически. Только убедитесь, что ваши флэшки не запрещены для индексации и доступны сканеру.
Существуют технические ограничения для индексации флэша!
В настоящий момент, существуют три основных ограничения, которые Гугловцы стараются устранить как можно быстрее:
1. Googlebot не понимает JavaScript. Так, если ваша флэшка подгружается JavaScript то Googlebot может не найти ее.
2. Googlebot не может собирать в кучу контент из внешних ресурсов, таких как HTML, XML или другие SWF файлы. Если ваша флэшка именно такая, то Google будет индексировать их по отдельности, и пока не может распознать их как часть единого целого флэш-ролика.
3. В настоящее время у Googlebot проблемы с индексацией двунаправленного текста, к примеру такого, как Арабский.


воскресенье, 17 августа 2008 г.

Распространение событий ActionScript 3.0

ActionScript 3 поддерживает распространение события (event propagation) – передача одного события нескольким объектам. К примеру, в ActionScript 1 и 2 события для кнопок (такие как onPress, onRelease, …) перехваченные мувиклипом никогда не дойдут до вложенных в него мувиклипов, даже если мышкой кликнули именно по вложенному мувиклипу. Например, кликаем мышкой по мувиклипу child_mc, который вложен в parent_mc:


Код:



// AS1 и AS2


parent_mc.onPress = function(){


    trace("parent pressed");


}


parent_mc.child_mc.onPress = function(){


    trace("child pressed");


}


 


/* trace при клике мышкой по child_mc:


parent pressed


*/


А в ActionScript 3 событие будет передано обоим мувиклипам:


Код:



// AS3


parent_mc.addEventListener(MouseEvent.CLICK, parentClick);


parent_mc.child_mc.addEventListener(MouseEvent.CLICK, childClick);


 


function parentClick(event:MouseEvent):void {


    trace("parent pressed");


}


function childClick(event:MouseEvent):void {


    trace("child pressed");


}


 


/* trace при клике мышкой по child_mc:


child pressed


parent pressed


*/

Права доступа ActionScript 3.0

В ActionScript 3 добавлено два новых ключевых слова для описания прав доступа и усовершенствовано свойство private по сравнению с ActionScript 2. Итак, теперь мы имеем следующие ключевые слова для регулирования прав доступа:



  • public

  • protected

  • private

  • internal (по умолчанию)


public: то же самое, что и в ActionScript 2, все определенное как public может быть прочитано откуда угодно.
Конструкторы теперь всегда public.

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

private: в ActionScript 2 было это ключевое свойство, но фактически работало как protected, т.е. классы потомки имели полный доступ к методу или свойству, описанному как private. Теперь в ActionScript 3 private это полноценная приватность, т.е. доступ только в этом классе, в котором метод или переменная описана, для всех остальных, включая потомков, она не будет существовать. Это означает, что в классе-потомке можно объявить еще одну переменную или метод с таким же именем и при этом не возникнет никаких конфликтов.
Классы и конструкторы не могут быть определены как private.

internal: аналогично public, но ограничено пределами пакета (package). Только классы, описанные в этом же пакете, будут иметь доступ к internal переменным или методам.
Internal ставится по умолчанию для любого класса, переменным или методам класса, кроме конструкторов, которые всегда public.

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

В ActionScript 3 проверка прав доступа осуществляется не только на этапе компиляции, но и при выполнении, т.е. хаки использовавшиеся в ActionScript 2, чтобы получить доступ к скрытым методам больше не будут работать.

Рассмотрим все это на примерах.
Пример 1.


Код:



package {


   


    import flash.display.Sprite;


   


    // Класс AccessControl  объявлен как public (по умолчанию был бы internal)


    public class AccessControl extends Sprite {


       


        // Конструктор всегда public


        function AccessControl() {


           


            // Только классы описанные в этом файле


            // имеют доступ к вспомогательным классам


            var helper:Helper = new Helper();


           


            trace(helper.pubNum); // OK - это public


            // trace(helper.protNum); // Error – нет доступа к protected


            // trace(helper.privNum); // Error – нет доступа к private


            trace(helper.interNum); // OK - это internal


        }


    }


}


 


// Класс Helper по умолчанию internal


class Helper {


   


    // public – переменная видна отовсюду


    public var pubNum:Number = 1;


   


    // protected – доступ только из классов потомков


    protected var protNum:Number = 2;


   


    // private – доступно только в этом классе


    private var privNum:Number = 3;


   


    // internal – доступно только в этом же package,


    // но для вспомогательного класса это означает,


    // что только для классов описанных в этом файле


    internal var interNum:Number = 4;


       


    // Конструктор всегда public


    function Helper() {


    }


}


 


// класс SubHelper будет internal


// Потомок вспомогательного класса Helper


class SubHelper extends Helper {


   


    // Конструктор всегда public


    function SubHelper() {


        trace(pubNum); // OK – это public


        trace(protNum); // OK – т.к. мы являемся потомком


        // trace(privNum); // Error – нет доступа к private


        trace(interNum); // OK – в этом же файле


    }


}



Пример 2.


Код:



package {


   


    import flash.display.Sprite;


    import containers.*; // описано ниже


   


    // Класс AccessControl  объявлен как public (по умолчанию был бы internal)


    public class AccessControl extends Sprite {


       


        // Конструктор всегда public


        function AccessControl() {


           


            // Есть доступ из другого пакета (packages)


            // только если класс public


            var bowl:Bowl = new Bowl(); // OK


            // var basket:Basket = new Basket(); // Error – нет доступа к internal


           


            trace(bowl.pubNum); // OK


            // trace(bowl.protNum); // Error - нет доступа к protected


            // trace(bowl.privNum); // Error - нет доступа к private


            // trace(bowl.interNum); // Error - нет доступа к internal


        }


    }


}


Код:



package containers {


 


    // Класс public доступен везде


    public class Bowl {


       


        // Переменная public доступна везде


        public var pubNum:Number = 1;


       


        // protected – доступ только у наших потомков


        protected var protNum:Number = 2;


       


        // private – доступ только в этом классе


        private var privNum:Number = 3;


       


        // internal – доступ только в этом пакете (package)


        internal var interNum:Number = 4;


           


        // Конструктор всегда public


        function Bowl() {


           


            // Есть доступ к inteneral т.к. в этом же пакете


            var basket:Basket = new Basket();


           


            trace(basket.pubNum); // OK


            // trace(basket.protNum); // Error – нет доступа к protected


            // trace(basket.privNum); // Error - нет доступа к private


            trace(basket.interNum); // OK – в этом же пакете


           


            // clone объявлен как public


            var basketCopy:Basket = basket.clone();


        }


    }


}


Код:



package containers {


   


    // interal – доступ только в этом пакете (package)


    internal class Basket {


       


        // public – доступ отовсюду


        public var pubNum:Number = 1;


       


        // protected – доступ только у потомков


        protected var protNum:Number = 2;


       


        // private – доступ только в этом классе


        private var privNum:Number = 3;


       


        // internal – доступ только в этом пакете (package)


        internal var interNum:Number = 4;


       


        // Конструктор всегда public


        function Basket() {


        }


       


        // public – доступ отовсюду


        public function clone():Basket {


            var basket:Basket = new Basket();


            basket.pubNum = pubNum; // OK


            basket.protNum = protNum; // OK – этот же класс


            basket.privNum = privNum; // OK - этот же класс


            basket.interNum = interNum; // OK


            return basket;


        }


    }


}

(flasher.ru)