Flash与AJAX / JS的(技术)优缺点是什么?
我们提供了一个Web应用程序,其前端完全是在Adobe Flash中开发的。 6年前,当我们选择Flash时,我们之所以这样做是因为它具有大量的用户交互功能,例如拖动内容,打开和关闭菜单,树形导航元素,弹出对话框等。
如今,很明显,AJAX / JS提供了大致相同的可能性,并且由于容易获得的框架数量众多,因此实现它们非常可行。
是否存在技术原因,一个人应该选择其中一项而不是另一种? "技术"是指性能,安全性,可移植性/兼容性等。我的意思不是像在Flash中完成非程序员方式的开发那样的方面,也不是将应用程序从一个切换到另一个是否有意义。
正如我在另一个问题中所解释的那样,在我看来,JS在市场占有率方面遥遥领先,我想知道如果坚持使用Flash,是否缺少一些重要的观点。
解决方案
回答
JS和Flash都具有重叠功能,因此它们在网络上都占有重要地位。 JS仍然缺少一个领域来渲染视频。
回答
- 正确设计的AJAX应用比Flash更具谷歌搜索能力
- 正确设计的AJAX应用程序比Flash更容易进行深度链接
- AJAX不需要插件(Flash随处可见,因此并不重要)*
- 与Flash一样,AJAX不受单个公司的控制
编辑添加:
*正如阿卜杜所指出的,iPhone除外。
回答
我认为Flash应该仅限于在线游戏,视频和动画。否则,请使用html和Ajax。这是一个网络标准,几乎所有设备都支持。
AFAIK,iPhone不支持Flash。这是一个快速增长的细分市场,我们已经将其排除在外了。保持简单高效。
回答
尽管Flash在台式机浏览器中非常普遍,但对移动设备的支持非常有限(Flash Lite?是的,是)。我真的很沮丧地在手机上查找一家餐馆,却发现整个网站都是基于Flash的,我什至无法获得电话号码或者地址!
回答
除了其他人所说的以外,Flash受限于"矩形",不能以不引人注目的方式添加到普通的html页面。
@Gulzar我认为,当更多的浏览器将支持像mozilla 3.1这样的视频标签时,我们会看到在Flash上更多地采用ajax / js。
回答
Flash的优点之一是它具有一些工具来帮助安全地进行跨域类型的操作,这可能会有所帮助。 Flash还具有对某些硬件的(有限)支持,而Javascript无法实现。
就个人而言,在尝试使用Flash之类的东西之前,我会尝试使用尽可能多的Ajax。从UI的角度来看,最好的方法是控件和基本创作要更加完善。声音管理器项目是有效使用少量Flash并将其余部分保留在Javascript中的一个很好的例子。
回答
- Adobe Actionscript是一种静态类型的语言,而Javascript是动态类型的。根据观点,这可能是好事,也可能是坏事。
- 使用Javascript / HTML / CSS,我们将进入跨浏览器兼容性的困境,尤其是如果我们想支持较旧的浏览器。可用可用的库可以缓解这种情况,但这仍然令人头疼。使用Flash,我们只需编写一次代码,即可在所有浏览器中使用。
- 即使有可用的库,Flash用户控件也比我们在Javascript / HTML领域中所能找到的任何东西都要先进。在Javascript中,我们将找不到与Flash提供的数据绑定用户控件的简单性和强大功能相近的任何东西。
我看不出JavaScript比Flash具有更多的"市场份额"。几乎所有使用Web浏览器的人都安装了Flash插件。我很想知道有多少人禁用Javascript但有Flash插件。
另外请记住,如果我们决定转换技术基础,那么我们将面临巨大的学习曲线和大量的开发时间,因此我们最好有充分的商业理由去这样做。
该决定还与应用程序的功能以及安装基数有关。
编辑:我看到有人提到iPhone不支持Flash。我希望这会随着iPhone Adobe的安装基础而改变,如果不支持它,将会发疯。
回答
Flash使用得当,可以轻松地进行本地化和国际化。
此外,以可访问的方式使用Flash要容易得多。我们可以为屏幕阅读器提供正确的文本,而不是让它们遍历所有可能的表单元素。
回答
我怀疑javascript变得越来越流行的原因之一是,它更容易改装到现有的应用程序中。
回答
由于我无法接受两个答案,因此我将在自己的帖子中合并Christ Upchurch的答案和26个答案中的17个。我认为,这两个加在一起几乎总结了我想知道的内容。谢谢你们!