Готов ли Flex к прайм-тайму?
-
11-07-2019 - |
Вопрос
Я работаю над проектом, в котором в настоящее время нет пользователей, но мы хотели бы масштабироваться потенциально до сотен.В настоящее время мы работаем с базой данных MySQL, где AMFPHP взаимодействует с Flex.Мы использовали Flex из-за его надежных графических возможностей (важных для этого проекта) и потому, что первоначальный разработчик (не я) уже знал ActionScript.В настоящее время мы используем AIR, но в какой-то момент можем перейти на веб-Flash.
Мои вопросы таковы:
- Является ли Flex хорошим инструментом для подобного проекта?
- Каковы основные ограничения Flex, с которыми мы можем столкнуться?
- Какие другие платформы разработки мы, возможно, хотели бы рассмотреть?
Спасибо.- Дэйв
Решение
Короткий ответ: Да.Уже существует множество приложений в прайм-тайм, использующих 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, если вы ищете что-то с автономной поддержкой.
- Да, масштаб и тип проекта подходит.
- Незрелость фреймворков и библиотек, от которых вы могли бы зависеть.Незрелость IDE.
- Silverlight, JavaFX.
Flex + AIR, вероятно, такой же хороший инструмент, каким был Visual Basic;это может быть лучшим инструментом для создания гораздо более гибкого языка программирования и бесплатных средств разработки, но имейте в виду ограничения....
Основное ограничение, которое я увидел при работе с ним, - это документация.Похоже, что документации недостаточно, недостаточно хорошей документации и недостаточно заметной работы над ней в сообществе.(Это происходит из-за многих лет работы в .NET;Я постоянно расстраивался из-за того, как мало MSDN говорит о методах, но в целом мог справиться с этим, находя наиболее полезные записи в блоге.)
Другие возможные платформы разработки будут очень сильно зависеть от специфики проекта.Веб-платформы увязают в глубоких взаимодействиях с наборами данных с сохранением состояния (даже с хорошими библиотеками AJAX), в то время как поддержка клиентских установок любой программы с толстым интерфейсом (скажем, Flex + AIR) может оказаться излишней, если это всего лишь несколько CRUD-форм.