Ваш вопрос довольно большой; Тем не менее, некоторые основные объяснения о трех пространствах имен, которые вы цитировали:
Теги
обычно являются программными функциями, а не объектами визуального отображения. Вы бы использовали его для объявления блока скрипта в документе MXML или для определения переменных декларативным способом.
<fx:Script>
<![CDATA[
[Bindable]
public var myVariable:String = "Hello, World!";
]]>
</fx:Script>
<fx:Declarations>
<fx:Object id="variableName"
property1="myCustomProperty"
property2="anotherCustomProperty" />
</fx:Declarations>
При объявлении визуальных элементов и компонентов UIC в списке отображения обычно требуется архитектура Spark; следовательно, вы бы использовали пространство имен Spark.
<s:Group />
Архитектура MX важна, но, как правило, не рекомендуется Spark. Если компонент доступен как Spark, вам следует использовать эту реализацию.
<mx:Box />
Все это просто пакеты инфраструктуры, и на самом деле нет никакой разницы, чем импорт пакетов в ActionScript. Ваши пользовательские компоненты будут использовать имя своего пакета в качестве пространства имен или вы объявите пространство имен для своей библиотеки Flex MXML.
Если вы используете IDE, например Flash Builder, вам обычно не нужно беспокоиться о пространствах имен.
В файле MXML введите начальный тег (т. Е. <), Пропустите пространство имен и начните вводить класс, который вам нужен. В приведенных выше примерах я нажимаю <s для «script», а intellisense покажет вам варианты завершения, которые вставят пространство имен для вас. </p>
Если параметры автозаполнения не отображаются, нажмите [ctrl] + [пробел].
Пусть Flash Builder поможет с пространствами имен, заполнив их для вас.
Возможно, вам не поможет, но, надеюсь, это немного поможет.