Можно ли рекомендовать статьи, книги и лучшие практики при разработке приложений Flex? (и AIR и сеть).
Я считал компоненты Создания и осуществление разделения проблем с Flex и Составными частями здания при помощи кода позади.
Приложение должно всегда запускаться на Основном MXML? Разве я не могу инстанцировать первого представления от класса ActionScript?
Как Вы добавили бы обработчик к первому MXML и дали бы управление потоком ему?
Я пытаюсь написать нулевой код на своих файлах MXML для хранения представления отделенным от кода. Действительно ли это возможно в Flex?
Я работал над несколькими проектами, в которых использовался шаблон кода программной части, отвечающий многим вашим требованиям. Вкратце, вы изолируете код от MXML, создав базовый класс ActionScript (MyClassCode.as), а затем создав файл MXML, который наследуется от вашего класса кода программной части (MyClass.mxml).Одним из недостатков является то, что любые элементы пользовательского интерфейса в файле MXML необходимо объявлять второй раз в вашем классе кода программной части, в противном случае я обнаружил, что это очень эффективный метод отделения кода от пользовательского интерфейса. Вот пример и несколько ссылок для получения дополнительной информации:
MyClassCode.as:
package mypackage
{
import flash.events.MouseEvent;
import mx.events.FlexEvent;
import spark.components.Button;
import spark.components.Group;
public class MyClassCode extends Group
{
public var myButton:Button;
public function MyClassCode()
{
super();
this.addEventListener(FlexEvent.CREATION_COMPLETE, onCreationComplete);
}
private function onCreationComplete(e:FlexEvent):void {
this.removeEventListener(FlexEvent.CREATION_COMPLETE, onCreationComplete);
myButton.addEventListener(MouseEvent.CLICK, onClick);
}
private function onClick(e:MouseEvent):void {
// Do something
}
}
}
MyClass.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mypackage:MyClassCode xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:mypackage="mypackage.*">
<s:Button id="myButton"/>
</mypackage:MyClassCode>
Некоторые ссылки:
http://learn.adobe.com/wiki/display/Flex/Code + За
http://ted.onflash.org/2007/02/code-behind-in-flex-2.php
http://blog.vivisectingmedia.com/2008/04/the-flex -code-behind-pattern /
Лучшие практики очень субъективны в разработке программного обеспечения. Если вы найдете одного человека, который говорит «X», я могу найти другого, который говорит «Y», и, скорее всего, они оба будут правы в данных обстоятельствах.
Большинство книг, о которых я знаю, сосредоточены на ознакомлении новичков, а не на передовых методах.
Чтобы ответить на ваши конкретные вопросы:
Всегда ли приложение должно запустить на Основном MXML? Не могу я создать экземпляр первого представления из Класс ActionScript?
Теоретически кажется возможным, чтобы основным файлом приложения был ActionSCript; в конце концов, компилятор Flex просто превращает MXM в ActionSCript. На практике я никогда не видел, чтобы кто-то делал это. Я видел приложения, которые все являются ACtionSCript, за исключением тега приложения в главном файле приложения.
Как бы вы добавили обработчик в первый MXML и дайте контроль потока к нему?
Что вы подразумеваете под обработчиком и управлением потоком? Не уверен, что у меня есть здесь конкретный ответ. Многие люди используют фреймворки. Кайрнгорм является наиболее широко используемым, но некоторые находят его слишком сложным. Некоторое время Мате был любимцем сообщества. RobotLegs - текущий фаворит.
Я пытаюсь написать нулевой код на своем Файлы MXML для разделения представления из кода. Возможно ли это в Flex?
Это зависит от обстоятельств. Разве представление не является кодом? Если вы хотите использовать стиль «Контроллер представления модели», существует множество способов. Фреймворки могут помочь, и я упомянул некоторые из них выше. Но вы также можете сделать это самостоятельно.Если вы новичок в Flex, я бы порекомендовал вам начать разработку «без фреймворков» и включить фреймворки в уравнение, чтобы посмотреть, помогают ли они решать проблемы, с которыми вы сталкиваетесь.
У Пола Уильямса есть несколько отличных статей и примеров по различным шаблонам представления для Flex. Он даже создал образец приложения, использующий каждый из различных шаблонов, и показал, как проводить модульное тестирование некоторых шаблонов. http://blogs.adobe.com/paulw/
Взгляните на модель пассивного просмотра, возможно, это именно то, что вам нужно с точки зрения написания кода AS в вашем MXML.