我正在开发业务Web应用程序。它们主要是内部使用,有时带有合作伙伴区域,但很少可用于公共互联网。它们是帮助公司开展业务的应用程序。
一段时间以来,我有一个想法让我烦恼 - 为什么不为他们使用Flash?到目前为止,它已经是ASP.NET + AJAX,这还不错,但它仍然是旧的HTML + JS。因此,很难实现浏览器兼容性,并且创建适合客户需求/愿望的丰富UI非常具有挑战性。大多数情况下,这会导致应用程序仅支持IE,或者最多 - IE&火狐。
Flash会解决所有这些问题。它会立即在所有浏览器和所有平台上运行。 UI功能远远超过HTML + JS。它可以由部件加载,并可以与服务器进行异步通信。你还想要什么?
然而不知怎的,我还没有看到或听到有人这样做过。相反,创建了新的替代品(如Silverlight),它们必须做同样的事情,但仍然试图坚持HTML + JS。我错过了什么?
应该注意的是,我从未做过任何Flash开发,所以也许我真的忽略了一些让这个变得不可能的东西。
答案 0 :(得分:10)
已经发生了什么? Flex!
答案 1 :(得分:10)
我经营一家成功的小型企业(我自己,另外还有其他两家合作伙伴)为大型金融服务公司(富达,汉考克,先锋,T.Rowe Price)开发网络应用程序7年,只使用Flash。
在最初几年(2001-2004),我觉得我们处于领先地位 - 很少有其他公司使用Flash来开发强大的“真实商业”网络应用程序。在2005-2008,我觉得我们有很多竞争对手。现在,我开始看到结束了 - JS和Ajax现在可以很容易地完成我们使用Flash的所有事情(异步通信,高响应性交互,图表,图形,拖放等) 。)
以下是我的一些看法:
Flash绝对可以处理“真正的”业务应用程序 - 我们的客户使用我们的应用程序来运行或集成交易系统,风险管理应用程序,产品组合监控以及其他关键业务功能。任何说Flash无法处理此类事情的人都会被误导。
在开始自己创业之前,我开发了多年的桌面应用程序。 Flash是第一个允许我在网络应用程序中使用桌面应用程序的技术。
Flash允许我们开发一次,并在任何浏览器上运行
Flash为我们提供了更多的UI控件和小部件 - 当特定类型的交互需要的不仅仅是文本框或单选按钮或下拉菜单时,我们可以构建我们需要的任何内容。一些应用需要新颖的互动支持
也就是说,根据我们的经验,网络应用必须看起来像一个网络应用,否则用户将无法获得它。因此,即使您可以构建任何类型的UI控件或界面,您也应该将它们构建为与标准HTML控件完全相同,并扩展其行为,但永远不要更改它们。不要指望用户学习新东西。
如果你注意,你可以让你的Flash应用程序比同类的JS / Ajax实现更轻量级。摆脱无关的图形,动画,不必要的字体。我们构建了比许多流行的AJAX库更轻的蒙特卡罗模拟/财务规划应用程序。
最大的缺点是管理您的应用/与其他开发人员共享工作负载。底线 - 没有那么多的Flash开发人员,以及较少的已建立的编码标准或框架。所以,事先要知道,只要它存在,你可能会自己拥有应用程序。如果您有客户在交付应用程序后将接管该应用程序,他们将很难找到新的开发人员来管理/扩展它。
第二大缺点是你对Adobe感激不尽。如果他们决定停止Flash,我们就会陷入困境。
正如其他人所指出的那样,可访问性是一个真正的问题。有一些解决方法,但它有很多额外的工作,而如果你使用HTML,它通常是“免费的”。 (尽管AJAX / JS也可能存在巨大的可访问性问题。)
我不认为iPhone会支持Flash。虽然Flash在桌面上基本上无处不在,但它可能永远不会移动到桌面上。 (Adobe提供适用于移动设备的FlashLite,但我对此并不了解。看起来很容易接受。)
虽然其他技术正在赶上(并且在某些情况下超过它),但我认为Flash至少还有一两年的使用寿命。
希望这有帮助。祝你好运。
答案 2 :(得分:8)
一个重要原因是可访问性。在一个足够大的组织中,您将有一些用户需要更大的文本,屏幕阅读器,盲文终端或更高的对比度。现有的,完善的技术可用于那些使用“普通”Web应用程序的技术(如果他们通常不太依赖JavaScript)。
一旦您的内容被困在闪光灯中,这些技术通常会在脸上掉落。
答案 3 :(得分:2)
所有这些都考虑到了,对我来说Javascript是交互式应用程序的未来。
答案 4 :(得分:1)
说了这么多,我其实很喜欢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中,我认为这将是一个安全漏洞。
缺点是它意味着我不能在我的手机上使用他们该死的网站!