一个基于Flash的网站有什么邪恶之处?

73

我有一种感觉,基于Flash(或Silverlight)的网站通常不受欢迎,除非你正在创建游戏或多媒体内容丰富的应用程序。为什么会这样呢?


26
我很喜欢这里的回应数量 :) Flash必亡! - annakata
29个回答

144

Flash因其较差的可访问性而声名狼藉。

键盘导航通常无法正常工作,并且Flash(直到最近)没有搜索引擎支持。

Flash应用程序在手机和其他便携设备上无法运行。

iPhone中没有Flash!

Flash由一家公司(Adobe)控制,因此它不遵循任何互联网的明确定义标准。

互联网的美妙之处在于您始终可以查看您所在的任何网站的源代码。这样,您可以在您的网站中使用相同的编程/设计技术,或者您可以发现Web应用程序中的安全漏洞。但是,在Flash中这是不可能的。在Flash中,源代码是私有的。

重要问题是,"除了创建游戏或多媒体内容丰富的应用程序外,为什么应该使用Flash"?

jtyost2说:"我还要补充一点,您无法直接链接到Flash网站中的任何内容,从而破坏了使Internet成为Internet的主要因素之一,即链接。"


30
我想补充一下,你无法直接链接到 Flash 网站内的任何内容,因此破坏了使互联网成为互联网的主要因素之一:链接。 - Justin Yost
30
我认为iPhone没有支持Flash是iPhone本身的缺陷,而不是Flash的问题。 - nickf
18
@nickf - 强烈反对这个观点。Flash并不是一个真正的标准。iPhone应该支持每一个出现的专有插件吗? - annakata
25
谈论“定义明确的标准”总是让人哄堂大笑。考虑到在所有浏览器中使用Flash 2制作的内容仍然以相同的方式播放,而我五年前制作的HTML内容现在已经无法在任何浏览器中工作了。 - fenomas
12
Flash不在iPhone上的原因是因为苹果不希望人们制作漂亮的应用程序而不支付99美元的开发工具包费用,该工具包只能在由苹果制造的价格超过700美元的专有操作系统上运行,该操作系统只能合法地在...好吧,你可以猜猜是谁制造的电脑上使用。 - MiffTheFox
显示剩余16条评论

43
  1. 内容权重
  2. 可用性
  3. 搜索引擎机器人的爬取能力
  4. 可访问性
  5. 易用性(有争议)
  6. 技术负担(需要安装额外软件访问网站)
  7. 安全问题(需要添加软件会带来安装或运行该软件/内容播放器的问题)

[编辑] 我为什么将可用性和易用性分开解释,最好可以在这个链接中找到答案。

可用性:

  • 是指软件具有良好的使用效果;
  • 是指创建可用软件的过程,也称为用户中心设计;
  • 是一组用于实现这一目标的技术,例如情境观察和可用性测试;
  • 还是一种根据用户需求进行设计的理念?

易用性:

  • 有效的
  • 高效的
  • 吸引人的
  • 容错的
  • 易学习的

我同意该网站上的评论,但这些都是有争议的……可以成为一个好的stackoverflow问题:可用性和易用性是否相同?在我看来,部分可用性是易用性,反之亦然,但它们不一定是完全相同的。

希望我的编辑没有激怒那些更注重语义的人:-)


1
2、4和5本质上是同一个点。至于7,不是说IE/FF本身就有足够的问题了吗? - Jamie Love
2
"内容重量"?Flash内容通常会被压缩,因此它的重量不会比没有使用Flash的相同内容更重(通常情况下会更轻)。你想表达的是Flash内容通常是多媒体,而多媒体通常比文本更重。 - fenomas
@fenomas 即使是压缩过的字节码也不能比纯文本更轻。而且图像也被压缩了。基本上HTML只是你需要的内容。另一方面,Flash只是一个HTTP请求。 - Luka Ramishvili
@LukaRamishvili:当然,字节码可以比纯文本更轻。考虑缩进。字节码会丢弃格式和注释。考虑变量名称的重复。如果字节码记录变量名称,它只会在字符串表中列出一次,然后通过索引引用它们。 - icktoofay
@icktoofay并不完全正确。您只考虑了文本,但是Flash文件很少仅由代码组成。您可以使用15-20行HTML和40行CSS(几百字节)创建完整的网站设计。您可以添加2-3个优化的3kb gif或png文件用于重复的背景,然后基本上就完成了,而且该网站看起来很棒(并且会自然流动,并在任何移动设备(使用%s和ems进行设置),屏幕阅读器等上工作)。Flash将大50-100倍(~200kb vs ~2kb),需要额外的工作才能使内容流畅,并且不能在大多数平台上运行。 - Luka Ramishvili
显示剩余4条评论

36
有趣的是,这里的每个人都抨击Flash / Silverlight,你应该认识到这只是硬币的一面。Flash(和Flex)允许网站设计师在其网站上获得更大的灵活性和更丰富的内容,并且在各种情况下都有效 - 例如与电影或乐队相关的网站,儿童网站,游戏网站等。
当然,有许多理由不选择Flash / Flex / Silverlight,但现在可以使用JavaScript创建同样无法访问的网站。我以前使用过对盲人或网络爬虫没有合理可用性的JavaScript产品。
Flash渗透率(来自有偏见的来源)为99%+(http://www.adobe.com/products/player_census/flashplayer/version_penetration.html),这意味着那些说“永远不会访问Flash站点”的人是不安装Flash,不观看YouTube或在线电影预告片的1%人口。
因此,您需要注意您的受众。某些受众和情况肯定会更适合使用普通HTML页面和最少量的JavaScript(政府网站,编程网站是两个涉及的领域)。其他时候是因为受众是不允许在浏览器中安装Flash的办公室工作者。
"Rich Internet Applications (RIA)是Flex/Silverlight和JavaScript/CSS/HTML两派之间存在明显冲突/斗争的领域之一。我已经使用过两种技术,现在认为要求安装Flex/Silverlight插件是相当合理的,尽管如果应用程序是公共的,仍然可能会失去一些访问者。
总之,最好确定您的受众,确定他们愿意/能够使用什么,然后基于这些限制来决定您的技术选择。"

2
在我看来,Flash和Silverlight并不是邪恶的。它们诞生于HTML、CSS和Javascript技术的严重功能缺失和标准化问题。直到今天,它们仍然提供了许多在Javascript中无法实现的功能。然而,它们也可能被滥用。你所建议的,在选择这些技术之前要考虑你的受众和目标,是非常正确的。 - Steve Wortham
3
当我老板发现我做了多少Flash开发时,他很惊讶,因为他说他雇佣的大多数开发人员甚至没有接触过Flash。显然,它更吸引设计师而不是开发人员。因此,我认为Flash在这里没有得到公正的评价。我想我要表达的是,如果你知道自己在做什么,在许多情况下,Flash(或Silverlight)可以被利用来创建更好的体验,而不会影响SEO、可用性或本页列出的其他许多事项。 - Steve Wortham
那1%没有Flash支持的情况并不容易被忽视 - 一些企业标准禁止安装Flash和第三方产品。在工作中的员工 - 他们不在线观看视频,那又怎样?对于一些企业来说,他们比在家观看YouTube和视频的人更重要。 - Luka Ramishvili
@LukaRamishvili - 我想强调我的观点:“因此,您需要注意您的受众。”我并不是在争论 Flash 是正确的选择,也不是认为那 1% 不重要。我只是指出应该考虑受众。此外,当我写下这篇文章时,YouTube 还不支持 HTML5 视频。 - Jamie Love
99%的信息来自2009年。现在这个数字已经大幅降低,并且还在不断下降(除了苹果产品、默认情况下的安卓和火狐浏览器等)。 - rustyx
显示剩余4条评论

23

基于Flash和Silverlight的网站通常违背基本的互联网惯例,其封闭模型影响用户体验。

例如,大多数基于Flash和Silverlight的网站:

  • 忽略了浏览器的前进/后退按钮;
  • 不允许您将特定位置的URL发送给其他人,或在浏览器中收藏以备将来使用;
  • 将互联网放置在固定大小的盒子中,无法动态调整宽屏幕或高分辨率。

1
检查globulos.com,它会轻易击败你的第三颗子弹。 - DFectuoso
2
不确定“they”是指谁,但如果你是指“大多数Flash开发者”,那么我同意。但如果“they”指的是Flash本身,那么这三点都是错误的;Flash有后退/前进导航和深度链接的功能,而对象调整也很容易处理。开发人员只需实现这些功能即可。 - Christian Nunciato
2
第三个观点是错误的。Flash可以被设置为调整大小或不调整,就像HTML可以被设置为流动或不流动一样。第二个观点是正确的,但同样适用于DHTML和许多带有后端的站点。很难把它称作不使用Flash的理由... - fenomas
5
这三个都是开发者的选择,而不是Flash的限制。 - mk12
@Mk12 - 请注意我第一句话中的限定词“通常”。无论Flash是否是/仍然是技术限制,它都因我提到的问题而声名狼藉。 - Cory House
显示剩余2条评论

12

"我正准备结账,但我想要改一些东西,于是点击了返回按钮"


3
Flex具有本地浏览器导航支持,而在Flash中解决此问题还有其他方法。 - Adam Harte
事实上,在经历了多年的Flash网站开发之后,我意识到Flash应该推出一款与Firefox、Chrome竞争的浏览器,除了插件外还有自己的规则集,这样他们就可以轻松地表达他们的观点。 - Muhammad

11

在这篇言论中,把所有的 "Flash" 替换成 "Flash或Silverlight"。

  1. Flash或Silverlight应用程序/插件是一个封闭源代码的严重未公开的安全漏洞库,会暴露私人数据,允许修改硬盘上的任意文件等。
  2. 对于基本内容来说,Flash或Silverlight文件太大了。有更有效率的方式可以完成同样的事情。
  3. Flash或Silverlight很慢。我的Windows PC上的插件可以占用100%的CPU时间来播放一些烂网站。
  4. Flash或Silverlight不是标准的。并非所有地方都安装了支持的Flash插件。Linux用户无法运行它,除非他们通过软件包管理解决问题。在Windows上使用Firefox的用户默认情况下不支持Flash(至少我上次查看时是这样)。
  5. Flash或Silverlight很烦人;你的用户不想被动画、铃声和垃圾轰炸,只是为了获取基本信息。
  6. 没有后退/前进功能,除非Flash设计师愿意去实现。
  7. 不能只查看一个页面,而必须等待组成该“页面”的所有内容/脚本加载完毕。如果您的用户只想要一小段文本,而您强制向他们灌输多媒体,那真的很痛苦。
  8. 大多数仅支持Flash或Silverlight的网站真的很糟糕;设计师似乎更关心使用Flash引擎的所有功能,而不是呈现对用户简明实用的东西。

13
1:浏览器本身也会出现这种问题。 2:正确。可能不相关。 3:Javascript 也可能有问题。 4:99%的普及率相当不错。 5:这取决于用户,不是吗? 6:基于 Javascript 的 RIA(富互联网应用)也有同样的问题。 7:正确。记住你的受众。 8:主观因素。我使用过的许多 Flash 网站都很棒。 - Jamie Love
1
  1. 它已经关闭,但是比任何浏览器都少被利用。
  2. 明显不正确。你的意思是Flash通常包含多媒体内容,这比非多媒体内容更重(显然)。
  3. 也是不正确的;与HTML不同,Flash可以智能地预加载设计师选择的任何方式。
  4. 大多数网站都很糟糕,原因相同。与Flash无关。
- fenomas
@fenomas:1. 让我们参考当前未修补的任意代码漏洞。Flash 有数十个这样的漏洞。7. “设计师选择”相当主观,我还没有遇到过一个能在这方面做出明智选择的设计师。8. 没有争议,但至少使用基本的 HTML 我可以搞定我需要的东西,即使我需要使用脚本来完成。用 Flash 就做不到这一点。 - Adam Hawes

10

我对Flash最大的抱怨是它会将你从浏览器中带离,进入到它自己完全独立的应用程序中。这违反了“浏览器标准”,也就是我可以在浏览器中做的功能:

  • 右键点击
  • 中键点击(用于在其他选项卡中打开链接)
  • 选择文本
  • 复制和粘贴
  • 打印
  • 键盘快捷方式(因为Flash窃取了键盘焦点)
  • 回退/前进按钮以及整个“页面”概念
  • Javascript与页面上其他元素的交互(我认为这是不可能的)。
  • 如果我想查看特定部分Flash文件的源代码或查找正在使用的图像,“在Firebug或Chrome中检查元素”。

10

我是一名Flash开发者。我所在的公司很容易找到想要我们为他们构建基于Flash的产品的客户。有一些应用程序在Flash中开发比我使用过的其他环境更容易。

但是Flash也存在问题。有些人抱怨Flash应用程序不包括键盘支持。还有人说这是因为开发人员太懒了,不愿意实现它。事实上,许多标准Flash组件存在缺陷。在我们公司,我们不得不编写自己的替代品。一个有问题的功能是键盘支持。我实现了自己的键盘交互支持。它运行良好,但需要付出努力。如果我编写Windows VB应用程序,键盘导航将会提供,并且可以直接使用。

深度链接、后退按钮支持等情况也是如此。聪明的开发人员将能够使Flash应用程序表现良好。在这里,一些开源库是必不可少的。

至于流动布局,我刚刚完成了一个(在AS3中)的概念验证。这是可能的,但需要付出很大的努力。为什么我要付出这种努力?因为Flash在其他方面表现良好。


9

Flash有其用途。它适用于内容,而非网页。


网页除了“内容”还能用来做什么?或者您能具体说明一下您所指的“内容”是什么吗? - chiccodoro
1
@chiccodoro 除了网页之外的内容?像 PowerPoint 这样的演示文稿,视频容器比 html5 更好,以及其他自包含小工具,如网页中使用的音乐控件。 - Muhammad
1
@Muhammad - 我明白了,我想在那时我没有正确理解“内容”这个术语 - 它似乎经常被用作多媒体内容的同义词。 - chiccodoro
我也感到困惑。内容既是一切又是无物。在我看来,你的意思是“Flash适用于其他东西,而不是网页”。 - Sebastian Mach

7
我认为选择成本最低的媒介来达到目标受众是一个问题,无论是Flash、Silverlight、JavaScript还是纯文本。
如果你有足够的资金,并且你的目标受众有不同的优先级,你可以拥有仅文本、仅JavaScript等版本的网站。
所以我的问题是:你的网站的目标受众是否对Flash持反感态度?如果是,你需要远离它。如果不是,使用任何东西来给你的访问者带来良好的体验。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接