<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Go!Verla Flex Blog &#187; AIR</title>
	<atom:link href="http://tearaway-tea.com/blog/category/air/feed/ru/" rel="self" type="application/rss+xml" />
	<link>http://tearaway-tea.com/blog</link>
	<description>от Евгения Тютюнника</description>
	<lastBuildDate>Mon, 31 Aug 2009 04:21:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Моя презентация с iForum 2009</title>
		<link>http://tearaway-tea.com/blog/2009/04/%d0%bc%d0%be%d1%8f-%d0%bf%d1%80%d0%b5%d0%b7%d0%b5%d0%bd%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d1%81-iforum-2009/ru/</link>
		<comments>http://tearaway-tea.com/blog/2009/04/%d0%bc%d0%be%d1%8f-%d0%bf%d1%80%d0%b5%d0%b7%d0%b5%d0%bd%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d1%81-iforum-2009/ru/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 14:42:28 +0000</pubDate>
		<dc:creator>tearaway_Tea</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://tearaway-tea.com/blog/?p=274</guid>
		<description><![CDATA[Согласно сообщению от организаторов, форум посетило около 1200 человек. Большинство из них мало интересовалось потоком «Интернет-Технологии», что логично, так как в основном аудитория состояла из специалистов по рекламе, владельцев украинских интернет компаний, а также людей, мечтающих о владении подобными и прочих «интернет-дельцов».
Но, несмотря на немногочисленную аудиторию, я с удовольствием посмотрел и послушал выступление создателя библиотеки [...]]]></description>
			<content:encoded><![CDATA[<p>Согласно сообщению от организаторов, форум посетило около 1200 человек. Большинство из них мало интересовалось потоком <a title="«Интернет-Технологии»" href="http://iforum.com.ua/programma-tech/">«Интернет-Технологии»</a>, что логично, так как в основном аудитория состояла из специалистов по рекламе, владельцев украинских интернет компаний, а также людей, мечтающих о владении подобными и прочих «интернет-дельцов».</p>
<p>Но, несмотря на немногочисленную аудиторию, я с удовольствием посмотрел и послушал выступление создателя библиотеки <a title="Away3D" href="http://away3d.com/">Away3D</a>, Александра Задорожного, как часть доклада «Трёхмерные вебсайты и вебсервисы: возможности, преимущества и перспективы». Он, довольно грустно поведал о разочаровании последней версией Flash Player 10 на предмет отсутствия ожидаемой полной поддержки 3D, а не только базового функционала. Сказал, что забросил своё детище, хотя и удивлён тем, что, проект Away3D так долго существует (связывает это с низкой функциональностю API Flash Player-а).</p>
<p>Мою презентацию можно прокликать <a title="To Flex or Not To Flex" href="http://www.slideshare.net/tearaway_Tea/to-flex-or-not-to-flex">он-лайн</a>. Вроде бы будет и видео с выступления (но как часто бывает, после окончаний конференций уже некогда и незачем подобным заниматься).</p>
<div id="__ss_1238619" style="width: 500px; text-align: left;"><object width="500" height="417" data="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=iforum2009-flexair-090402074243-phpapp01&amp;rel=0&amp;stripped_title=to-flex-or-not-to-flex" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=iforum2009-flexair-090402074243-phpapp01&amp;rel=0&amp;stripped_title=to-flex-or-not-to-flex" /><param name="allowfullscreen" value="true" /></object></div>
<p>По уже сложившейся «традиции», после моего выступления Сергей Байдачный из Microsoft рассказал о Silverlight. На этот раз о новых фичах третьей беты. Вообще, мне очень интересна тема разработки на Silverlight (думаю, как и большинству сознательных флексеров). Flex до сих пор сложно назвать самым крутым средством для RIA, ввиду забивания со стороны Adobe на большинство вопросов программистского характера (рефакторинг, логичной и управляемой снаружи ООП моделью базовых компонентов, возможности языка Action Script). Так как Silverlight является наследником крутейших средств и методологий .NET-а, то он априори — крут, крут, крут.</p>
]]></content:encoded>
			<wfw:commentRss>http://tearaway-tea.com/blog/2009/04/%d0%bc%d0%be%d1%8f-%d0%bf%d1%80%d0%b5%d0%b7%d0%b5%d0%bd%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d1%81-iforum-2009/ru/feed/ru/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Пару слов о MacroContent Builder</title>
		<link>http://tearaway-tea.com/blog/2008/07/%d0%bf%d0%b0%d1%80%d1%83-%d1%81%d0%bb%d0%be%d0%b2-%d0%be-macrocontent-builder/ru/</link>
		<comments>http://tearaway-tea.com/blog/2008/07/%d0%bf%d0%b0%d1%80%d1%83-%d1%81%d0%bb%d0%be%d0%b2-%d0%be-macrocontent-builder/ru/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 14:09:24 +0000</pubDate>
		<dc:creator>tearaway_Tea</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://tearaway-tea.com/blog/?p=72</guid>
		<description><![CDATA[На моей последней работе в голландской компании KZOO webcreatie я разрабатывал AIR приложение для визуального построения шаблонов к некоему серверному движку, которым владеет компания. Приложение предоставляет пользователям набор элементов (список, елемент, контент) для построения гибкой древовидной структуры. Результатом работы есть XML файл, в котором содержится как некоторая скриптовая логика, так и структура БД, а так [...]]]></description>
			<content:encoded><![CDATA[<p>На моей последней работе в голландской компании <a href="http://kzoo.nl/">KZOO webcreatie</a> я разрабатывал <em>AIR</em> приложение для визуального построения шаблонов к некоему серверному движку, которым владеет компания. Приложение предоставляет пользователям набор элементов (список, елемент, контент) для построения гибкой древовидной структуры. Результатом работы есть XML файл, в котором содержится как некоторая скриптовая логика, так и структура БД, а так же и HTML представление. Серверный движок на основе этого файла реализует связь с БД и генерирует конечную HTML страницу. Система довольно универсальная, но, конечно же, не может покрыть узкопрофильные решения, только типовые сайты.</p>
<p><script src="http://tearaway-tea.com/js/swfobject.js" type="text/javascript"></script> <script type="text/javascript"><!--
	var flashvars = {airversion: "1.0", appname: "MacroContent Builder", appurl: "http://tearaway-tea.com/blog/wp-content/uploads/2008/09/mc-builder.air", appid: "com.majoca.Puzzle", imageurl: "http://tearaway-tea.com/blog/wp-content/uploads/2008/09/mc-builder-badge.jpg", hidehelp: "true", str_err_airswf: "Running locally? The AIR proxy swf wont load properly when this demo is run from the local file system."	};
	swfobject.embedSWF("http://tearaway-tea.com/bin/AIRInstallBadge.swf", "mcbuilderairbadgecontent", "215", "180", "9.0.115", "http://tearaway-tea.com/bin/expressinstall.swf", flashvars, {bgcolor : "#FFFFFF"});
// --></script></p>
<div id="mcbuilderairbadgecontent"><strong>Hello, you either have JavaScript turned off or an old version of Adobe’s Flash Player. <a href="http://www.macromedia.com/go/getflashplayer/">Get the latest Flash player</a>.</strong> Application link: <a href="http://tearaway-tea.com/blog/wp-content/uploads/2008/09/mc-builder.air">http://tearaway-tea.com/blog/wp-content/uploads/2008/09/mc-builder.air</a>.</div>
<p>Программа доступна для ознакомительной установки. Наврядли удастся как-то использовать на практике, без соответствующего ПО для серверной стороны.<br />
<span id="more-72"></span></p>
<h3>Некоторые детали</h3>
<p>Интерфейс программы выполнен без дополнительного «скинования». Я не использовал никаких фреймворков. Поддерживается <em>undo</em>/<em>redo</em> для всех операций. Из интересных архитектурных моментов могу описать процесс декларации метаданных для передачи информации в редактор свойств выбранного элемента в дереве.</p>
<p>По-сути, каждый элемент дерева это наследник базового класса TreeNode, в котором объявлены специфические для его типа свойста, например:</p>
<pre style="color:#000000;"><span style="color:#800000; font-weight:bold; ">public</span> <span style="color:#800000; font-weight:bold; ">class</span> PagesBaseNode <span style="color:#800000; font-weight:bold; ">extends</span> TreeNode <span style="color:#800080; ">{</span>

        <span style="color:#808030; ">[</span>Bindable<span style="color:#808030; ">]</span>
        <span style="color:#808030; ">[</span>Serializable<span style="color:#808030; ">]</span>
        <span style="color:#808030; ">[</span>Editable<span style="color:#808030; ">(</span>group<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">General</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> dependentGroup<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">Page</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> editor<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">CheckBoxEditor</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span>
            label<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">page</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> bindable<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">true</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> index<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">5</span><span style="color:#800000; ">"</span><span style="color:#808030; ">)</span><span style="color:#808030; ">]</span>
        <span style="color:#800000; font-weight:bold; ">public</span> function get page<span style="color:#808030; ">(</span><span style="color:#808030; ">)</span> <span style="color:#808030; ">:</span> Boolean <span style="color:#800080; ">{</span>
            <span style="color:#800000; font-weight:bold; ">return</span> _page<span style="color:#808030; ">;</span>
        <span style="color:#800080; ">}</span>

        <span style="color:#800000; font-weight:bold; ">public</span> function set page<span style="color:#808030; ">(</span>value <span style="color:#808030; ">:</span> Boolean<span style="color:#808030; ">)</span> <span style="color:#808030; ">:</span> <span style="color:#800000; font-weight:bold; ">void</span> <span style="color:#800080; ">{</span>
            _page <span style="color:#808030; ">=</span> value<span style="color:#808030; ">;</span>
        <span style="color:#800080; ">}</span>

        <span style="color:#808030; ">[</span>Serializable<span style="color:#808030; ">]</span>
        <span style="color:#808030; ">[</span>Editable<span style="color:#808030; ">(</span>group<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">Page</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> editor<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">StringEditor</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> label<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">start template:</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> index<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">0</span><span style="color:#800000; ">"</span><span style="color:#808030; ">)</span><span style="color:#808030; ">]</span>
        <span style="color:#800000; font-weight:bold; ">public</span> function get startTemplate<span style="color:#808030; ">(</span><span style="color:#808030; ">)</span> <span style="color:#808030; ">:</span> String <span style="color:#800080; ">{</span>
            <span style="color:#800000; font-weight:bold; ">return</span> _startTemplate<span style="color:#808030; ">;</span>
        <span style="color:#800080; ">}</span>

        <span style="color:#800000; font-weight:bold; ">public</span> function set startTemplate<span style="color:#808030; ">(</span>value <span style="color:#808030; ">:</span> String<span style="color:#808030; ">)</span> <span style="color:#808030; ">:</span> <span style="color:#800000; font-weight:bold; ">void</span> <span style="color:#800080; ">{</span>
            _startTemplate <span style="color:#808030; ">=</span> value<span style="color:#808030; ">;</span>
        <span style="color:#800080; ">}</span>

        <span style="color:#808030; ">[</span>Serializable<span style="color:#808030; ">]</span>
        <span style="color:#808030; ">[</span>Editable<span style="color:#808030; ">(</span>group<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">Page</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> editor<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">CollectionEditor</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> label<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">aliases:</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span>
            itemsEditor<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">TwoStringsEditor</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> itemsClass<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">PageAliasEntry</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span>
            itemField1<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">alias</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> itemField2<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">target</span><span style="color:#800000; ">"</span><span style="color:#808030; ">,</span> index<span style="color:#808030; ">=</span><span style="color:#800000; ">"</span><span style="color:#0000e6; ">1</span><span style="color:#800000; ">"</span><span style="color:#808030; ">)</span><span style="color:#808030; ">]</span>
        <span style="color:#800000; font-weight:bold; ">public</span> function get pageAliases<span style="color:#808030; ">(</span><span style="color:#808030; ">)</span> <span style="color:#808030; ">:</span> ArrayCollection <span style="color:#800080; ">{</span>
            <span style="color:#800000; font-weight:bold; ">if</span> <span style="color:#808030; ">(</span>_pageAliases <span style="color:#808030; ">==</span> <span style="color:#0f4d75; ">null</span><span style="color:#808030; ">)</span> <span style="color:#800080; ">{</span>
                _pageAliases <span style="color:#808030; ">=</span> <span style="color:#800000; font-weight:bold; ">new</span> ArrayCollection<span style="color:#808030; ">(</span><span style="color:#808030; ">)</span><span style="color:#808030; ">;</span>
            <span style="color:#800080; ">}</span>
            <span style="color:#800000; font-weight:bold; ">return</span> _pageAliases<span style="color:#808030; ">;</span>
        <span style="color:#800080; ">}</span>

        <span style="color:#800000; font-weight:bold; ">private</span> <span style="color:#800000; font-weight:bold; ">var</span> _page <span style="color:#808030; ">:</span> Boolean<span style="color:#808030; ">;</span>

        <span style="color:#800000; font-weight:bold; ">private</span> <span style="color:#800000; font-weight:bold; ">var</span> _startTemplate <span style="color:#808030; ">:</span> String<span style="color:#808030; ">;</span>

        <span style="color:#800000; font-weight:bold; ">private</span> <span style="color:#800000; font-weight:bold; ">var</span> _pageAliases <span style="color:#808030; ">:</span> ArrayCollection;
    <span style="color:#800080; ">}</span></pre>
<p>С помощью метаданных Serializable я указываю какое значение нужно сохранять в результирующем XML, блок Editable описывает тип редактора, подпись, позицию в наборе, а также, если свойство имеет списочный тип — класс элементов списка и названия полей в которые будут сохранятся значения.</p>
<p>Данное решение очень удобно тем, что при наличии более 10 типов элементов дерева в среднем с 5 уникальными свойствами в каждом из них, я избегаю разработки массы различных форм с разными наборами идентичных контролов для редактирования. При каждом выборе элемента дерева, редактор свойств, используя Repeater, генерирует набор из стандартных, предварительно запрограммированных редакторов: StringEditor, CheckboxEditor, CollectionEditor, TwoStringsEditor etc.</p>
<p><img class="size-full wp-image-73" title="editors" src="http://tearaway-tea.com/blog/wp-content/uploads/2008/09/editors.png" alt="TreeNode Properties Editor" width="439" height="318" /></p>
<p>Cчитывание метаданных из объекта — дело техники, это не сложно.</p>
<p>Я подумывал о том, что-бы вычленить базовые классы TreeEditor, TreeArrow и TreeNode как отдельную <em>open source</em> библиотеку. А так же, можно добавить код по обработке метаданных элементов дерева и редактора свойств туда же. Если в коментариях отпишется хотя-бы один человек, кому бы это пригодилось — я это сделаю.</p>
<p>На разработку, в общей сложности и в одиночку, я потратил 6 месяцев. Первые четыре на программирование, вторые два на исправление ошибок. Заказчик очень доволен и не хочет останавливаться на достигнутом. Я, правда, не уверен буду ли я учавствовать в этом продолжении.</p>
]]></content:encoded>
			<wfw:commentRss>http://tearaway-tea.com/blog/2008/07/%d0%bf%d0%b0%d1%80%d1%83-%d1%81%d0%bb%d0%be%d0%b2-%d0%be-macrocontent-builder/ru/feed/ru/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Моя презентация с UA WEB 2008</title>
		<link>http://tearaway-tea.com/blog/2008/03/%d0%bc%d0%be%d1%8f-%d0%bf%d1%80%d0%b5%d0%b7%d0%b5%d0%bd%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d1%81-ua-web-2008/ru/</link>
		<comments>http://tearaway-tea.com/blog/2008/03/%d0%bc%d0%be%d1%8f-%d0%bf%d1%80%d0%b5%d0%b7%d0%b5%d0%bd%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d1%81-ua-web-2008/ru/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 15:07:48 +0000</pubDate>
		<dc:creator>tearaway_Tea</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://tearaway-tea.com/blog/?p=12</guid>
		<description><![CDATA[На Первой украинской конференции веб-разработчиков UA WEB 2008 я рассказал о последнем релизе Adobe AIR, его API и показал пару примеров использования этой чудесной вещи. Слайды презентации можно глянуть прямо здесь (кликать, что-бы перейти на следующий слайд):

От конференции остались самые положительные эмоции. Особенно, от того факта, что я сэкономил $200 на вход :-).
]]></description>
			<content:encoded><![CDATA[<p>На <a href="http://uaweb.in.ua/">Первой украинской конференции веб-разработчиков UA WEB 2008</a> я рассказал о последнем релизе <a href="http://www.adobe.com/products/air/">Adobe AIR</a>, его <em>API</em> и показал пару примеров использования этой чудесной вещи. Слайды презентации можно глянуть прямо здесь (кликать, что-бы перейти на следующий слайд):</p>
<div id="__ss_1246270" style="width: 500px; text-align: left;"><object width="500" height="417" data="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=uawebadobeair-090403164626-phpapp02&amp;rel=0&amp;stripped_title=adobe-air-desktop-applications-for-web-developers" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=uawebadobeair-090403164626-phpapp02&amp;rel=0&amp;stripped_title=adobe-air-desktop-applications-for-web-developers" /><param name="allowfullscreen" value="true" /></object></div>
<p>От конференции остались самые положительные эмоции. Особенно, от того факта, что я сэкономил $200 на вход :-).</p>
]]></content:encoded>
			<wfw:commentRss>http://tearaway-tea.com/blog/2008/03/%d0%bc%d0%be%d1%8f-%d0%bf%d1%80%d0%b5%d0%b7%d0%b5%d0%bd%d1%82%d0%b0%d1%86%d0%b8%d1%8f-%d1%81-ua-web-2008/ru/feed/ru/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Возврат к DragManagerImpl в AIR-приложениях</title>
		<link>http://tearaway-tea.com/blog/2007/12/%d0%b2%d0%be%d0%b7%d0%b2%d1%80%d0%b0%d1%82-%d0%ba-dragmanagerimpl-%d0%b2-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f%d1%85-%d0%b4%d0%bb%d1%8f-air/ru/</link>
		<comments>http://tearaway-tea.com/blog/2007/12/%d0%b2%d0%be%d0%b7%d0%b2%d1%80%d0%b0%d1%82-%d0%ba-dragmanagerimpl-%d0%b2-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f%d1%85-%d0%b4%d0%bb%d1%8f-air/ru/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 12:27:28 +0000</pubDate>
		<dc:creator>tearaway_Tea</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://tearaway-tea.com/blog/?p=6</guid>
		<description><![CDATA[Наши дорогие индуские программисты сделали весьма много гадостей в релизе Flex Beta 3. Одна из самых неприятных — это использование по умолчанию NativeDragManagerImpl в DragManager. Причем, нет никакой возможности использовать DragManagerImpl, как было раньше.
Впринципе их можно понять, ведь в приложениях написаных для AIR нужна поддержка drag-n-drop с ОС, но не давать возможности выбирать, это, как всегда, [...]]]></description>
			<content:encoded><![CDATA[<p>Наши дорогие индуские программисты сделали весьма много гадостей в релизе <em>Flex Beta 3</em>. Одна из самых неприятных — это использование по умолчанию NativeDragManagerImpl в DragManager. Причем, нет никакой возможности использовать DragManagerImpl, как было раньше.</p>
<p>Впринципе их можно понять, ведь в приложениях написаных для AIR нужна поддержка <em>drag-n-drop</em> с ОС, но не давать возможности выбирать, это, как всегда, плохо. Существует очень грязный хак: нужно присоединить исходники Flex Framework к нашему проекту Project Preferences -&gt; Flex Build Path -&gt; Source Path, которые находятся в <em>/Applications/Adobe Flex Builder 3 Plug-in/sdks/3.0.0/frameworks/projects/framework/src</em>. После этого мы можем поменять в классе SystemManager функцию <em>docFrameHandler()</em>, нужно оставить только данный код:</p>
<p><code>Singleton.registerClass("mx.managers::IDragManager",<br />
Class(getDefinitionByName("mx.managers::DragManagerImpl")));</code></p>
<p>После перекомпиляции мы получим DragManager который использует DragManagerImpl по умолчанию.</p>
]]></content:encoded>
			<wfw:commentRss>http://tearaway-tea.com/blog/2007/12/%d0%b2%d0%be%d0%b7%d0%b2%d1%80%d0%b0%d1%82-%d0%ba-dragmanagerimpl-%d0%b2-%d0%bf%d1%80%d0%b8%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f%d1%85-%d0%b4%d0%bb%d1%8f-air/ru/feed/ru/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проблемы с установкой AIR Runtime</title>
		<link>http://tearaway-tea.com/blog/2007/12/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d1%8b-%d1%81-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%be%d0%b9-air-runtime/ru/</link>
		<comments>http://tearaway-tea.com/blog/2007/12/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d1%8b-%d1%81-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%be%d0%b9-air-runtime/ru/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 12:13:52 +0000</pubDate>
		<dc:creator>tearaway_Tea</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://tearaway-tea.com/blog/?p=5</guid>
		<description><![CDATA[Благодаря статье «Установка AIR Runtime Environment на Mac OS X» я смог наконец-то установить AIR Runtime Beta 3 на Mac OS X Leopard.
Проблема состоит в том, что «air_b3_mac_121207.dmg.bz2» файл, который я получаю с сайта Adobe имеет неправильное расширение *.bz2. Его автоматически добавляет браузер Safari и на самом деле оно не нужно (с ним Disk Utility сообщает: «There [...]]]></description>
			<content:encoded><![CDATA[<p>Благодаря статье «<a href="http://etcs.ru/blog/air/installing_air_runtime_environment_on_a_mac/">Установка AIR Runtime Environment на Mac OS X</a>» я смог наконец-то установить <em>AIR Runtime Beta 3</em> на Mac OS X Leopard.</p>
<p>Проблема состоит в том, что «air_b3_mac_121207.dmg.bz2» файл, который я получаю с сайта Adobe имеет неправильное расширение <em>*.bz2</em>. Его автоматически добавляет браузер <em>Safari</em> и на самом деле оно не нужно (с ним <em>Disk Utility</em> сообщает: «There are not mountable filesystem in package»). Таким образом, после переименования в «air_b3_mac_121207.dmg» устанановка AIR Runtime запускается без проблем.</p>
]]></content:encoded>
			<wfw:commentRss>http://tearaway-tea.com/blog/2007/12/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d1%8b-%d1%81-%d1%83%d1%81%d1%82%d0%b0%d0%bd%d0%be%d0%b2%d0%ba%d0%be%d0%b9-air-runtime/ru/feed/ru/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проблемы со скоростью Flex Builder в Mac OS X</title>
		<link>http://tearaway-tea.com/blog/2007/12/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d1%8b-%d1%81%d0%be-%d1%81%d0%ba%d0%be%d1%80%d0%be%d1%81%d1%82%d1%8c%d1%8e-flex-builder-%d0%b2-mac-os-x/ru/</link>
		<comments>http://tearaway-tea.com/blog/2007/12/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d1%8b-%d1%81%d0%be-%d1%81%d0%ba%d0%be%d1%80%d0%be%d1%81%d1%82%d1%8c%d1%8e-flex-builder-%d0%b2-mac-os-x/ru/#comments</comments>
		<pubDate>Thu, 06 Dec 2007 13:26:06 +0000</pubDate>
		<dc:creator>tearaway_Tea</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://tearaway-tea.com/blog/?p=9</guid>
		<description><![CDATA[Я в основном работаю в среде Eclipse с плагином Flex Builder 3 Beta 2 и обратил внимание, что в Mac OS он как-то нереально медленно компилирует проект, где-то в 3 раза дольше чем на PC — ну думаю, говнище этот Mac. А потом, случайно, заметил, что на Eclipse по умолчанию отведено не более 256 Мгб памяти [...]]]></description>
			<content:encoded><![CDATA[<p>Я в основном работаю в среде <em>Eclipse</em> с плагином <em>Flex Builder 3 Beta 2</em> и обратил внимание, что в <em>Mac OS</em> он как-то нереально медленно компилирует проект, где-то в 3 раза дольше чем на <em>PC</em> — ну думаю, говнище этот <em>Mac</em>. А потом, случайно, заметил, что на <em>Eclipse</em> по умолчанию отведено не более 256 Мгб памяти (в <em>Windows</em> он просто выкидывает ошибки с такими параметрами и закрывается) и он медленно компилирует, потому что выкручивается с таким минималным объёмом ресурсов!</p>
<p>Круто? (Не совсем, можно было бы всё-таки ненавязчиво сообщить, что памяти-то маловато)</p>
<p>Думаю в этом, частично, проявляется суть <em>Mac</em> — сделать всё, что можно с любым ресурсом (прибегая даже к торможению) не спрашивая пользователя про детали (иногда это вминяют ему в повышеную стабильность и юзабильность). В <em>Windows</em> чаще всего, пользователь просто предстаёт перед какой-то ошибкой выполнения. А суть то одна и та же, нада что-то чинить.</p>
<p>И в том и в другом подходах, свои плюсы и минусы. А идеальных ОС нет =(. Может <a href="http://www.ubuntu.com/">Ubuntu</a> скоро станет такой&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://tearaway-tea.com/blog/2007/12/%d0%bf%d1%80%d0%be%d0%b1%d0%bb%d0%b5%d0%bc%d1%8b-%d1%81%d0%be-%d1%81%d0%ba%d0%be%d1%80%d0%be%d1%81%d1%82%d1%8c%d1%8e-flex-builder-%d0%b2-mac-os-x/ru/feed/ru/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
