Flex Application Framework PureMVC: переносимость и Swiz?

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

  • Silverlight (вероятно)
  • Мобильный (возможно - iPhone: Objective-C, Android: Java и т. Д.)
  • Рабочий стол (возможно - AIR, .NET и т. Д.)
  • Телевизоры (возможно, когда-нибудь)

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

Мне нравится swiz за его простоту и то, как он просто дает вам возможность соединять вещи, а затем применять свои собственные шаблоны. С точки зрения гибкости, это мой первый выбор.

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

В качестве альтернативы, поскольку Silverlight имеет наиболее конкретное экономическое обоснование для переноса нашего приложения, возможно, мы могли бы перенести Swiz на Silverlight? Я не слишком знаком с тем, от каких функций Swiz зависит язык AS3 и Flex framework и доступны ли они в C # / Silvelright. Возможно ли это на самом деле?

Большое спасибо!

Картик


person Karthik    schedule 09.12.2009    source источник


Ответы (2)


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

Беглый взгляд на фреймворк Swiz:

  • использует модель событий flash (см. CentralDispatcher)
  • использует некоторые классы flash.net и mx.rpc (см. пакеты net и rpc swiz)

Платформа PureMVC не использует модель событий flash, и возможные ссылки на flash.net/mx.rpc обычно появляются на уровне обслуживания. С другой стороны, Swiz, похоже, нацелен на полное использование преимуществ гибкости и формата mxml, чтобы там работа могла выполняться быстрее. Так что вы также можете рассмотреть возможность использования Swiz для гибкости и PureMVC для других языков.

person bug-a-lot    schedule 10.12.2009
comment
Спасибо - я использую Swiz, не смог найти достаточно доказательств преимуществ переносимости для переключения. Кроме того, я вполне уверен, что Swiz будет легким переносом на Silverlight. - person Karthik; 14.12.2009
comment
Забыл упомянуть, что из-за отсутствия веских доказательств лучшим способом действий было бы создание небольшого тестового приложения с использованием pureMVC и одного с использованием Swiz с 1 или 2 вызовами сервера (вход в систему + получение списка чего-либо) и перенос их обоих в Silverlight. - person bug-a-lot; 14.12.2009

Любой фреймворк, включая Swiz, можно очень легко перенести практически на любой язык. ActionScript завершен, поэтому теоретически любой код, написанный на ActionScript, можно преобразовать в другой полноценный язык для путешествий. Например, мы используем платформу Swiz в наших мобильных приложениях, которые кросс-компилируются для работы в iOS. Существует множество других кросс-компиляторов с открытым исходным кодом для различных языков, а также проект Alchemy .

Единственное, что нелегко переносить в Swiz, - это использование тегов метаданных времени выполнения. Эту проблему можно решить с помощью расширенной утилиты поиска и замены или пользовательской платформы преобразования для преобразования пользовательских тегов метаданных в их реализацию в собственном коде. Надеюсь, мы скоро увидим для этого несколько новых интересных инструментов с открытым исходным кодом, теперь, когда Flex 4.5 был выпущен с пользовательские обработчики компилятора.

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

Ваше здоровье!

person drkstr    schedule 12.05.2011