Вопрос

Я работаю над проектом, в котором в настоящее время нет пользователей, но мы хотели бы масштабироваться потенциально до сотен.В настоящее время мы работаем с базой данных MySQL, где AMFPHP взаимодействует с Flex.Мы использовали Flex из-за его надежных графических возможностей (важных для этого проекта) и потому, что первоначальный разработчик (не я) уже знал ActionScript.В настоящее время мы используем AIR, но в какой-то момент можем перейти на веб-Flash.

Мои вопросы таковы:

  1. Является ли Flex хорошим инструментом для подобного проекта?
  2. Каковы основные ограничения Flex, с которыми мы можем столкнуться?
  3. Какие другие платформы разработки мы, возможно, хотели бы рассмотреть?

Спасибо.- Дэйв

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

Решение

Короткий ответ: Да.Уже существует множество приложений в прайм-тайм, использующих Flex в качестве платформы для разработки пользовательского интерфейса.Если вы зайдете на сайт Adobe, они продемонстрируют довольно много.

Говоря лично, я выбрал Flex по двум причинам: во-первых, хотя вы, вероятно, можете делать многое из того, что делает Flex, в HTML или с помощью соответствующего инструментария, Flex разработан для привлекательного и убедительного пользовательского интерфейса и имеет в своем распоряжении весь Flash.Кроме того, среда разработки и доступные виджеты упрощают и увлекают программирование.Я не хочу разжигать религиозную войну по поводу HTML противFlex, поэтому я оставлю это здесь - это работает для меня, моего приложения и клиентов.

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

Мое предостережение по поводу Flex связано с необходимостью принятия правильной архитектуры для вашего клиентского кода.С помощью Flex довольно легко создать огромное и плохо работающее приложение, если вы ошибаетесь в этом.Сделайте все управляемым событиями и, по-видимому, асинхронным, и у вас все должно быть в порядке ("по-видимому", потому что Flash Player является однопоточным).И это недостаток 1, однопоточный Flash Player иногда вызывает проблемы.

Недостаток 2, возможно, более серьезен и заключается в блокировке рабочих столов в корпоративных средах.Довольно часто ваша целевая аудитория не имеет административных прав на свой компьютер и либо использует не тот flash Player, либо его вообще нет.Это особенно верно для организаций государственного сектора и военных, поэтому, если вы направляетесь туда, я бы тщательно проверил наличие Flash среди ваших пользователей.

В остальном я от всей души рекомендую Flex.Это также отличная возможность включить в свое резюме!

HTH

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

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

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

Что касается альтернатив, если вы увлекаетесь графикой и не возражаете против iPhone, то Flex - хорошее, если не лучшее кроссплатформенное решение помимо использования чистых технологий HTML, хитрость здесь в том, что один HTML может выполнять 99% того, что может Flex, но если вашему приложению требуется недостающий 1%, то вам не повезло, также Flex уменьшит кроссплатформенность и большинство проблем с совместимостью браузеров.Так что это может сделать вашу работу более продуктивной.

Silverlight 2 - это альтернатива, которую следует рассмотреть.WPF, если вы ищете что-то с автономной поддержкой.

  1. Да, масштаб и тип проекта подходит.
  2. Незрелость фреймворков и библиотек, от которых вы могли бы зависеть.Незрелость IDE.
  3. Silverlight, JavaFX.

Flex + AIR, вероятно, такой же хороший инструмент, каким был Visual Basic;это может быть лучшим инструментом для создания гораздо более гибкого языка программирования и бесплатных средств разработки, но имейте в виду ограничения....

Основное ограничение, которое я увидел при работе с ним, - это документация.Похоже, что документации недостаточно, недостаточно хорошей документации и недостаточно заметной работы над ней в сообществе.(Это происходит из-за многих лет работы в .NET;Я постоянно расстраивался из-за того, как мало MSDN говорит о методах, но в целом мог справиться с этим, находя наиболее полезные записи в блоге.)

Другие возможные платформы разработки будут очень сильно зависеть от специфики проекта.Веб-платформы увязают в глубоких взаимодействиях с наборами данных с сохранением состояния (даже с хорошими библиотеками AJAX), в то время как поддержка клиентских установок любой программы с толстым интерфейсом (скажем, Flex + AIR) может оказаться излишней, если это всего лишь несколько CRUD-форм.

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