1

在过去的 10 年里,我一直在构建企业软件。在这段时间里,我们已经看到企业应用程序从客户端服务器转移到瘦客户端。我们还看到了向托管解决方案的转变,尽管名称并不多(asp、SaaS、云计算)。随着所有这些变化,浮躁主要来自 IT 部门而不是最终用户。在这些革命的第一轮中,以单点管理和减少桌面占用空间的名义降低了用户体验。

在此期间,已经进行了许多尝试来为用户提供丰富的体验,同时仍然满足古怪的 IT 部门。第一个是由行业领导者 Microsoft 以 ActiveX 控件的形式出现的。Sun 公司的人随后推出了 applet,最近又推出了 java webstart。所有这些解决方案似乎都可以解决问题,但从未获得更严格的 IT 部门的广泛期望。

然后 flex 从 Macromedia 出现。他们做了什么不同的事情?它是可持续的吗?微软对 Silverlight 的模仿是否证明他们已经改变了游戏规则?Web 编程会永远改变吗?

4

3 回答 3

4
  1. Adobe 之所以成功,是因为主要平台上主要浏览器的几乎所有用户都已经安装了 Flex 所需的唯一运行时组件;这是Flash播放器。Flash 播放器已经证明它不是 Bad Stuff 的载体。它在浏览器中自己的沙箱中运行,与硬件和操作系统隔离。所以没有安装新的(和潜在危险的)软件。

  2. Flash 技术存在一个庞大的开发者社区,Flash 中添加的一些新控件,以及用于编写软件的 ActionScript 的成熟度,已经使其超过了作为 RUI 完全有用的门槛。

    (Activex 仅适用于 Windows;Java 中的任何内容都被认为不稳定且过于繁重;而且 Java 还没有设法使其无处不在,也可能永远不会这样做。所以两者通常都由 edict 安装,而不是由用户安装选择。尽管 Adob​​e 可能是我们在生态系统中处理的未经请求的“更新检查器”和其他近乎恶意软件的最具破坏性的来源。)

  3. 微软一开始就非常积极地使用 Silverlight,只需要安装等效的 Flash 运行时;但即使在 Windows 机器上它也不是无处不在;向其他平台渗透是未来的一条路;并且 MS 还没有被证明具有政治智慧以显得无害。但不要计算在内。我认为他们通过切换到 .NET 语言(具有有限的 CLR)进行开发而后退了一步。在我看来,这与他们的 WinCE 策略脱氧的策略相同;但我们会再次看到。但至少他们已经明显地从语言不可知论转向似乎想要强迫开发人员进入 .NETland。

  4. Web 编程正在以一种或另一种方式永远改变。用户将需要更好、更细粒度的 UI;目前还没有完美的答案,但至少有心灵和思想的竞争。我认为最令人鼓舞的迹象来自微软在 MVC、Iron Stuff 等平台中立的东西上的强势进军,以及越来越不受污染的浏览器代码流。

于 2008-12-23T05:32:30.727 回答
1

我对 Flex 成功的看法:

1- Adob​​e 在开源方面做出了正确的举措,不仅是 AIR,而且现在还开源了 Flex、Flash VM 和 PDF 标准。

2- Flex 丰富的 Flash 遗产(它可以在任何支持 Flash 的浏览器上运行)意味着绝大多数浏览器已经支持它并且不需要下载大型插件即可访问它。

3- Adob​​e 接受了所有主要的服务器端技术,并为它们提供支持,因此 PHP. MS 或 Java 商店都会对使用 Adob​​e 的客户端技术感到满意。

以前,Flex 是封闭源代码、昂贵的,甚至依赖于服务器端安装,即使 Flash 客户端如此广泛可用,这也否定了它的影响力。

于 2008-12-23T05:52:44.693 回答
0
  • YouTube 和 Flash 视频的普遍存在使 Flash 播放器在访问公共互联网的 95% 以上的浏览器中根深蒂固。
  • 将用于表单设计的 Flex GUI 与小部件和精心设计的 GUI SDK 相结合是 Flash 播放器的主要转折点。Flex 2 和 Flashplayer 9 是这项技术真正成熟的转折点。企业开发人员开始很快意识到,这项技术正是执行其应用程序的正确方法。(在 2006 年的 JavaOne 上,Adobe Flex 2 是我在那里看到的最令人印象深刻和最重要的技术。)
  • Flash 运行时有足够的东西在 Web 浏览器沙箱设置中很好地运行 RIA GUI - Java 小程序需要完整的 JRE(大约 16 MB)。Flash 运行时的设计更加精简和智能。(Sun 现在才开始通过他们的 JavaFX 和重新设计的 JRE 为 Java 解决这个问题,它可以下载几 MB 足以运行一个 Web 小程序。不过,他们没有像 YouTube Flash 视频这样的东西来驱动他们的安装。)
  • 与编写老式 Web HTML/JavaScript AJAX 应用程序相比,编写 Flex RIA 应用程序是一种非常有用的体验。可以实现更多而更少的努力来做到这一点。
  • Adobe 用其他重要的部分来支持 Flex,例如 BlazeDS(现在他们正在与 SpringSource 合作以使 BlazeDS 和 Spring-Framework 更顺畅地集成)。
  • 单线程 GUI 结合异步服务调用(或消息传递)和 ActionScript3 闭包是很好的编程模型:

    Flex 异步 I/O 与 Java 和 C# 显式线程

  • 同样,Adobe Flex 具有出色的属性、事件和数据绑定实现。
  • 声明性语言,比如 MXML,确实是描述表单的更好方法(本质上是 MVC 模式中的视图)。它比完成相同任务的等效命令式 ActionScript 代码更简洁,因此更清晰。MXML 脚本的层次结构也很自然地与视图的面板/小部件构造相匹配。
  • With Flex RIA approach, the MVC pattern can be implemented completely on the client tier. Web frameworks that implemented MVC in the middle-tier - with the presentation layer executing in the remote client-tier, was a fundamentally flawed approach to MVC. MVC should be done right at the tier that is directly user-facing. (Once again, Adobe Flex does things right architecturally.)
  • Despite that HTML/DOM/JavaScript is considered the pervasive standard of the Internet web, the Adobe Flash player is actually a more ubiquitous and consistent standard - spanning different browsers and operating system platforms. The HTML/DOM/JavaScript standard is in actuality a fragmented mess that grows more fragmented everyday as Google and Microsoft drive different directions on things regarding the web browser. Adobe Flash player ends up being a wonderful end-run around this dilemma. It's a great programming experience for the coders and has sufficient ubiquity for the business suits.
  • Adobe is smartly well supporting the major platforms of Windows, Mac OS X, and Linux. They pay special attention to the Linux platform. This will pay off in the long term as developers are already settling on Linux to do their development from, and it's used extensively for servers hosting their middle-tier. Adobe's recent 64-bit Flash player for Linux is just a marvel. They already have AIR 1.5 available on Linux. They are doing a decent job there of supporting the platform that the developers care about.
于 2008-12-24T20:29:17.357 回答