为何选择 Flex 和 PHP
正如一位欧洲同事所说“这是个问题!”。我们有个问题,您希望获得答案。是的!估计您无法马上获得答案。并不是我要戏弄您,而是因为 Flex、PHP 或 Flex 和 PHP 集成有太多东西可言。
什么是 FLEX?
言归正传!让我们从头开始:到底什么是 Flex(相信每个人现在都知道什么是 PHP 了)?
最简单的回答是:Flex 只是创建在 Adobe Flash Player 上的 Adobe Flash Professional 中创作的应用程序的另一种方法。Flex 应用程序被编译为 SWF 文件,后者由 Flash Player 在浏览器中进行播放。我们为什么需要另一种方法,创建在 Adobe Flash Player 上的 Adobe Flash Professional 中创作的应用程序?这些应用程序通常使用 Flash Professional 创作工具创建而成。观察这个工具后,您会发现它主要面向设计人员。您可以找到一个舞台、一个时间轴和一些绘制工具等。
开发应用程序时,您关心工作效率,需要组件,希望能通过重用代码尽可能简化开发,最后一点也是最重要的一点,您需要一个新式 IDE。
因此回答可以改为:Flex 是一个开放源代码框架,它可以帮助开发人员快速创建在 Flash Player 或 Adobe AIR 中运行的富 Internet 应用程序 (RIA)(有关内建 UI 组件的列表,请参阅图 1)。随着 Flex 2、Flash Player 9 和 ActionScript 3 的推出,这个框架的样子与现在相差不远。最新版本是 Flex 4。

图 1.内建 UI Flex 组件
为何选择 FLEX?
借助 Flex,您可以为 Flash Player(Web 应用程序)或 Adobe AIR(桌面应用程序)创建应用程序。但是,为 Flash Player 或 Adobe AIR 构建应用程序有何优势?
恩,至少有两个原因:RIA 和上下文应用程序。
如果将 Web 应用程序与桌面应用程序进行比较,您可以得出以下结论:
- Web 应用程序之所以酷是因为只要有浏览器和 Internet 连接就可以使用它们。它们的分发和维护成本更低,因为只要使用新版本更新服务器,所有客户端都将自动更新。
- 桌面应用程序之所以酷是因为它们提供出色的 UI 体验,同时对用户操作响应很快。
这两个分类都有自己的强势。如果有第三个分类,它将 Web 应用程序的范围及可用性与桌面应用程序的丰富性及响应性结合在一起,那不是很酷?其实这个分类已经存在(2002 年 Macromedia 第一次使用这个术语),它称为富 Internet 应用程序。借助 Flex,您可以轻松构建 RIA。
从 2002 年诞生以来,RIA 不断发展。第一个用例是面向大众的应用程序。近年来,我们看到 RIA 在企业领域的防火墙后方得到越来越多的应用。在企业中使用 RIA 方法意味着投资回报率更高。图 2 和图 3 中可以看到如何使用 RIA 实施一个用于收集撞车相关数据的简单表单。您可以创建一个用户界面,由用户选择车辆、描述损坏情况并“绘制”事故现场,而不是提供多个要求用户键入大量信息的文本区域。

图 2.RIA 方法

图 3.RIA 方法
有人可能认为如果您使用 Flex 构建应用程序,用户将无法使用它,因为他们未安装 Flash Player。事实并非如此,因为多年来互连的计算机中有 98% 装有 Flash Player。
它的妙处在于:作为 Flex 开发人员,您不必担心采用不同 JavaScript 和 CSS 实施的浏览器,也不必担心同一浏览器在不同操作系统之间的差异。借助 Flash Player,您可以利用其跨操作系统和浏览器的一致性。
那么上下文应用程序*呢?上下文应用程序“的特点是它们能根据不同的应用程序上下文调整显示和性能,包括多个操作系统、平台和设备;多样及不断改变的网络类型;以及特有的用户期望和个性化”。
上下文应用程序的一个好示例是纽约时报的 Times Reader*(请参阅图 4 和 5)。这是一个使用 Flex 创建的 Adobe AIR 应用程序,它可以运行于桌面、便携式计算机、个人计算机、平板电脑和手机上。它具备脱机支持(您可以在断线时阅读新闻,因为新闻已保存到本地)。它可以使内容适应屏幕大小(它可以增加或减少栏数,从活动屏幕中删除图片和文章以适应目前的屏幕大小)。

图 4.Times Reader 运行在 HP 的 Slate 平板电脑上

图 5.Times Reader 运行在我的便携式计算机上
最后,我希望在案例中加入我正在构建的 Mobile world。越来越多人拥有智能手机并使用这些设备开展不久前只能用于连网的便携式计算机或台式机的活动。这一趋势只有一个发展方向:向上!不久以后,通过移动设备访问 Internet 的人数将超过通过计算机访问的人数。那么为这些设备构建应用程序的情况如何?恩,说得委婉一些,这是一场噩梦。实际上这并不是某个人的错误!那么多公司制造那么多设备,所以每个平台都有特定的方式(Symbian、Web OS、BlackBerry、Android、Windows Mobile 和 iPhone)。
Adobe 在 2010 年推出针对移动设备的 Flash Player 10.1 和 Adobe AIR 2(Android 和 BlackBerry 首当其冲;对于 iPhone,您可以使用下一版 Flash Professional 将 Flash 打包为本机应用程序)。我们仍在努力创建适合移动设备的 Flex 框架*。一旦拥有它,您就可以将现有的 Flex 体验用于移动领域。
FLEX 和 AJAX
Flex 和 AJAX 都是客户端技术,两者都可以用于创建 RIA 或“增强”现有的 Web 应用程序。与 Flex 相似,AJAX 应用程序通常在渲染初始响应后向服务器发出请求,一旦服务器回复该调用,将响应注入现有页面。
Flex 是一个为 Flash Player 或 Adobe AIR 构建应用程序的应用程序框架,而 AJAX 是指一个包含 JavaScript、HTML 和 CSS 的技术集合。使用 AJAX 时,您通常使用一个框架(Ext JS、Dojo、jQuery 和 Prototype 等)。您这样做主要是为了应对 JavaScript/HTML/CSS 的浏览器实施之间的差异。
虽然这样,最终还是需要您来选择要使用哪种技术。如果您喜欢使用动态、弱类型、基于原型的语言,您可能更喜欢 AJAX。如果您具备 JavaScript 经验并且不希望学习新语言,您还是会选择 AJAX。如果您喜欢强类型、OOP 语言、新式 IDE 功能,您可能更喜欢 Flex。与 AJAX 相比(即使新增了 HTML 5),Flex(和 Flash Player)提供更高的灵活性和更多功能。但是,并不存在哪个比另一个更好的说法。它还是要取决于项目性质、您的经验等因素。
事实上,有人同时使用两种技术做到了仅使用其中一种无法做到的。
FLEX 与 PHP 的华尔兹
Flex 是一种客户端技术;PHP 是一种服务器端技术。这两种技术都相当成熟:您可以为想得到的任何任务或应用程序类型找到工具、框架和库以及文章/示例。
它们都是开放性的,都具备最低门槛:理解它们所需的时间。将 Flex 或 Adobe AIR SDK 与 PHP 结合使用无需任何成本,将运行时(Flash Player 或 Adobe AIR)及 Web 服务器与 PHP 结合使用也是如此。
如果您习惯于使用 IDE 编写代码,您可以购买 Flash Builder 和 Zend Studio,为 Flex 和 PHP 项目创建一个强大的设置(这些 IDE 都基于 Eclipse 并且可以安装在同一个 Eclipse 实例上)。
最后一点,您能创建更出色的应用程序,能使用文本、视频、声音、动画、手势和多触创建丰富的用户界面,能创建实时协作应用程序,能跨操作系统和设备(计算机、智能手机、平板电脑)使用相同的技术和工作流程...并做到乐在其中。
关于作者
Mihai Corlan是Adobe的一名平台传教士,专注于Flex、AIR、Flash Builder以及Flex/PHP的集成。在此之前,他是Flex Builder领域的"计算机专家"。加入Adobe之前,Mihai是InterAKT在线(于2006年被Adobe收购)的一名资深开发者 ,参与开发web产品,例如e-shop、电子通讯、调查问卷或者web开发者试用的开发工具。访问Mihai的博客*。
本文深入探讨了Flex和PHP在构建RIA和上下文应用方面的优势,以及如何通过Flex实现高效、跨平台的富Internet应用程序与适应不同上下文的应用程序,同时结合PHP提升Web应用的动态性和功能。通过Flex,开发人员能够构建在FlashPlayer或AdobeAIR上运行的丰富界面应用,而PHP则提供了强大的服务器端支持,二者结合可创造功能强大、用户体验卓越的Web与桌面应用。
715

被折叠的 条评论
为什么被折叠?



