6

我们提供一个 Web 应用程序,其前端完全使用 Adob​​e Flash 开发。当我们 6 年前选择 Flash 时,我们这样做是因为它有大量的用户交互功能,比如拖动东西、打开和关闭菜单、树形导航元素、弹出对话框等。

今天很明显,AJAX/JS 提供了大致相同的可能性,并且由于现成的框架数量众多,实现它们非常可行。

是否有技术原因应该选择其中一种技术而不是另一种?“技术”是指性能、安全性、便携性/兼容性等。我并不是指诸如在 Flash 中完成非常非程序员的开发方式之类的方面,或者将应用程序从一个切换到另一个是否有意义。

正如我刚刚在另一个问题中解释的那样,在我看来,JS 在市场份额方面遥遥领先,我想知道如果我们坚持使用 Flash,我们是否错过了一些重要的点。

4

11 回答 11

4

除了其他人所说的,Flash被限制在“矩形”中,不能以不显眼的方式添加到普通的html页面中。

@Gulzar 我认为当更多的浏览器将支持像 mozilla 3.1 这样的视频标签时,我们会看到更多地采用 ajax/js 而不是 flash。

于 2008-09-09T15:38:01.213 回答
4
  • Adobe Actionscript 是静态类型语言,Javascript 是动态类型。根据您的观点,这可能是好事也可能是坏事。
  • 使用 Javascript/HTML/CSS,您将进入跨浏览器兼容性的地狱,尤其是如果您想支持旧版浏览器。这可以通过可用的库来缓解,但这仍然是一个令人头疼的问题。使用 Flash,您只需编写一次代码,它就可以在所有浏览器中运行。
  • 即使有可用的库,Flash 用户控件也比您在 Javascript/HTML 世界中找到的任何东西都要先进。在 Javascript 中,您不会找到任何与 Flash 提供的数据绑定用户控件的简单性和强大功能相近的东西。

我看不出 Javascript 如何比 Flash 拥有更多的“市场份额”。几乎所有拥有网络浏览器的人都安装了 Flash 插件。我很想知道有多少人禁用了 Javascript 但有一个 Flash 插件。

另外请记住,如果您决定转换您的技术基础,那么您将面临巨大的学习曲线和大量的开发时间,因此您最好有充分的商业理由这样做。

这个决定也与你的应用程序做什么以及你的安装基础有很大关系。

编辑: 我看到人们提到 iPhone 不支持 Flash。我希望这会随着 iPhone 的安装基础而改变——Adobe 不支持它会疯的。

于 2008-09-09T15:44:37.500 回答
3
  • 正确设计的 AJAX 应用程序比 Flash 更易于搜索
  • 设计正确的 AJAX 应用程序比 Flash 更容易进行深度链接
  • AJAX 不需要插件(Flash 无处不在,所以没什么大不了的)*
  • AJAX 不像 Flash 那样由一家公司控制

编辑添加:* 正如 Abdu 指出的那样,iPhone 除外。

于 2008-09-09T15:25:14.583 回答
2

JS 和 Flash 在网络上都有很好的存在,具有重叠的功能。JS 仍然缺乏的一个领域是渲染视频。

于 2008-09-09T15:22:53.420 回答
1

使用得当的 Flash 可以轻松实现本地化和国际化。

此外,以可访问的方式使用 Flash 要容易得多;您可以为屏幕阅读器提供正确的文本,而不是让它们遍历所有可能的表单元素。

于 2008-09-09T18:04:52.297 回答
0

我认为Flash应该仅限于网络游戏、视频和动画。否则使用 html 和 Ajax。这是一个网络标准,几乎所有设备都支持。AFAIK,iPhone 不支持 Flash。这是一个快速增长的细分市场,你已经在屏蔽了。保持简单和高效。

于 2008-09-09T15:31:22.557 回答
0

尽管 Flash 在桌面浏览器上非常普遍,但移动支持非常有限(flash lite?是的,对)。我非常沮丧地在手机上查找餐厅,却发现整个网站都是基于闪存的,我什至无法获得电话号码或地址!

于 2008-09-09T15:33:54.063 回答
0

Flash 的一个好处是它有一些工具可以帮助安全地进行跨域类型的操作,这很有帮助。Flash 还对某些硬件提供(有限的)支持,这在 Javascript 中是不可能的。

就个人而言,在转向 Flash 之类的东西之前,我会尝试尽可能多地使用 Ajax。从 UI 的角度来看,更好的是控件和基本创作更加发达。Sound Manager项目是一个很好的例子,它有效地使用了少量的 Flash,而其余部分则保留在 Javascript 中。

于 2008-09-09T15:42:50.140 回答
0

我怀疑 javascript 变得越来越流行的原因之一是它更容易改装到现有的应用程序中。

于 2008-09-10T14:10:40.837 回答
0

由于我不能接受两个答案,我将在我自己的帖子中合并Christ Upchurch26 个答案中的 17 个。我想,这两者几乎总结了我想知道的。多谢你们!

于 2008-09-12T12:52:41.803 回答
0

如果您经常处理多边形,那么 Flash 仍然更易于编程和调试。使用 AJAX 有很多库可以处理多边形,但是您的应用程序使用的库越多,运行速度就越慢。

于 2012-11-30T02:02:38.950 回答