我们想像这样一个世界,每一种数字交互(无论在教室、办公室、住所、机场还是汽车中)都是一种强大、简单、有效的美妙体验。Flash Player正被广泛用于提供这种体验,并且已经发展成为了一个跨浏览器、操作系统和设备的尖端平台。.
驱动Adobe进行Flash Player革新和开发的主要动力之一是看到了开发人员正在拓宽可能的开发边缘,从而允许更多开发人员来完成这项工作。
回望2001年的机器,你会看到网络正在被广泛使用并且网站的早期标志不仅包含页面而且包含交互式应用程序。这些应用程序最初使用HTML表单并依赖于网络服务器来处理表单信息。少数前沿的开发人员正致力于在Flash中使用ActionScript以利用客户端处理的优点实现更加灵敏的交互作用。成功的交互应用程序的最早示例之一是BroadmoorHotel的宾馆预订系统,它从一个多页的HTML表单转移到一个单屏的高度交互的预订界面,从而使其网上预订增加了89%。
很显然,灵敏度是关键。它能创造一种更加有效而美妙的体验。然而,在2001年的时候对于性能、脚本语言的能力、易于调试以及设计受限于浏览器(是为查看页面而不是主机应用程序而产生的)几方面都生产了大量要求。
我们曾想过很多办法并且广泛地和开发人员对话,同时决定着手这一任务以实现这种趋势,并将其归类命名为“富互联网应用程序(RIAs,Rich Internet Applications)”。为了更好地支持RIAs,我们把目标定为建立:
在FlashPlayer中的一个大大提速的ActionScript 3.0虚拟机
一个叫做Flex的开发框架,以便从根本上更加易于创建RIAs
一个特别为富互联网应用程序提供完整能力的环境,称为Adobe集成运行环境(AIR,Adobe Integrated Runtime)。在dot—com泡沫破碎期间,我们着眼于实现富互联网应用程序这一未来世界
我们继续投入于开发各种技术并为即将再次爆发的网络革新做准备。革新之日已经全面回归,并且我高兴地看到富互联网应用程序正和Web 2.0一起盛行起来。开发人员正在运用各种技术和框架来创建应用程序,这些技术利用了互联网的分布式创造性,还利用了HMTL、Flash、Flex、Ajax的优点以及客户端和服务端之间的平衡逻辑。
全新的虚拟机现在已经提供于Flash Player 9中,使得ActionScript 3.0的运行得到重大提速并且依据ECMA语言标准实现了大部分最新工作(JavaScript遵循相同的标准)。这一新式的实现现在也和Mozilla Foundation一起随Tamarin项目进行开源发行,以使得Flash Player团队和Mozilla工程师以及其他的人一起工作在开源社区,来继续优化该虚拟机并和最新的标准工作保持一致。这一核心的脚本引擎将随时间而包含于Firefox中,从而达到在HTML和Flash中脚本的一致性。
目前开发框架也已经随着Flex发布了,它允许通过常用模式来快速开发交互和数据管理,并且整个框架都建立在ActionScript 3.0上。Flex框架可以免费获得,并且该框架源代码也包含其中以使得你可以具体查看它是如何工作的。你可以利用任何编辑器来使用Flex编写代码,并且一个叫做Adobe Flex Builder的具体IDE也可以使用了。
在见证了网络革新的回归和追求于这一梦想的同时,我们决定通过Adobe和Macromedia来统一这些努力。然而Macromedia是用Flash来驱动RIAs的,Adobe正在变革电子文档在其他领域的传递。随着时间的推移,我们看到Macromedia将给RIAs添加电子文档能力并且Adobe将为整个电子文档添加RIA能力。我们联合各种力量实现下一代文档和RIAs的梦想,将世界上最好的电子文档技术和世界上最好最普及的RIAs技术结合起来,而不是分散地走这些路线和进行重复劳动。这是一次难以置信的强大结合。..
在我们宣告这一合并之后,我们创建了一个“静室(Clean Room)”团队策划下一代软件,利用目前为止我们所知的一切,包括在新的Adobe AIR环境中为RIAs将Flash、PDF和HTML结合在一起的可能性。
AIR项目事实上是我们为创建这一全新环境的第三次尝试。前两次尝试是一个叫Central的实验项目的一部分,该项目代号为Mercury,在美国太空计划之后为Gemini,而AIR代号为Apollo。我们从前两个项目中学到了很多,我喜欢这样提醒团队成员,Apollo是真正到达月球的一个。
使用AIR,你可以运用你已有的网络开发技巧(Flash、Flex、HTML、JavaScript、Ajax)来创建并部署RIAs到桌面上。正如网络发布允许任何人使用基础的HTML技巧创建一个网站,AIR也允许任何人使用基础的网络开发技巧来创建一个桌面应用程序。
作为一名开发人员,你现在能够和你的用户建立起更加紧密的联系。使用浏览器,你可以和你的用户有一个短暂的不甚密切的联系。他们浏览一个页面然后离去。AIR允许你创建一个体验从而能够保持你和客户的持续联系。和桌面应用程序一样,AIR应用程序在桌面上、Windows开始菜单中或者OS X dock中都有一个图标。同时,当你运行一个网络应用程序的时候,它是一个和你的计算机相分离的世界。你不能轻易地把本地数据和你的网络应用程序整合在一起,例如,你不能仅仅通过拖动Outlook联系方式并将其置于基于网页的地图应用程序中来获知朋友的家的方向。然而使用AIR应用程序你就可以,因为它在计算机和互联网二者的分歧之间架起了桥梁。
我相信AIR代表着一种全新媒介的开始。并且建立这些应用程序是很有趣的事。如果你早点开始,它就能使你的应用程序具备其他人所没有的能力——特别是增加你的应用程序在计算机上的出现次数以及在网络和桌面之间进行连接。
这些RIAs的核心是ActionScript语言,无论它们运行在浏览器的Flash Player中,还是通过AIR作为一个桌面应用程序,或是用在移动设备上。ActionScript语言的每一代都已经被Colin Moock详尽地描述在这一系列的O'Reilly书中,并将成为大多数Flash开发人员案头常备参考书。使用ActionScript 3.0,你将拥有空前的能力来创建迷人的应用程序,而具有这本参考书则能使你凭借深入的理解来有效地使用这一能力。
我期待看到你创建的东西并提前领略下一代应用程序。持续推进在互联网上可能开发的边缘会使全世界人的体验更加美妙而有效,并且我们将尽最大的努力继续带来更多迷人之处和能力以助你一臂之力。...
——Kevin Lynch
.Adobe高级软件架构师
2007年于圣·弗兰西斯科