Каковы (технические) плюсы и минусы Flash vs AJAX / JS?
мы предоставляем веб-приложение с интерфейсом, полностью разработанным в Adobe Flash. Когда мы выбрали Flash 6 лет назад, мы сделали это для его большого количества функций для взаимодействия с пользователем, таких как перетаскивание вещей, Открытие и закрытие меню, элементы навигации по дереву, всплывающие диалоги и т. д.
сегодня очевидно, что AJAX / JS предлагает примерно те же возможности, и из-за количества фреймворков, которые легко доступны, их очень возможно реализовать.
Is есть ли техническая причина, по которой нужно выбирать одну технологию над другой? Под "техническим" я подразумеваю производительность, безопасность, переносимость/совместимость и тому подобное. Я не имею в виду такие аспекты, как разработка не программиста во Flash или имеет смысл переключать приложение с одного на другое.
Как я только что объяснил другой вопрос, мне кажется, что JS намного впереди с точки зрения доли рынка, и мне интересно, не хватает ли нам некоторых важный момент, если мы будем придерживаться вспышки.
11 ответов
- правильно разработанные приложения AJAX более googleable, чем Flash
- правильно разработанные приложения AJAX более легко связываются, чем Flash
- AJAX не требует плагина (Flash довольно вездесущ, поэтому это не очень важно)*
- AJAX не контролируется одной компанией так, как Flash
изменить добавить: * За исключением iPhone, как указывает Абду.
в дополнение к тому, что говорили другие, Flash ограничен в "прямоугольнике" и не может быть добавлен на обычную html-страницу не навязчивым образом.
@Gulzar я думаю, что когда больше браузеров будут поддерживать тег видео, как mozilla 3.1, мы увидим еще больше принятия ajax / js через flash.
- Adobe Actionscript-это статически типизированный язык, Javascript-динамически типизированный. В зависимости от вашей точки зрения, это может быть хорошо или плохо.
- С Javascript/HTML / CSS вы отправитесь в кросс-браузерный ад совместимости, особенно если вы хотите поддерживать старые браузеры. Это может быть смягчено библиотеками, которые доступны, но это все еще большая головная боль. С Flash вы пишете код один раз, и он просто работает во всех броузеры.
- даже с доступными библиотеками, пользовательские элементы управления Flash просто более продвинутые, чем все, что вы можете найти в мире Javascript/HTML. В Javascript вы не найдете ничего, что приближается к простоте и мощности пользовательского элемента управления databound, который предоставляет Flash.
Я не вижу, как Javascript имеет больше "доли рынка", чем Flash. Почти никому в веб-браузере установлен плагин Flash. Мне было бы любопытно знать сколько людей отключают Javascript, но имеют Flash-плагин.
также имейте в виду, что вы собираетесь быть в течение огромной кривой обучения и много времени разработки, если вы решите переключить свою технологическую базу, так что вам действительно лучше иметь хорошую деловую причину, чтобы сделать это.
это решение также имеет много общего с тем, что делает ваше приложение и кто ваша база установки.
Edit: я вижу, что люди упомянули, что iPhone не имеет поддержка Flash. Я ожидал бы, что это изменится с установкой базы iPhone - Adobe будет сумасшедшим, чтобы не поддерживать ее.
JS и Flash имеют большое присутствие в интернете с перекрывающимися возможностями. Одна область JS по-прежнему отсутствует в рендеринге видео.
вспышка, используемая хорошо, позволяет легкой локализации и интернационализации.
кроме того, гораздо проще использовать Flash доступным способом; вы можете кормить читателей экрана правильным текстом, вместо того, чтобы повторять их по всем возможным элементам формы.
Как я не могу принять два ответа, я собираюсь объединить Христос Апчерч и 17 из 26 по ответы в моем собственном посте. Я думаю, эти двое вместе в значительной степени подводят итог тому, что я хотел знать. Спасибо, ребята!
Я думаю, что Flash должен быть ограничен онлайн-играми, видео и анимацией. В противном случае используйте html и Ajax. Это веб-стандарт и поддерживается почти всеми устройствами. AFAIK, iPhone не поддерживает Flash. Это быстро растущий сегмент, который вы уже блокируете. Держите его простым и эффективным.
хотя flash довольно вездесущ в настольных браузерах, мобильная поддержка очень ограничена (flash lite? да, точно). Я очень расстроен, глядя на ресторан на моем телефоне, только чтобы найти весь сайт на основе flash, и я даже не могу получить номер телефона или адрес!
одним из преимуществ Flash является то, что у него есть несколько средств, которые помогут безопасно выполнять операции с междоменным типом, что может быть полезно. Flash также имеет (ограниченную) поддержку для некоторых аппаратных средств, что невозможно с Javascript.
лично я бы попытался использовать как можно больше Ajax, прежде чем переходить к чему-то вроде Flash. С точки зрения пользовательского интерфейса лучше, что элементы управления и базовая разработка немного более развиты. The Звука - это хорошо пример эффективного использования небольшого количества Flash при сохранении остатка в Javascript.
Я подозреваю, что одна из причин, по которой javascript становится все более популярным, заключается в том, что его легче модернизировать в существующее приложение.
Если вы много имеете дело с полигонами, то Flash по-прежнему проще программировать и отлаживать. С AJAX есть много библиотек для обработки полигонов, но чем больше библиотек использует ваше приложение, тем медленнее оно становится.