Перейти к содержимому

IP.Board Style© Fisana
 

- - - - -

ActionScript 1,2,3 и MXML (AS3)


Сообщений в теме: 12

#1 SandersAlex

    Писатель

  • Пользователь
  • PipPip
  • 61 сообщений
  • Пол:Мужчина
  • Город:Озёрск, Челябинск

Отправлено 02 Июль 2012 - 12:03

Здравствуйте!

Здесь решил создать тему по про.работе на языке ActionScript. Вы сможете смотреть примеры и обсуждать решения

1ая и 2ая версии более чем для баннеров и несложных приложений (НЕ RIA) - на мой взгяд не годятся. RIA - Rich Internet Application (Насыщенные Интернет Приложения).
На 3ей - на ней можно создавать игры. MXML + AS3 - игры и RIA приложения. Есть еще один подвид MXML + AS3, так называем AIR (Stanalone) приложения для работы на локальном компьютере или мобильном устройсте

Сообщение отредактировал SandersAlex: 02 Июль 2012 - 12:30


#2 Abgehackt

    Графоман

  • Модератор
  • 2 152 сообщений
  • Пол:Мужчина
  • Город:Озерск

Отправлено 02 Июль 2012 - 13:40

А есть ли будущее с учетом того, что Adobe Systems сделала официальное заявление, что она прекращают поддержку технологии Flash для мобильных устройств в пользу нового стандарта HTML 5? Конечно, это коснется только браузеров, но, учитывая сильный рост мобильных устройств на иОС и Андроиде, не кажется ли вам, что это начало конца AS?

#3 SandersAlex

    Писатель

  • Пользователь
  • PipPip
  • 61 сообщений
  • Пол:Мужчина
  • Город:Озёрск, Челябинск

Отправлено 02 Июль 2012 - 18:39

Просмотр сообщенияAbgehackt (02 Июль 2012 - 13:40) писал:

А есть ли будущее с учетом того, что Adobe Systems сделала официальное заявление, что она прекращают поддержку технологии Flash для мобильных устройств в пользу нового стандарта HTML 5? Конечно, это коснется только браузеров, но, учитывая сильный рост мобильных устройств на иОС и Андроиде, не кажется ли вам, что это начало конца AS?
На последнем RAFPUG'e и на FlashGame было доказано - это всего лишь утки от поклонников Силверлайта и МС. Недавно было последнее обновление самого плейера и ЦС'а. Прекратили развитие библиотеки Flex "Hero" для мобильных устройств, но не саму платформу. Как было заявлено одним из ведущих разрабочиков Adobe Flash, то рынок развития платформы еще огромен и потенциал еще не в полной мере развит!

Все разрабочики до сих пор могу писать под любые платформы и конвертировать приложения так же под любые устройства. Опять же, на всех сайтах посвященных развитию Unity, UDK, Flash = HTML5 мертво рожденный язык, примерами тому являются: Google Labs закрывает проект O3D, UDK (кто не знает Unreal Development Kit) даже и не думали развивать что либо под HTML5 и прочее ссылки на крупнейших разрабов, статьи и интерьвью могу скинуть. Вся ставка крупнейших разработчиков ведется на интерактив, что само по себе Java и HTML не могут дать

Сообщение отредактировал SandersAlex: 02 Июль 2012 - 19:14


#4 SandersAlex

    Писатель

  • Пользователь
  • PipPip
  • 61 сообщений
  • Пол:Мужчина
  • Город:Озёрск, Челябинск

Отправлено 02 Июль 2012 - 19:06

Если начать с перврго урока на ООП AS3, то это может быть проект созданный под FlashDevelop (оф. страница http://www.flashdevelop.org/), или можете скачать отсюда (http://www.flashdeve...p-4.0.4-RTM.exe) либо создать на Flash IDE , либо на Flash Builder с любым предустановленным Flex SDK (от версии мх 3.0 либо spark библиотекой - расширение mx 4.0 и выше). Для корректной работы FlashDevelop, потребуется Java Runtime 1.6 или старше, скачивать отсюда http://java.com/ru/download/. Flex SDK располагаются на это странице - http://sourceforge.n...wiki/Downloads/ - на данный момент, самая последняя версия 4.6, включающая в себя и 4.5 Flex SDK "Hero" для разработки приложений на мобильные устройства.

Пример кода под Flash:
package {
   import flash.display.*;

  /**
   * @author Sanders Alex
   * @company NeRIA Labs.
   */
   public class Main extends MovieClip
   {
	  public function Main():void
	  {
		 trace("Hello World");
	  }
   }
}

1. package указывает на то что в каком пакете или подпапках нам искать описание класса используемом в проекте;
2. import flash - указывает на то, какие системные библиотеки мы используем. В данном случае flash.display.* будут подключены все библиотеки отвечающие за вывод на экран и за работу с экранными объектами. Но в финальной реализации в ней будет подключены только flash.display.MovieClip и flash.display.Sprite; Во всех промышленных проектах наследуются от MovieClip, и очень редко от Sprite (базовый класс для MovieClip);
3. Все конструкторы классов приложения должен быть объявлены как public или protected;
4. void указывает на то что функция не возвращает значения - это жесткое правило для всех конструкторов исключение синглтоны;
5. trace выводит информацию в консоль.

Пример кода под Flex 4.1 (класс Main.mxml):
  /**
   * @author Sanders Alex
   * @company NeRIA Labs.
   */
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="httр://ns.adobe.com/mxml/2009"
			  xmlns:s="library://ns.adobe.com/flex/spark"
			  xmlns:mx="library://ns.adobe.com/flex/mx"
			  initialize="Init()">

<fx:Script>
  <![CDATA[
   private function Init():void {
	trace("Hello world");
   }
  ]]>
</fx:Script>

</s:Application>

1. Flash/Flex понимает кодировку UTF8, UTF16, Unicode, но пишем программы только в UTF8;
2. s: - обозначение для использования библиотеки Spark, наследницы от предыдущей версии mx. Хоть и можно было бы написать <mx:Application>....</mx:Application> и это бы не привело бы к ошибке. Но тактичней использовать библиотеку присущей той версии, на которой пишете. Версии 2.0 и старше, вплоть до версии 3.5 используют только запись <mx:Application>....</mx:Application>, т.к. в них отсутствует библиотека Spark. Spark появилась в версии 4.0;
3. xmlns:fx="httр://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" - namespace (используемое пространство имён) для подключения необходимых возможностей Flex для описания MXML струкутры приложения;
4. <fx:Script> <![CDATA[ ... ]]> </fx:Script> Область для написания программного кода на ActionScript 3. Без подключения namespace xmlns:fx="httр://ns.adobe.com/mxml/2009", было бы невозможным использовать область MXML fx: ;
5. Так в приложении, отсутствует точка входа, то мы её создаем, а именно, по Системному событию инициализации приложения (initialize), присваиваем ей значение для запуска необходимой функции initialize="Init()".

Сообщение отредактировал SandersAlex: 17 Июль 2012 - 12:48


#5 SandersAlex

    Писатель

  • Пользователь
  • PipPip
  • 61 сообщений
  • Пол:Мужчина
  • Город:Озёрск, Челябинск

Отправлено 16 Июль 2012 - 08:53

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

Наша молодая команда NeRIA Labs. (NeRIA (©), NeRIA Labs. (©)), на прошлой неделе нашла доп. финансирование и открыла представительство в г.Озёрске. Головной центр, находится в г. Челябинск. В команду входят специалисты: C#, AS3, PHP, Java/JavaScript, Objective C. В основном, всё ПО (93%) пишется на C# и AS3: игры (social (C#, AS3) и standalone (AIR, AS3, C#)), учебные и развлекательные приложения (mobile (Bada, Android (AS3)), iOS (Objective C, AS3), TV (LG, Samsung (C#, реже AS3)), интерактивные презентации (AS3), сайты (PHP, AS3). Портфолио в собранном состоянии на всех членов команды составляет (на данный момент) чуть более 2Гб. Стаж работы в игрострое (12 лет - на всех, у кого-то больше у кого то меньше).

Состав лидеров команды:
TeamLeader и тех. директор: Трушин Алексей aka Sanders Alex (г. Озёрск, г. Челябинск), постоянный участник RAFPUG г. Челябинск, номинант 1го фестиваля web-анимации и web-программирования г. Челябинск 2007, стаж игростроя 3 года (более 25 проектов (как законченных, так и на стадии создания)), общий стаж интерактива на AS1-3 с 2003 года. Владение языками: AS1-3, C# (server-side, Unity), PHP, JavaScript, C/C++ (Borland, M$), UDK (Unreal Scripting), FMS
ProgrammerLeader: Андрей С. aka Beast (г. Златоуст, г. Челябинск), постоянный участник RAFPUG г. Челябинск, стаж игростроя 2 года (более 10 проектов (как законченных, так и на стадии создания)), общий стаж интерактива на AS3 с 2008 года. Владение языками: AS3, C# (server-side), JavaScript
CreativeLeader: Василий Шульгин (г. Челябинск), 2D/3D дизайнер
и другие участники "студии интерактивных развлечений NeRIA", всего 7 человек из разных городов Челябинской области

В разработке: большая игра (для женской и девичей аудитории) (3D modeling, 2.5D изометрия, social, standalone, iOS версии (AS3) + сервер (C#)), приложение для женщин (2D, social, standalone, iOS версии (AS3) + сервер (C#)), учебно-методическое приложение по изучению русского и английского языков (тоже самое что для пред. приложения)
Ожидаемый релиз состоится 01.09.2012.

Приглашаем к сотрудничеству: компании, которым интересно развитие в индустрии интерактивных развлечений и соинвестициям. А также талантливых и/или начинающих программистов (AS3, C/C++/C#/Objective C), дизайнеров и художников (2D, 3D). Мы не будем тестировать ваши знания, они приобретаются с опытом. От Вас желательно желание создавать что-то новое и прекрасное, что понравится людям. Возраст и опыт не имеют значения. Желательно портфолио. Все отношения оформляются документально.

Наши друзья:
FLAZM.RU (г. Магнитогорск), Flash-Ripper, iHeroes (г. Челябинск), Flexis (г. Москва), Максим Фирсов (г. Снежинск), Альтернатива (г. Пермь), EVA Game Studio (г. Челябинск) и прочие... увы, всех с кем мы знакомы, общаемся и периодически встречаемся, не только на рафпугах, а просто на пингах - не перечислить

Сообщение отредактировал SandersAlex: 16 Июль 2012 - 13:52


#6 SandersAlex

    Писатель

  • Пользователь
  • PipPip
  • 61 сообщений
  • Пол:Мужчина
  • Город:Озёрск, Челябинск

Отправлено 17 Июль 2012 - 11:35

Сегодня хотелось бы поговорить о событиях, AS3 это ООП (объектно-ориентированный язык программирования), соответственно также соответствует почти всем правилам работы, более "крутых" собратьев например C/C++/C#, хотя и имеет некоторые ограничения. На событиях и их обработке построены все современные приложения. В AS3 есть два вида событий: системные и пользовательские. Системные обрабатываются и генерируются Flash плейром, пользовательские пишут сами программисты. Свой генератор событий мы напишем на след. уроке, на этом мы будем использовать только системные. Часть системных событий генерируются ОС (операционной системой и перехватываются Flash плейром), например работа с мышью. Большинство же, генерируются самим плейром.

Часть системных событий инициализации приложения, это:

1. initialize - срабатывает 1 раз и останавливается, как только приложение было инициализировано. И не важно были помещены объекты на экран или нет;
2. addedToStage - срабатывает 1 раз и останавливается (под Flex), под Flash IDE может быть сгенерирован от 1го до бесконечного кол-ва попыток. Отвечает за добавление приложения(объектов) на экран;
3. frameConstructed - генерируется бесконечно, если не остановить. Отвечает за построение кадра приложения или анимации объектов, если такое будет необходимо. В 99% приложений, с ним работают только при построении приложения;

addEventListener(Event.ADDED_TO_STAGE, AddedToStage); - этой функцией добавляем тип события и его обработчик;
removeEventListener(Event.ADDED_TO_STAGE, AddedToStage); - этой функцией удаляем тип события и его обработчик;

Пример кода под Flash:
package
{
import flash.display.MovieClip;
import flash.events.Event;

/**
  * @author Sanders Alex
  * @company NeRIA Labs.
  */
public class Main extends MovieClip
{
  public function Main():void
  {
   addEventListener(Event.ADDED_TO_STAGE, AddedToStage);
   addEventListener(Event.FRAME_CONSTRUCTED, FrameConstructed);
  }
  private function AddedToStage(e:Event):void
  {
   //removeEventListener(Event.ADDED_TO_STAGE, AddedToStage);
   trace("Call AddedToStage...");
  }
  private function FrameConstructed(e:Event):void
  {
   //removeEventListener(Event.FRAME_CONSTRUCTED, FrameConstructed);
   trace("Call FrameConstructed...");
  }
}
}

В данном примере, у меня получилось такое при вывод в консоль:
Called AddedToStage...
Called FrameConstructed...
Called FrameConstructed...
... бесконечно печатается Called FrameConstructed...

Если уберём комментарии, то получим такой вывод:
Called AddedToStage...
Called FrameConstructed...

Пример кода под Flex 4.1 (класс Main.mxml):
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="[url="http://ns.adobe.com/mxml/2009"]http://ns.adobe.com/mxml/2009[/url]"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"
	  initialize="Init()">

<fx:Declarations>
  <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

<fx:Script>
  <![CDATA[
   import flash.events.Event;
  
   private function Init():void {
	trace("Called Init...");
	
	this.addEventListener(Event.ADDED_TO_STAGE, AddedToStage);
	this.addEventListener(Event.FRAME_CONSTRUCTED, FrameConstructed);
   }
   private function AddedToStage(evt:Event):void {
	trace("Called AddedToStage...");
	
	//this.removeEventListener(Event.ADDED_TO_STAGE, AddedToStage);
   }
   private function FrameConstructed(evt:Event):void {
	trace("Called FrameConstructed...");
	
	//this.removeEventListener(Event.FRAME_CONSTRUCTED, FrameConstructed);
   }
  ]]>
</fx:Script>

</s:Application>

В данном примере, у меня получилось такое при вывод в консоль:
Called Init...
Called FrameConstructed...
Called FrameConstructed...
Called FrameConstructed...
Called FrameConstructed...
Called AddedToStage...
Called FrameConstructed...
Called FrameConstructed...
... бесконечно печатается Called FrameConstructed...

Если уберём комментарии, то получим такой вывод:
Called Init...
Called FrameConstructed...
Called AddedToStage...

После каждой обработки событий отвечающих за организацию нашего приложения, мы убиваем обработчики, т.к. они нам не понадобятся больше. Внимание: при разработке под Flash (не под Flex), сначала генерируется событие addedToStage, затем frameConstructed. Приводим в идеальный код, наш пример под Flex и Flash и получаем:

package
{
import flash.display.MovieClip;
import flash.events.Event;

/**
  * @author Sanders Alex
  * @company NeRIA Labs.
  */
public class Main extends MovieClip
{
  public function Main():void
  {
   addEventListener(Event.ADDED_TO_STAGE, AddedToStage);
  }
  /*
   * System Handlers
   */
  private function AddedToStage(e:Event):void
  {
   trace("Call AddedToStage...");
   removeEventListener(Event.ADDED_TO_STAGE, AddedToStage);
  
   addEventListener(Event.FRAME_CONSTRUCTED, FrameConstructed);
  }
  private function FrameConstructed(e:Event):void
  {
   trace("Call FrameConstructed...");
   removeEventListener(Event.FRAME_CONSTRUCTED, FrameConstructed);
  
   // здесь добавляем функцию для работы самого приложения
   InitApp();
  }
  /*
   * Application Logic
   */
  private function InitApp():void {
   // запускаем логику приложения ...
   // бла бла ...
  }
}
}

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="httр://ns.adobe.com/mxml/2009"
			   xmlns:s="library://ns.adobe.com/flex/spark"
			   xmlns:mx="library://ns.adobe.com/flex/mx"
	  initialize="Init()">

<fx:Script>
  <![CDATA[
   import flash.events.Event;
  
   /*
	* System Handlers
	*/
   private function Init():void {
	trace("Called Init...");
	
	this.addEventListener(Event.FRAME_CONSTRUCTED, FrameConstructed);
   }
   private function FrameConstructed(evt:Event):void {
	trace("Called FrameConstructed...");
	this.removeEventListener(Event.FRAME_CONSTRUCTED, FrameConstructed);

	this.addEventListener(Event.ADDED_TO_STAGE, AddedToStage);
   }
   private function AddedToStage(evt:Event):void {
	trace("Called AddedToStage...");
	
	this.removeEventListener(Event.ADDED_TO_STAGE, AddedToStage);
	
	// здесь добавляем функцию для работы самого приложения
	InitApp();
   }
   /*
	* Application Logic
	*/
   private function InitApp():void {
	// запускаем логику приложения ...
	// бла бла ...
   }
  ]]>
</fx:Script>

</s:Application>

Сообщение отредактировал SandersAlex: 17 Июль 2012 - 13:43


#7 SandersAlex

    Писатель

  • Пользователь
  • PipPip
  • 61 сообщений
  • Пол:Мужчина
  • Город:Озёрск, Челябинск

Отправлено 20 Июль 2012 - 12:01

Прежде чем начать новый урок, отвечу на поступившие вопросы: "Зачем обрабатывать события: addedToStage, frameConstructed и initialize (для Flex)?".
Ответ очевиден: все трое, отвечают за корректную инициализацию самого FP, корректную загрузку и установку на Stage (_root (для старых версий AS)), самого приложения, без инициализации основных переменных и компонентов используемых в приложении. Если все три события корректно отработали, то можно продолжать работу с самим прилом. У Adobe, в свое время, были проблемы с этим ещё с 9ой версии. Большая часть ошибок давно исправлена, но на "всяк пожарный", разработчики до сих пор сначала проверяют данные события.

Ниже, я привожу код собственного события:
package util.events
{
   import flash.events.Event;

   public class ObjectEvent extends Event {
	  public var data:Object;
	  
	  public function ObjectEvent(type:String, data:Object=null, bubbles:Boolean=true, cancelable:Boolean=false)
	  {
		 super(type, bubbles, cancelable);
		 this.data = data;
	  }
	  override public function clone():Event
	  {
		 return (new ObjectEvent(this.type, this.data, this.bubbles, this.cancelable));
	  }
	  override public function toString():String
	  {
		 return (formatToString("ObjectEvent", "type", "data", "bubbles", "cancelable"));
	  }
   }
}

Наследуемся от базового класса событий - Event. Такая схема обязательна для всех типов реализованных событий, где:
bubbles:Boolean - Определяет, является ли событие событием восходящей цепочки.
cancelable:Boolean - Указывает, можно ли предотвратить поведение, связанное с событием.
currentTarget:Object - Объект, активно обрабатывающий объект Event с помощью прослушивателя событий.
eventPhase:uint - Текущая фаза в потоке событий.
target:Object - Целевой объект события.
type:String - Тип события.

Пример использования данного события:
package
{
   import flash.display.MovieClip;
   import flash.events.Event;

   // подключаем наш файл
   import util.events.ObjectEvent;

   /**
   * @author Sanders Alex
   * @company NeRIA Labs.
   */
   public class Main extends MovieClip
   {
	  public static const BUY_AVATAR_ITEM_EVENT:String = "GAME_Buy_Item_Event";
	  
	  public function Main():void
	  {
		 addEventListener(Event.ADDED_TO_STAGE, AddedToStage);
	  }
	  /*
	  * System Handlers
	  */
	  private function AddedToStage(e:Event):void
	  {
		 trace("Call AddedToStage...");
		 removeEventListener(Event.ADDED_TO_STAGE, AddedToStage);

		 addEventListener(Event.FRAME_CONSTRUCTED, FrameConstructed);
	  }
	  private function FrameConstructed(e:Event):void
	  {
		 trace("Call FrameConstructed...");
		 removeEventListener(Event.FRAME_CONSTRUCTED, FrameConstructed);

		 // здесь добавляем функцию для работы самого приложения
		 InitApp();
	  }
	  /*
	  * Application Logic
	  */
	  private function InitApp():void {
		 // добавляем слушатель событий
		 addEventListener(BUY_AVATAR_ITEM_EVENT, this.onBuyAvatarItem);
		
		 // ... искуственно генерируем наше событие
		 dispatchEvent(new ObjectEvent(BUY_AVATAR_ITEM_EVENT, {datatext:"наш текст"}));
	  }
	  /*
	  * Application Handlers
	  */
	  private function onBuyAvatarItem(e:ObjectEvent):void
	  {
		 try
		 {
			// какое-то действие
			trace(e.data.datatext);
		 }
		 catch(err:Error)
		 {
			trace(err, err.getStackTrace());
		 };
	  }
   }
}

Если уберём комментарии, то получим такой вывод:
Called AddedToStage...
Called FrameConstructed...
наш текст

Сообщение отредактировал SandersAlex: 20 Июль 2012 - 12:16


#8 NeRIA

    Читатель

  • Пользователь
  • Pip
  • 2 сообщений
  • Пол:Мужчина

Отправлено 28 Февраль 2013 - 15:31

Готовится к выходу Flex(Flash)/HTML + Bitrix "Бизнес" (php) сайт автокомплекса "Камелот". В марте будет Flex(Flash) версия под iOS и Android.

Изображение


На стадии завершения, "адская" смесь Flex(Flash)/HTML + Bitix .NET нашего сайта

Изображение

Сообщение отредактировал NeRIA: 28 Февраль 2013 - 16:13


#9 mobilix

    Писатель

  • Пользователь
  • PipPip
  • 106 сообщений
  • Пол:Мужчина
  • Город:Екатеринбург

Отправлено 01 Март 2013 - 15:58

В SEO не слишком то приветствуется Flex(Flash). Роботы не индексируют то что написано во флеш.

Изображение

#10 NeRIA

    Читатель

  • Пользователь
  • Pip
  • 2 сообщений
  • Пол:Мужчина

Отправлено 01 Март 2013 - 16:15

Просмотр сообщенияmobilix (01 Март 2013 - 15:58) писал:

В SEO не слишком то приветствуется Flex(Flash). Роботы не индексируют то что написано во флеш.
Это давно уже сделано!!! :P Чаще юзайте XMP, благодаря ему всё индексируется, а если нужно что то особенное, скиньте в html. Такой вопрос был актуален еще в 2009 году. В конце 2009 XMP обрабатывает Гугл, в 2010 обрабатвает Яндекс, а затем уже подключились и все остальные.

Сообщение отредактировал NeRIA: 01 Март 2013 - 16:20


#11 SandersAlex

    Писатель

  • Пользователь
  • PipPip
  • 61 сообщений
  • Пол:Мужчина
  • Город:Озёрск, Челябинск

Отправлено 20 Июнь 2013 - 12:35

29 июня 2013 (Суббота), 12:00
Встреча разработчиков игр в Челябинске (RAFPUG, part 1)

http://agileche.time...u//event/71070/ - links f/registration. Reg is Free.

#12 mobilix

    Писатель

  • Пользователь
  • PipPip
  • 106 сообщений
  • Пол:Мужчина
  • Город:Екатеринбург

Отправлено 21 Июнь 2013 - 09:31

Просмотр сообщенияNeRIA (01 Март 2013 - 16:15) писал:

Просмотр сообщенияmobilix (01 Март 2013 - 15:58) писал:

В SEO не слишком то приветствуется Flex(Flash). Роботы не индексируют то что написано во флеш.
Это давно уже сделано!!! :P Чаще юзайте XMP, благодаря ему всё индексируется, а если нужно что то особенное, скиньте в html. Такой вопрос был актуален еще в 2009 году. В конце 2009 XMP обрабатывает Гугл, в 2010 обрабатвает Яндекс, а затем уже подключились и все остальные.
а как же метрики?

Изображение

#13 SandersAlex

    Писатель

  • Пользователь
  • PipPip
  • 61 сообщений
  • Пол:Мужчина
  • Город:Озёрск, Челябинск

Отправлено 21 Июнь 2013 - 15:17

Просмотр сообщенияmobilix (21 Июнь 2013 - 09:31) писал:

Просмотр сообщенияNeRIA (01 Март 2013 - 16:15) писал:

Просмотр сообщенияmobilix (01 Март 2013 - 15:58) писал:

В SEO не слишком то приветствуется Flex(Flash). Роботы не индексируют то что написано во флеш.
Это давно уже сделано!!! :P Чаще юзайте XMP, благодаря ему всё индексируется, а если нужно что то особенное, скиньте в html. Такой вопрос был актуален еще в 2009 году. В конце 2009 XMP обрабатывает Гугл, в 2010 обрабатвает Яндекс, а затем уже подключились и все остальные.
а как же метрики?
Сэр, голова на что дана :bw:
У нас скрытый див, со всем чем нам нужно :bu:
Хотите знать больше, welcome к нам в тусовку на RAFPUG. Познакомлю лично вас с теми, кто вас научит или даст наводку: что, где и как.

Сообщение отредактировал SandersAlex: 21 Июнь 2013 - 15:19






Количество пользователей, читающих эту тему: 4

0 пользователей, 4 гостей, 0 анонимных