Какую пользу переносимость PureMVC приносит разработчику приложений? - PullRequest
6 голосов
/ 27 сентября 2008

Одна из заявленных целей платформы PureMVC - избежать зависимости от платформы, чтобы быть переносимой. Учитывая, что из-за различий в языке и API код приложения всегда будет сильно зависеть от платформы, и что избегание зависимостей платформы заставляет платформу заново изобретать колесо и / или предоставлять только набор функций с наименьшим общим знаменателем, каким образом переносимость из фреймворка мне в качестве разработчика приложений?

Ответы [ 6 ]

4 голосов
/ 27 сентября 2008

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

Я не думаю, что они говорят о переносимости с точки зрения переноса реального кода. Идея заключается в том, что вы используете обобщенную архитектуру MVC, которую вы можете применить к другим проектам и другим языкам.

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

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

3 голосов
/ 05 ноября 2009

Переносимость PureMVC поможет вам при переходе на другой язык или его повторной реализации.

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

Но весь код приложения не должен сильно зависеть от платформы. Просмотр компонентов и сервисов (границ вашего приложения) обязательно будет, но логика вашего приложения, которая зажата между границами, не обязательна.

Область применения PureMVC действительно довольно узка; просто чтобы помочь вам разделить ваш код на три уровня, запрещенных мета-шаблоном MVC. Нет причин, по которым этот код должен быть тесно привязан к вашей платформе, чтобы быть оптимальным.

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

А в случае повторной реализации на другом языке представьте, что вы пытаетесь захватить значительную часть рынка мобильных устройств с помощью своего приложения. Рынок настолько разрушен, что вам придется реализовать одну и ту же программу на двух или более Windows Mobile, iPhone, Flash и Java. Конечно, у вас, вероятно, будут отдельные команды, отвечающие за приложения, но почему у вас совершенно другая архитектура? С PureMVC вы можете иметь единую архитектуру для всех версий вашего приложения.

- = Cliff>

3 голосов
/ 24 декабря 2008

Мы уже используем PureMVC в двух проектах, и, по моему мнению, попытка независимости от языка является довольно обременительным.

Обещание прыгнуть прямо в проекте, потому что уже известная инфраструктура, не кажется мне уместным, если языки еще не очень похожи (C # для Java будет иметь смысл, как 3 для php нет) - я согласен, что это полезно иметь известные способы решения проблем, но для этого достаточно «простых» шаблонов.

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

2 голосов
/ 12 января 2009

PureMVC - единственный реальный вариант для разработчиков Flash Platform, которые решили не использовать Flex Framework. Для определенных проектов размерный размер Flex слишком дорогой (так бывает!).

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

Лично я думаю, что PureMVC зашёл слишком далеко с целью переносимости: мне нравится тот факт, что он работает с Flash AND Flex (по причинам, упомянутым выше), но я чувствую, что он должен был там остановиться и использовать нативный Архитектура событий Flash Player.

1 голос
/ 17 августа 2010

PureMVC не использует платформу для своей внутренней работы (события Flash и т. Д.). Так что, хотя это и не упрощает процесс переноса, он может помочь, просто показывая нам свое дружелюбное и знакомое лицо, куда бы мы ни пошли; -)

1 голос
/ 09 декабря 2009

Есть ли примеры людей, использующих PureMVC для создания и переноса приложений на несколько платформ?

Моя компания создает приложение Flex, которое нам может потребоваться перенести на другие платформы:

  • Silverlight (скорее всего)
  • Мобильный (возможно)
  • Рабочий стол (возможно - не только AIR!)
  • телевизоры (возможно, в конце концов)

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

Приветствия

Karthik

...