Лучшие практики Flex?

У меня такое ощущение, что легко найти примеры, учебники и простые примеры по Flex.
Кажется, что сложнее найти советы и хорошие практики, основанные на реальных проектах.
Любые советы о том, как:

  • Как писать сопровождаемый код actionscript
  • Как обеспечить чистое разделение задач. Кто-нибудь использовал MVC фреймворк, такой как cairngorm, puremvc или easymvc в реальном Flex проекте?
  • Как получить данные с сервера с помощью blazeds/amfphp?
  • Как уменьшить задержку для конечного пользователя?
  • ...
Решение

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

Ремонтопригодный код: Я думаю, что здесь действуют те же правила, что и в любом другом ОО языке. Некоторые специфические для flex правила, которым я следую: используйте сильно типизированные переменные, всегда рассматривайте диспетчеризацию событий как способ взаимодействия компонентов пользовательского интерфейса друг с другом (немного больше первоначальной работы, очень гибкая и развязанная работа впоследствии).

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

Разговор с сервером: Сейчас я использую BlazeDS, он работает очень хорошо... есть много руководств на эту тему, если у вас возникнут проблемы с настройкой, я буду рад помочь.

Латентность: Вы имеете в виду коммуникацию клиент/сервер? Если да, то вам следует изучить различные типы каналов, которые реализует BlazeDS... pull-only, двусторонний http-опрос, почти реальное время по http (comet)... Если вам нужно больше, LiveCycle Data Services ES, коммерческая реализация, из которой родился BlazeDS, среди прочего предлагает другой протокол под названием RTMP, он не http-tunnelled, поэтому могут быть проблемы с брандмауэрами и прокси, но он предлагает лучшую производительность (есть бесплатная закрытая версия LCDS). Я использую стандартные http-каналы в интранет-среде и не обнаружил реальных проблем с производительностью даже при работе с большими наборами данных.

Ну... довольно много всего, не могу сейчас сказать более конкретно по каждому из этих пунктов, спрашивайте, если нужно :)

Комментарии (2)

Вот несколько отличных ресурсов, посвященных лучшим практикам и стандартам Flex/AS3:

Соглашения по кодированию Flex SDK и лучшие практики

Лучшие практики Flex - Часть 1: Настройка проекта Flex

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

Комментарии (0)

Я нашел MVC-фреймворк RIAWave ссылка совершенно невероятным. Он очень легкий и простой в использовании. Я обнаружил, что Cairngorm и PureMVC имеют довольно крутую кривую обучения, и они оба кажутся мне слишком громоздкими. RIAWave не мешает и просто дает вам основы MVC для работы.

AMFPHP на бэкенде также очень хорош. AMFPHP также имеет модуль apache, который позаботится о сериализации/несериализации отправленных и полученных данных на языке C, что очень быстро.

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

Комментарии (0)