Вопрос

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

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

Спасибо!

Это было полезно?

Решение

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

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

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

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

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

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

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

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

Другие советы

Проверить Роботлеги.

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

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

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

Первая глава нашей предстоящей книги O'Reilly «Development Development с Flex» имеет подробное сравнение нескольких Flex Frameworks: http://my.safaribooksonline.com/9780596801465 .

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

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

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

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

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

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

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

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

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

Mate - это путь. Decoupled Architecture Простая эффективность для печати с небольшим отпечатками

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

Тем не менее, было бы очень приятно, если бы Flex или одна из этих MVC Frameworks использует парадигму сигнала/слотов, которую предлагает QT.

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

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

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

Вы должны разработать свой собственный MVC «Framework» на основе ваших собственных потребностей. Если вы знаете немного шаблонов дизайна, Flex может предложить изначально.

Лучшая вещь разработки собственного MVC - это то, что он может быть легким или сложным, как вам нужно.

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top