Подтвердить что ты не робот

Flex MVC Frameworks

В настоящее время я использую и использую фреймворк Flex MVC PureMVC. Я слышал о хороших вещах о Cairngorm, который поддерживается Adobe и имеет импульс от первого выхода на рынок. И есть новый игрок под названием Mate, у которого много шума.

Кто-нибудь пробовал две или три из этих фреймворков и сформировал мнение?

Спасибо!

4b9b3361

Ответ 1

Mate - мой выбор. Первая и главная причина в том, что она совершенно ненавязчива. Мой код приложения не имеет зависимостей от фреймворка, он сильно развязан, многоразовый и проверяемый.

Одна из самых приятных функций Mate - декларативная конфигурация, по сути, вы подключаете свое приложение к использованию тегов в так называемой карте событий - в основном список событий, которые генерирует ваше приложение, и какие действия следует предпринять, когда они происходят. Карта событий дает хороший обзор того, что делает ваше приложение. Mate использует собственный механизм событий Flex, он не изобретает свои собственные, как большинство других фреймворков. Вы можете отправить событие из любого места в иерархии представлений и создать его автоматически, без необходимости иметь прямую линию, например, Cairngorms CairngormEventDispatcher или систему уведомлений PureMVC.

Mate также использует форму инъекции зависимостей (использование привязок), которая позволяет подключать ваши модели к вашим представлениям, не зная друг друга. Это, вероятно, самая мощная функция структуры.

По-моему, ни одна из других фреймворков Flex не подходит к Mate. Тем не менее, это соперники, и почему я считаю их менее полезными:

PureMVC активно отказывает вам в преимуществах Flex (например, привязок и пузырьков событий), чтобы каркас был переносимым - на мой взгляд, это была двусмысленная цель. Он также чрезмерно спроектирован и столь же инвазивен, как и они. Каждая часть вашего приложения зависит от структуры. Однако PureMVC не страшен, просто не очень подходит для Flex. Альтернативой является FlexMVCS, попытка сделать PureMVC более подходящей для Flex (к сожалению, пока нет документации, только источник).

Cairngorm - это набор анти-шаблонов, которые приводят к приложениям, которые тесно связаны с глобальными переменными. Нафф сказал (но если вам интересно, вот некоторые из моих мыслей, и здесь тоже).

Swiz - это структура, основанная на структуре Spring для Java и Cairngorm (попытка компенсировать наихудшие части последний). Он предоставляет контейнер для инъекций зависимостей и использует метаданные для включения автоматической проводки зависимостей. Это интересно, но немного bizzare в том, что идет на такие длины, чтобы избежать глобальных переменных Cairngorm, используя инъекции зависимостей, но затем использует глобальную переменную для централизованной диспетчеризации событий.

Это те, которые я пробовал или исследовал. Есть несколько других, о которых я слышал, но никто из них, которые, как мне кажется, широко не используются. Mate и Swiz были представлены на недавней конференции 360 | Flex, и есть видеоролики (у людей Mate есть инструкции о том, как смотреть их)

Ответ 2

Отъезд Robotlegs.

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

Ответ 3

Я видел такие обсуждения много раз. Обычно они начинаются с WHICH Flex framework, который вы используете. Не многие люди задают вопрос, почему вам даже нужно использовать любую фреймворк поверх фреймворка Flex.

Я не сторонник использования какой-либо структуры MVC (Cairngorm, PureMVC) в коде Flex. Мате - лучший кандидат. По крайней мере, это просто понять и неинтрузивно. Я предпочитаю использовать расширенные компоненты для à la carte. Мы создали и открыли источник из них (см. Clear.swc в Clear Toolkit на http://sourceforge.net/projects/cleartoolkit/.

В первой главе нашей предстоящей книги O'Reilly "Enterprise Development with Flex" представлено подробное сравнение нескольких фреймворков Flex: http://my.safaribooksonline.com/9780596801465.

Ответ 4

В настоящее время мы работаем над MVCS в Spring ActionScript. Он использует полную мощность контейнера "Инверсия управления", поэтому у вас есть централизованное управление зависимостями и они легко меняются. Это не очень предписывает, как вы это делаете, но предоставляет вам очень гибкую инфраструктуру.

Если вы новичок в Spring ActionScript и MVCS, у меня есть вводный пост в моем блоге: http://www.herrodius.com/blog/158

Ответ 5

Я использую (и рекомендую) среду Swiz. Это не так сложно и PureMVC, но он выполняет свою работу. Более того, это контейнер IoC, и мне нравится IoC.

Я никогда не использовал Mate, поэтому я не могу комментировать это. Но я рекомендую против Cairngorm. Cairngorm, как говорят, является открытым исходным кодом, но он действительно не поддерживается сообществом. Цикл выпуска также медленный. Я ожидал, что FOREVER для навигационной библиотеки выйдет из бета-версии.

Ответ 6

Имейте в виду, что Cairngorm является платформой, спонсируемой Adobe, и теперь она размещена на сайте opensource.adobe.com. Также обратите внимание, что это на сегодняшний день самый распространенный среди разработчиков на данный момент.

Если вы знаете Cairngorm и ищете работу, вы не ошибетесь.

Ответ 7

Cairngorm прост в использовании и хорошо документирован: http://www.cairngormdocs.org/

Я рекомендую Cairngorm Diagram Explorer и классическую статью о Cairngorm.

Я был знаком с Flex, когда узнал Cairngorm, но нашел, что это полезно и легко учиться с помощью вышеперечисленного.

Ответ 8

MATE - это путь. Структура, которая делает то, что должна делать структура. Архитектура с декомпенсацией просто Маленький след Эффективность

Ответ 9

У меня есть свои сомнения в этих MVC-фреймах (Mate, Cairgnorm и т.д.) с тем, как они реализуют карты событий и контроллеры событий, это напоминает мне слишком много wxWidgets и других инструментов GUI этого типа.

Однако было бы очень приятно, если Flex или одна из этих фреймворков MVC использует парадигму Signal/Slots, предлагаемую Qt.

Ответ 10

Я рекомендую использовать MATE для разработки отличных проектов и сложных проектов, таких как другие фреймворки, Mate рассматривает общие архитектурные проблемы в Flex, такие как обработка событий, привязка данных и асинхронная обработка, но самая важная цель - потому что он очень прост в использовании в наших приложениях Flex.

Ответ 11

Да Mate - лучшая структура для flex. Я использовал в одном приложении, которое имело несколько изменений как с точки зрения графического интерфейса, так и с помощью службы данных. Мне нужно было менять карту событий каждый раз, когда произошли какие-либо изменения.

У Mate также есть реализация MockService, которая упрощает тестирование, а не преимущество, но приятно иметь его.

Ответ 12

Вы должны создать свою собственную структуру "MVC" на основе ваших собственных потребностей. Если вы знаете немного шаблонов проектирования, Flex предлагает много возможностей изначально.

Лучше всего создавать свой собственный MVC, так как он может быть легким или сложным, как вам нужно.

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

Ответ 13

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

Я собрал список Flex Framework с краткими описаниями и указателями для получения дополнительной информации о них в этом URL-адресе. http://practicalflex.blogspot.com/2011/08/list-of-adobe-flex-tools-frameworks.html url может быть полезен для всех, кто ищет оценку фрейма для своего проекта.

После оценки многих основных фреймворков Flex я обнаружил, что Swiz Framework проще и проще начать работу с новым разработчиком. Следовательно, он обеспечивает удобство обслуживания и расширяемость вашего приложения.

Ответ 14

Я работал над cairngorm и mate frameworks. Я начал работу с фреймворка cairngorm. Хорошо работать, но трудно понять вначале. Он умело обрабатывает события. Вы можете отправлять события из самих классов, и по ним будут учтены командные классы, связанные с каркасом. Существует единый репозиторий для хранения данных, поэтому легко обрабатывать данные. Это одноэлементный класс. Как только вы овладеете каркасом, работать проще. Mate с другой стороны - основанная на тегах. Это среда, управляемая событиями, поэтому все события обрабатываются в файле eventmap. Это прослушивание событий, вложение свойств и многое другое из этого класса. Вы можете отправлять события из классов, передавая им экземпляр диспетчера событий фреймворка. В этом случае вам не нужно использовать класс singleton, например cairngorm. Вы можете привязать свойство в классе к представлениям, используя напрямую, используя инъекцию свойств, поэтому не нужно использовать какой-либо одноэлементный класс. В матте все классы и представления свободны от кода рамки, поэтому это развязанная структура. Легко перемещать компоненты из одного места в другое.