У меня такое ощущение, что на основе Flash (или Silverlight) веб-сайты, как правило, не одобряются, за исключением случаев, когда вы создаете игры или приложения с мультимедийным содержанием. Почему это так?
Что такого плохого в веб-сайтах на основе Flash?
Ответы (29)
Flash печально известен своей плохой доступностью.
Навигация с клавиатуры обычно не работает, а Flash (до недавнего времени) не поддерживался поисковой системой.
Flash-приложения не работают в мобильных телефонах и других портативных устройствах.
В iPhone нет вспышки !!!
Flash контролируется одной компанией (Adobe) и поэтому не следует каким-либо четко определенным стандартам для Интернета.
Прелесть Интернета заключается в том, что вы всегда можете просмотреть исходный код любого веб-сайта, на котором находитесь. Таким образом, вы можете использовать те же методы программирования / дизайна на своем веб-сайте или найти недостатки безопасности в веб-приложении. Во Flash это невозможно. Во Flash исходный код закрыт.
Большой вопрос в том, почему вам следует использовать Flash «кроме случаев, когда вы создаете игры или приложения с мультимедийным контентом»?
jtyost2 говорит: «Я бы также добавил, что вы не можете напрямую ссылаться на какой-либо контент внутри Flash-сайта, тем самым нарушая один из основных факторов, делающих Интернет, Интернет, ссылками ".
- вес содержимого
- удобство использования
- возможность сканирования роботов поисковых систем
- доступность
- удобство использования (спорно)
- технологическая нагрузка (для доступа к сайту требуется дополнительное программное обеспечение)
- проблемы безопасности (необходимость добавления программного обеспечения приводит к проблемам, связанным с установкой или запуском этого программного обеспечения / проигрывателя контента)
[Edit] Почему я разделяю удобство использования и простоту использования, лучше всего объясняется в эту ссылку
Удобство использования:
- результат - программное обеспечение, которое можно использовать;
- процесс, также называемый ориентированным на пользователя дизайном, для создания пригодного для использования программного обеспечения;
- набор методов, таких как контекстное наблюдение и тестирование удобства использования, используемых для достижения этого результата; или
- философия проектирования для удовлетворения потребностей пользователей?
Легкость использования:
- Эффективный
- Эффективный
- Привлекательный
- Устойчивый к ошибкам
- Легко учить
Я согласен с комментариями на этом сайте, но все это спорно ... может быть хороший вопрос о стеке: удобство использования и простота использования одинаковы? ИМО часть удобства использования - это простота использования и наоборот, но они не обязательно одинаковы.
Надеюсь, это правка не вызовет раздражения у тех, кто более чувствителен к семантике :-)
Интересно, что все здесь используют Flash / Silverlight, и вы должны признать, что это только одна сторона медали.
Flash (и Flex) предоставляют дизайнерам веб-сайтов значительно большую гибкость и более богатый контент для своих сайтов, а также работает в различных ситуациях - например, сайты, связанные с фильмами или группами, сайты для детей, сайты с играми и т. д.
Конечно, есть много причин не выбирать Flash / Flex / Silverlight, но можно делать сайты так же недоступен в наши дни в JavaScript. Раньше я работал с продуктами JavaScript, которые не подходят слепым людям или поисковым роботам.
Уровень проникновения Flash (конечно, из предвзятого источника) составляет 99% + (http://www.adobe.com/products/player_census/flashplayer/version_penetration.html), что означает, что те, кто говорят, что «никогда не посетят сайт Flash», составляют 1% населения, которое не устанавливает Flash. , не смотрите YouTube или трейлеры фильмов онлайн.
Итак, вам нужно помнить о своей аудитории. Определенным аудиториям и ситуациям определенно было бы лучше пользоваться простыми HTML-страницами и минимумом JavaScript (правительственные веб-сайты и веб-сайты программирования - это две области, которые приходят на ум). В других случаях это происходит потому, что аудитория - это офисные работники, которым не разрешено устанавливать Flash в браузерах.
Богатые Интернет-приложения (RIA) - это одна из областей, где существует явное столкновение / борьба между сторонами Flex / Silverlight и JavaScript / CSS / HTML. Я работал с обоими и теперь считаю, что требовать подключаемых модулей Flex / Silverlight вполне разумно, хотя вы все равно можете потерять некоторых посетителей, если приложение является общедоступным.
Таким образом, вам лучше всего определить свою аудиторию, определить, что они хотят / могут использовать, а затем, основываясь на таких ограничениях, принять решение о вашей технологии.
Сайты на основе Flash и Silverlight обычно идут вразрез с основными Интернет-соглашениями с их закрытыми моделями.
Например, большинство сайтов на основе Flash и Silverlight:
- Игнорируйте кнопку назад / вперед.
- Запрещается отправлять кому-либо URL-адрес в определенное место на сайте или добавлять в закладки определенное место для дальнейшего использования в браузере.
- Поместите Интернет в коробку фиксированного размера. Нет динамического изменения размера для более широких мониторов или более высоких разрешений.
«Я собирался нажать кнопку« Оформить заказ », но хотел что-то изменить, поэтому нажал кнопку« Назад »»
В следующей тираде s / Flash / Flash или Silverlight / g
- Приложение / плагин Flash - это набор серьезных нераскрытых дыр в безопасности с закрытым исходным кодом, которые раскрывают личные данные, позволяют изменять произвольные файлы на жестком диске и т. Д.
- Flash-файлы огромны для основного содержимого. Есть более эффективные способы делать что-то
- Вспышка медленная. Плагин на моем ПК с Windows может использовать 100% процессорного времени для воспроизведения некоторых дерьмовых веб-сайтов.
- Вспышка нестандартная. Не везде установлен поддерживаемый плагин для флеш-памяти. Пользователи Linux не могут запустить его, не прыгнув через обручи управления пакетами. Пользователи Firefox в Windows не получают его по умолчанию (ну, в последний раз я не проверял).
- Вспышка раздражает; ваши пользователи не хотят, чтобы их засыпали анимацией, джинглами и барахлом только для того, чтобы получить некоторую базовую информацию.
- Нет функций назад / вперед, если дизайнер Flash не хотел реализовать их в
- Невозможно просмотреть одну страницу, не дождавшись загрузки всего содержимого / сценариев, составляющих эту «страницу». Это действительно довольно болезненно, если все, что хочет ваш пользователь, - это кусок текста, а вы заставляете мультимедиа идти им в глотку.
- Большинство сайтов, предназначенных только для Flash, действительно плохи; похоже, что дизайнеры больше озабочены использованием всех функций флеш-движка, чем представлением чего-то лаконичного и полезного для пользователя.
Я Flash-разработчик. Фирма, в которой я работаю, без труда находит клиентов, которые хотят, чтобы мы создавали для них продукты на основе Flash. Есть определенный набор приложений, которые намного проще разрабатывать во Flash, чем в других средах, которые я использовал.
Но у Flash есть свои проблемы. Некоторые из вышеперечисленных жаловались, что приложения Flash не поддерживают клавиатуру. Другие говорят, что это потому, что разработчикам лень реализовывать это. По правде говоря, многие компоненты, которые входят в стандартную комплектацию Flash, содержат ошибки. В моей фирме нам пришлось написать собственные замены. Одна из проблемных функций - поддержка клавиатуры. Я реализовал собственную поддержку взаимодействия с клавиатурой. Работает хорошо, но требует усилий. Если бы я писал приложение для Windows VB, навигация с помощью клавиатуры была бы предоставлена и работала бы хорошо из коробки.
То же самое и с глубокими ссылками, поддержкой кнопки возврата и т. Д. Умный разработчик сможет заставить Flash-приложение вести себя хорошо. Здесь незаменимы некоторые библиотеки с открытым исходным кодом.
Что касается плавных макетов, я только что завершил проверку концепции (в AS3). Это возможно, но требует больших усилий. Зачем я прилагаю усилия? Из-за других вещей, с которыми Flash справляется хорошо.
Моя самая большая проблема с Flash заключается в том, что он переносит вас «из браузера» в собственное, совершенно отдельное приложение. Это нарушает "стандарты браузера", то есть функции, которые я могу выполнять в своем браузере:
- Щелкните правой кнопкой мыши
- Щелчок средней кнопкой мыши (для открытия ссылок на других вкладках)
- Выбор текста
- Копировать вставить
- Печать
- Сочетания клавиш (поскольку Flash крадет фокус клавиатуры)
- Кнопки Назад / Вперед и вся концепция "страницы"
- Взаимодействие Javascript с другими элементами на странице (не думаю, что это возможно).
- «Проверить элемент» в Firebug или Chrome, если я хочу увидеть источник определенной части файла Flash или найти используемое изображение.
У Flash есть свое применение. Это хорошо для контента, а не для веб-страниц.
Печать часто плохо поддерживается, и кнопка возврата не работает.
Я думаю, что это вопрос выбора самого дешевого носителя для охвата целевой аудитории, будь то Flash, Silverlight, JavaScript или простой текст.
У вас могут быть текстовые, только JavaScript-версии и т. Д. Версии вашего сайта, если у вас есть деньги, а ваша целевая аудитория имеет разные приоритеты.
Итак, мой вопрос к вам: есть ли на вашем веб-сайте люди, которые не одобряют Flash как его целевую аудиторию? Если да, вам нужно держаться от этого подальше. Если нет, используйте что-нибудь, чтобы дать вашим посетителям хорошее впечатление.
См. «Мысли о Flash» Стива Джобса: http://www.apple.com/hotnews/ought-on-flash/
Кто-нибудь знает сайт под названием YouTube? Без вспышки его бы не было. Flash обладает отличными видео / мультимедийными возможностями, которые просто невозможно игнорировать.
Flash прекрасен, если его использовать правильно, в соответствующих обстоятельствах и когда дизайнер / кодировщик позаботился о внедрении основных функций доступности.
Дело в том, что, как и во всех хороших вещах, есть много злоупотреблений (флештурбация). Особенно вначале, когда люди просто хотят шлепнуть Flash везде, где только можно, просто чтобы похвастаться.
Но я категорически не согласен с тем, что Flash-сайты плохи: если они созданы правильно, с хорошим дизайном пользовательского интерфейса и доступностью, они привносят в Интернет совершенно новое измерение.
SEO - главный вопрос. По-прежнему Flash не может сканироваться. Но Adobe работает над этим. http://www.adobe.com/devnet/flashplayer/articles/swf_searchability.html для лучшей индексации swf.
Давайте не будем забывать, что Flash позволяет веб-сайтам отображать видео, анимацию, взаимодействие с пользователем и т. Д., И это может быть простой процесс или процесс, связанный с техническими проблемами, в зависимости от того, что вы хотите сделать. . Многие плохие Flash-сайты зависят от автора.
Если ВАМ не нравится Flash, ответ прост: не используйте его. Не устанавливайте подключаемый модуль Flash или подключаемый модуль браузера, например Flashblock. в Firefox. Это заменяет любой Flash-фильм кнопкой воспроизведения, предотвращая загрузку и предотвращая ее загрузку до тех пор, пока на нее не будет нажата кнопка.
Однако лучше, чем это, если вам не нравится решение, которое предлагает вам Adobe или Microsoft, тогда придумайте лучшее или, по крайней мере, сообщите им, что вам не нравится, они серьезно относятся к обратной связи. Поддержите некоторых людей, которые проводят кампании за улучшения специальных возможностей во Flash, например, посетите http://niquimerret.com.
Доступность - это постоянная проблема, и она не исчезнет. Доступность Flash улучшается для людей с ограниченными физическими возможностями. В некоторых случаях использование Flash улучшает работу людей с когнитивными нарушениями и проблемами обучения, когда концепция или идея лучше объясняются в виде анимации, а не страницы слов и статических изображений.
Flash добавляет еще один тяжелый компонент, необходимый для правильного просмотра веб-страницы. Плагины flash часто содержат ошибки и могут привести к сбою браузера. Flash-страницы часто используются для создания симпатичной анимации и других вещей, которые затрудняют быструю навигацию по сайту.
Все вышесказанное верно и для дикой дикой паутины.
Однако для внутренних бизнес-приложений Flash и Silverlight позволяют пользователю иметь что-то близкое к полноценному приложению в своем браузере. Доступность, SEO и закрытый исходный код не очень важны для внутреннего приложения. Главное - облегчить жизнь пользователю.
Я не устанавливаю Flash в своих браузерах, в основном, чтобы избежать неприятных ощущений от анимированной рекламы, но также из соображений безопасности и конфиденциальности, упомянутых другими.
Так что сайтов, полностью созданных во Flash, насколько я понимаю, не существует. (W.r.t. Youtube, я загружаю видео прямо в Миро.)
Вероятно, по той же причине программисты на C избегали Win32 API, программисты Win32 - от MFC и программисты MFC - от Windows Forms. Его сложно использовать и понять - я пробовал программировать на Flex, и у меня все хорошо, но он изначально не предназначен для типичного дизайна веб-приложений, например. нет встроенной (по крайней мере, до Flex 3) поддержки для баз данных, файлов cookie или сеансов - вам нужно поместить все 3 в PHP или другую страницу на стороне сервера и вызвать это из ActionScript.
Попробуйте создать простую страницу регистрации / входа с помощью PHP, а затем снова с помощью Flex / Flash, и вы увидите, что вся обработка серверной части выполняется кем-то другим - опять же, вероятно, это сделано специально, поскольку у нас есть HTML / JavaScript для передней части. end, смешанный с ColdFusion или PHP и т. д. для серверной части в "традиционных" веб-приложениях.
Как и другие люди, Flash плохо работает с клавиатурой - попробуйте нажать Ctrl-T в Firefox, когда объект Flash, встроенный в HTML-страницу, имеет фокус (при наведении курсора мыши) - так что это может расстраивать пользователя ...
Сказав все это, я бы все же предпочел создать интерфейс веб-приложения на Flash / Flex, чем на HTML / JavaScript / CSS, поскольку последний требует резкой кривой обучения, которая через некоторое время становится довольно запутанной, поскольку вы должны учитывать «хорошие» "аспекты дизайна CSS и JavaScript, а также плохие из них - а также недостатки, присущие JavaScript / CSS по своей сути, и те, которые вводятся поставщиком библиотеки JavaScript (Yahoo YUI, Google Ajax API, script.aculo.us и т. д.
Если вы уже являетесь веб-программистом, который очень хорошо знает CSS / HTML / JavaScript и у вас на компьютере настроена хорошая среда разработки со всеми необходимыми инспекторами кода, отладчиками времени выполнения и т. Д. И т. Д., Тогда легко продолжать работать в этом (не принимая во внимание предпочтения конечного пользователя), но если вы похожи на меня и хотите быстро сделать веб-приложение готовым и доступным для использования и хотите быстро добавлять в него функции, постоянно делая его красивым, тогда лучше использовать Flash / Flex вариант, ИМХО.
Мне не нравятся веб-сайты на основе Flash, потому что что произойдет, если ваш браузер выйдет из строя или ваше соединение ненадолго прервется? Вам нужно снова загрузить его, вернуться в меню и выбрать элемент, о котором вы хотите прочитать, и так далее и тому подобное.
Просто не делай этого. : S
Я разработчик Flash ... и обнаружил, что, хотя Flash требует больше усилий при кодировании, потенциал огромен. Вы можете создавать очень простые сайты с простыми переходами, настолько тонкими, что они кажутся обычной HTML-страницей, но при этом остаются такими же легкими.
В то же время вы можете использовать ООП с ActionScript для создания веб-сайта, который будет таким же сложным и инклюзивным, а также будет работать как настольное приложение. ПРИ ЭТОМ ОСТАВАЕТСЯ ОЧЕНЬ ЛЕГКИМ! (по запросу загружается только необходимый контент, в отличие от HTML-сайтов с 4 столбцами, на которых слишком много информации.)
В настоящее время, и это все еще без перехода на ActionScript 3, но все еще с использованием ActionScript 2, файлы MY flash содержат просто 2 или 3 строки ActionScript, только один кадр и пустую рабочую область. Все остальное динамически создается или добавляется во время выполнения.
Проблемы Flash связаны не с Flash, а с ленивой разработкой.
В его защиту, большинство вопросов, поднятых здесь, касается того, как люди реализовали Flash на своих веб-сайтах, а не самого Flash. Flash действительно поддерживает доступность, просто большинство людей не учитывают это при создании своих сайтов. Flash действительно работает на мобильных телефонах - это Flash Lite, хотя ActionScript в более ранних версиях ограничен.
Почему кто-то должен иметь автоматическое право просматривать исходный код веб-сайта? Веб-автор потратил время и усилия на то, чтобы придумать свой код, чтобы поделиться своими идеями через сеть. Если вы хотите знать, как что-то работает, почему бы не приложить немного усилий и не поработать над этим? Красота Интернета - это сообщение, а не среда.
Так что, если Flash принадлежит одной компании - Adobe не зря купила его, и это потому, что это фантастический комплект. Проблема возникает из-за того, что веб-авторы не используют его должным образом, пытаются заставить его делать то, для чего он никогда не предназначался, или просто не применяют стандарты к своим сайтам при разработке с использованием Flash.
Что такого плохого в веб-сайтах на основе Flash? Совершенно ничего. Это все равно, что спрашивать, что такого плохого в оружии. Ничего такого. Проблема в том, что у него есть идиот.
Flash - отстой, и я отказываюсь посещать веб-сайты, основанные на Flash. Почему? Потому что я не могу. Почему? Потому что Adobe слишком игнорирует, чтобы писать подключаемый модуль для 64-разрядного браузера.
Посмотрите веб-сайт любого крупного производителя автомобилей, они ВСЕ в формате Flash. Это зависит от того, что вы делаете. Если ваша цель - создать насыщенный и привлекательный веб-сайт, Flash / Silverlight даст вам огромное преимущество с точки зрения времени разработки. ЕСЛИ вы предоставляете контент / данные в формате HTML и JavaScript (например, jQuery), вы можете получить массу удовольствия, не требуя дополнительных программных плагинов (Flash / Silverlight).
Flash Player является виновником большего количества сбоев Mac OS X, чем чего-либо еще. Он не совсем известен своей стабильностью.
Все приведенные выше ответы касаются Flash, Silverlight так же плох или хуже. Если вы используете Firefox с NoScript (должно быть), то вам нужно нажимать на каждый скрипт. которую вы хотите разрешить запускать.
Так что создавайте свои сайты с помощью скриптов, Flash и Silverlight. Только убедитесь, что они все еще работают с отключенными. Многие из нас просто уйдут, когда мы откроем сайт и ничего не увидим.
Многие из нас имели плохой опыт работы с веб-сайтами, основанными на Flash, которые пропагандировали идею о том, что flash - это «зло». Я не думаю, что справедливо применять ярлык зла к любой технологии или фреймворку, каждая из них предназначена для удовлетворения конкретных сценариев, и многие из них хорошо справляются с этими сценариями, например, у меня нет проблем с веб-сайтами, которые используют флеш-видео.
Несколько других ответов касались того факта, что использование флэш-памяти противоречит многим стандартным метафорам, которые мы используем в Интернете (например, ссылки и кнопки навигации). Я ненавижу это так же, как и следующий веб-пользователь, но на самом деле это не делает вспышка зла тоже.
Хотя было сказано, что во Flash / Flex есть механизмы для добавления поддержки этих вещей, по моему опыту, они редко реализуются, что не является прямой ошибкой Flash как таковой, но очень раздражает пользователя.
Возможно, беда не в Flash / Flex, а в Adobe, потому что они не упростили многие из этих вещей или не сделали их более заметными для разработчиков.
Для справки, я никогда не разрабатывал во Flash.
Флэш - это не зло, зло - это то, что люди с ним делают.
Для тупой векторной анимации и, может быть, даже, например, 360-градусного обзора продукта или интерактивной диаграммы - да. Flash может делать красивую анимацию Full HD на моем древнем ящике со скоростью 60 кадров в секунду, используя ~ 15% процессора.
Для веб-видео, если у вас нет другого выбора, я полагаю.
Но для целых веб-сайтов и таких вещей, которые называются RIA, нет.
Удивительно, но технология работает лучше для того, для чего она была разработана.
Flash - это еще одна вещь, которую нужно изучить в веб-разработке. Нет, спасибо! Их уже слишком много. Если я могу выполнять свою работу без него, мне это не нужно.
Программированию с каждым днем платят меньше.