Flash for Business Web应用程序 - 为什么不呢?

时间:2008-12-18 09:04:53

标签: flash web-applications

我正在开发业务Web应用程序。它们主要是内部使用,有时带有合作伙伴区域,但很少可用于公共互联网。它们是帮助公司开展业务的应用程序。

一段时间以来,我有一个想法让我烦恼 - 为什么不为他们使用Flash?到目前为止,它已经是ASP.NET + AJAX,这还不错,但它仍然是旧的HTML + JS。因此,很难实现浏览器兼容性,并且创建适合客户需求/愿望的丰富UI非常具有挑战性。大多数情况下,这会导致应用程序仅支持IE,或者最多 - IE&火狐。

Flash会解决所有这些问题。它会立即在所有浏览器和所有平台上运行。 UI功能远远超过HTML + JS。它可以由部件加载,并可以与服务器进行异步通信。你还想要什么?

然而不知怎的,我还没有看到或听到有人这样做过。相反,创建了新的替代品(如Silverlight),它们必须做同样的事情,但仍然试图坚持HTML + JS。我错过了什么?

应该注意的是,我从未做过任何Flash开发,所以也许我真的忽略了一些让这个变得不可能的东西。

10 个答案:

答案 0 :(得分:10)

已经发生了什么? Flex!

答案 1 :(得分:10)

我经营一家成功的小型企业(我自己,另外还有其他两家合作伙伴)为大型金融服务公司(富达,汉考克,先锋,T.Rowe Price)开发网络应用程序7年,只使用Flash。

在最初几年(2001-2004),我觉得我们处于领先地位 - 很少有其他公司使用Flash来开发强大的“真实商业”网络应用程序。在2005-2008,我觉得我们有很多竞争对手。现在,我开始看到结束了 - JS和Ajax现在可以很容易地完成我们使用Flash的所有事情(异步通信,高响应性交互,图表,图形,拖放等) 。)

以下是我的一些看法:

  1. Flash绝对可以处理“真正的”业务应用程序 - 我们的客户使用我们的应用程序来运行或集成交易系统,风险管理应用程序,产品组合监控以及其他关键业务功能。任何说Flash无法处理此类事情的人都会被误导。

  2. 在开始自己创业之前,我开发了多年的桌面应用程序。 Flash是第一个允许我在网络应用程序中使用桌面应用程序的技术。

  3. Flash允许我们开发一次,并在任何浏览器上运行

  4. Flash为我们提供了更多的UI控件和小部件 - 当特定类型的交互需要的不仅仅是文本框或单选按钮或下拉菜单时,我们可以构建我们需要的任何内容。一些应用需要新颖的互动支持

  5. 也就是说,根据我们的经验,网络应用必须看起来像一个网络应用,否则用户将无法获得它。因此,即使您可以构建任何类型的UI控件或界面,您也应该将它们构建为与标准HTML控件完全相同,并扩展其行为,但永远不要更改它们。不要指望用户学习新东西。

  6. 如果你注意,你可以让你的Flash应用程序比同类的JS / Ajax实现更轻量级。摆脱无关的图形,动画,不必要的字体。我们构建了比许多流行的AJAX库更轻的蒙特卡罗模拟/财务规划应用程序。

  7. 最大的缺点是管理您的应用/与其他开发人员共享工作负载。底线 - 没有那么多的Flash开发人员,以及较少的已建立的编码标准或框架。所以,事先要知道,只要它存在,你可能会自己拥有应用程序。如果您有客户在交付应用程序后将接管该应用程序,他们将很难找到新的开发人员来管理/扩展它。

  8. 第二大缺点是你对Adobe感激不尽。如果他们决定停止Flash,我们就会陷入困境。

  9. 正如其他人所指出的那样,可访问性是一个真正的问题。有一些解决方法,但它有很多额外的工作,而如果你使用HTML,它通常是“免费的”。 (尽管AJAX / JS也可能存在巨大的可访问性问题。)

  10. 我不认为iPhone会支持Flash。虽然Flash在桌面上基本上无处不在,但它可能永远不会移动到桌面上。 (Adobe提供适用于移动设备的FlashLite,但我对此并不了解。看起来很容易接受。)

  11. 虽然其他技术正在赶上(并且在某些情况下超过它),但我认为Flash至少还有一两年的使用寿命。

  12. 希望这有帮助。祝你好运。

答案 2 :(得分:8)

一个重要原因是可访问性。在一个足够大的组织中,您将有一些用户需要更大的文本,屏幕阅读器,盲文终端或更高的对比度。现有的,完善的技术可用于那些使用“普通”Web应用程序的技术(如果他们通常不太依赖JavaScript)。

一旦您的内容被困在闪光灯中,这些技术通常会在脸上掉落。

答案 3 :(得分:2)

多年来,Flash似乎一直是交互式应用程序中的下一个重点。然而,无论出于何种原因,它从未发生过。我认为现在不会发生以下原因:

  • Javascript框架几乎完全解决了浏览器兼容性和丰富功能的问题。你见过Ext.js吗?另请参阅http://www.joelonsoftware.com/items/2007/09/18.html
  • 所有Web开发人员都具备一些javascript知识,因此使用它扩展应用程序功能的障碍很小。如果你想编写一个交互式Flash应用程序,你可能会从头开始。
  • 使用javascript可以做的事情正在迅速发展,Flash可能会因许多(并非所有)用途而过时。这个网站让我说'Flash已死了': http://webdev.stephband.info/parallax.html - 如果你可以用javascript做到这一点,为什么你需要(学习)Flash?
  • Chrome和FF3将javascript执行速度放在了开发的最前沿。 Flash是一种资源匮乏。
  • 仅为我个人 - 我知道基于浏览器的应用程序的视觉提示。我不使用Flash应用程序,我觉得这是我需要学习的新范例。我不认为我是唯一一个这样反应的用户。

所有这些都考虑到了,对我来说Javascript是交互式应用程序的未来。

答案 4 :(得分:1)

  1. 部署。你依赖于 您的IT浏览器插件 部门可能愿意也可能不愿意 分发。
  2. 使用Flash / Flex     你是基于你的技术     专有软件。
  3. 封闭源,     因此它的难度更大     调试
  4. 说了这么多,我其实很喜欢Flex,但由于上述原因,我认为它只不过是玩具。

答案 5 :(得分:1)

它将您的应用程序放在一个盒子里。

如果您对框带来的限制感到满意,那么一切都很好,但是除了更容易访问丰富的UI之外,您还会遇到一些限制。例如。如果您需要您的应用程序具有搜索功能,您可能必须编写自己的应用程序而不是依赖于谷歌(用于外部)或内部索引服务器(可能您仍然可以使用索引服务到后端数据库,然后就可以通过你的Flash应用程序访问?)

我已经写了大约7年的Flash应用程序了。当我这样做的时候,玩起来很小的玩具很有趣也很容易,但我从来没有考虑过一个严肃的应用程序 - 很久以前 - 我怀疑事情发生了变化。

  

Flash会解决所有这些问题。   它会立即在所有人身上运行   浏览器和所有平台。

快来?

  

loading ... 23%......

- )

答案 6 :(得分:1)

非常简单:因为Flash的当前版本仍然是错误的。例如,有一个problem with accented character input under Linux几乎是一个显示阻止者。我最近还测试了几个提供JS和Flash作为客户端技术的框架,我花了几分钟时间编写了一些在Flash上​​表现不正确的小例子。

答案 7 :(得分:0)

许多人和组织都在使用Flex和常规Flash执行此操作。

答案 8 :(得分:0)

可以做到并且有效。但是,它通常做得不好。 Flex的黑暗面有一种被诱惑的倾向,而忘记了基础知识。结果是过多的真正可怕的应用程序破坏了预期的用户行为。

当然,这不仅限于Flash / Flex。我是在一个针对iPhone的网站上担任顾问的。由于它们实现了CIUI,因此Web浏览器的后退按钮和书签功能被破坏。 “哦,我们已经考虑过了”。假设您已登录,他们已经创建了一种精心设计的方式将您自己的页面收藏夹存储在他们的服务器上。一系列链接确保用户永远不需要他们的后退按钮。我也不夸张地说,我不骗你。

此基本级别的失败是您需要注意的。可以使用Flash和Flex构建非常好的应用程序,并且可以解决浏览器兼容性问题。小心不要忘记基本面。

答案 9 :(得分:0)

值得注意的是,我的银行在其登录屏幕上使用Flash。他们正在进行某种生物识别打字节奏识别,如果是在Javascript中,我认为这将是一个安全漏洞。

缺点是它意味着我不能在我的手机上使用他们该死的网站!