使用 Flex 可以针对以下部署环境开发应用程序: 浏览器
将应用程序部署为 SWF 文件,以便在运行于浏览器内的 Flash Player 中使用。
桌面
针对桌面计算机(例如 Windows 计算机或 Macintosh)部署独立的 AIR 应用程序。
手机
针对移动设备(例如手机或平板电脑)部署独立的 AIR 应用程序。
Flash Player 运行时与 AIR 运行时类似。在两个运行时中可以执行的操作大部分都相同。除允许在浏览器外部署独立的应用程序之外,AIR 还提供与主机平台的紧密集成。通过这种集成可以实现许多功能,例如访问设备的文件系统、创建和处理本地 SQL 数据库,等等。 移动触摸屏设备的应用程序与桌面和浏览器应用程序有以下不同之处: 为了通过触控输入实现简便的操作,手机组件通常具有比桌面或浏览器应用程序中更大的点击区域。 在触摸屏设备上,滚动等操作的交互模式不同。 由于屏幕区域有限,因此手机应用程序通常设计为在屏幕上同时只显示少量的用户界面。 用户界面的设计必须考虑不同设备之间屏幕分辨率的差异。 相较于桌面设备,手机和平板电脑的 CPU 和 GPU 性能更为有限。 由于移动设备上可用内存有限,因此应用程序必须注意节约内存。 手机应用程序可以随时(例如在接听电话或短信时)退出和重新启动。 因此,构建适用于移动设备的应用程序不仅仅是将桌面应用程序缩小为不同的屏幕大小。通过 Flex,您可以针对每个外观因素分别创建适当的用户界面,同时在手机、浏览器和桌面项目之间共享基础模型和数据访问代码。 在 Flex 中创建手机应用程序时,将使用 Spark 组件集。Sprak 组件在 spark.components.* 包中定义。但由于性能原因,或者由于并非所有 Spark 组件都具有手机主题外观,手机应用程序并不支持整个 Spark 组件集。
除 MX 图表控件和 MX Spacer 控件外,手机应用程序不支持 mx.* 包中定义的 MX 组件集。 下表列出了在手机应用程序中可以使用、不可以使用或需要谨慎使用的组件:
组件 组件 能否用在手机程序中? 注释 Spark ActionBar Spark BusyIndicator Spark TabbedViewNavigator Spark TabbedViewNavigatorApplication Spark View Spark ViewMenu Spark ViewNavigator Spark ViewNavigatorApplication 是 这些新组件支持手机应用程序。 Spark Button Spark CheckBox Spark DataGroup Spark Group/HGroup/VGroup/TileGroup Spark Image/BitmapImage Spark Label Spark List Spark RadioButton/RadioButtonGroup Spark SkinnableContainer Spark Scroller Spark TextArea Spark TextInput 是 这些组件大部分都具有手机主题外观。尽管 Label、Image 和 BitmapImage 不具有手机外观,但也可以使用。
某些 Spark 布局容器(例如 Group 及其子类)不具有外观。因此,可以在手机应用程序中使用这些组件。 其他 Spark Skinnable 组件 建议不要使用 除上面列出的组件外,建议不要使用其它 Skinnable Spark 组件,因为这些组件不具有适用于手机主题的外观。如果组件不具有手机主题外观,您可以为应用程序创建一个外观。 Spark DataGrid Spark RichEditableText Spark RichText 建议不要使用 出于性能考虑,建议不要使用这些组件。尽管这些组件可以用在手机应用程序中,但这样做会影响性能。
对于 DataGrid 控件,性能取决于呈示的数据量。对于 RichEditableText 和 RichText 控件,性能取决于文本量及应用程序中的控件数量。 除 Spacer 和图表以外的 MX 组件 否 手机应用程序不支持 MX Button、CheckBox、List、DataGrid 等 MX 组件。这些组件对应于 mx.controls.* 和 mx.containers.* 包中的 Flex 3 组件。 MX Spacer 是 Spacer 不使用外观,因此可以用在手机应用程序中。 MX 图表组件 是,但存在性能隐患 可以在手机应用程序中使用 AreaChart 和 BarChart 等 MX 图表控件。MX 图表控件位于 mx.charts.* 包中。
但这会导致移动设备无法达到最佳性能,具体取决于图表数据的规模和类型。
默认情况下,Flash Builder 的手机项目库路径中不包含 MX 组件。要在应用程序中使用 MX 图表组件,请在库路径中添加 mx.swc 和 charts.swc。 手机应用程序不支持以下 Flex 功能: 由于移动设备在性能方面的局限性,手机应用程序的某些开发环节与浏览器和桌面应用程序的开发不同。下面是一些性能方面的注意事项: 以 ActionScript 编写项呈示器
开发手机应用程序时,您希望使列表滚动具有尽可能高的性能。以 ActionScript 编写项呈示器可以获得最高的性能。尽管您可以使用 MXML 编写项呈示器,但这样可能会降低应用程序的性能。
Flex 提供两个项呈示器,且已优化为适合在手机应用程序中使用:spark.components.LabelItemRenderer 和 spark.components.IconItemRenderer。有关这些项呈示器的更多信息,请参阅结合使用手机项呈示器与 Spark 基于列表的控件。
有关以 ActionScript 创建自定义项呈示器的更多信息,请参阅自定义 Spark 项呈示器。有关手机和桌面项呈示器之间不同点的更多信息,请参阅手机和桌面项呈示器之间的不同点。 使用 ActionScript 和已编译的 FXG 图形或位图开发自定义外观
Flex 附带的手机外观采用 ActionScript 编写,带有已编译的 FXG 图形,可提供最高的性能。您可以使用 MXML 编写外观,但应用程序的性能可能会有所降低,具体取决于使用 MXML 外观的组件数量。要获得最高的性能,请以 ActionScript 编写外观并使用已编译的 FXG 图形。有关更多信息,请参阅设置 Spark 外观以及 FXG 和 MXML 图形。 使用不依赖文本布局框架 (TLF) 的文本组件
许多 Spark 文本控件都依赖 TLF。如果在手机应用程序中使用 TLF 控件,会使性能受到影响。有关 TLF 的更多信息,请参阅关于 Sprak 文本控件。
Spark Label 控件不依赖 TLF。Spark TextInput 和 TextArea 控件具有不依赖 TLF 的手机主题外观。为获得最佳效果,请在应用程序中使用 Label、TextInput 和 TextArea 控件,但在编写自定义项呈示器时不要使用这些控件。在自定义项呈示器中,请使用 StyleableTextField 控件。有关更多信息,请参阅自定义 Spark 项呈示器。
Spark RichText 和 RichEditableText 依赖 TLF。使用这些控件可以显示丰富的内容,但会影响性能。 在手机应用程序中谨慎使用 MX 图表组件
可以在手机应用程序中使用 AreaChart 和 BarChart 等 MX 图表控件。但它们会影响性能,具体取决于图表数据的规模和类型。
分享到:
相关推荐
本文将探讨几种主流的Android浏览器及其特点,同时阐述Android应用程序开发流程和设计思路,以便理解手机浏览器在移动设备上的实现。 1. **主要浏览器对比** - **Opera Mini**:使用Opera自己的渲染引擎,页面经...
nw.js(前身是Node-Webkit)是一个基于Chromium和Node.js的桌面应用程序框架,允许开发者使用HTML、CSS和JavaScript来开发桌面应用。它结合了浏览器环境和Node.js的后端能力,使得开发人员可以在同一环境中处理GUI和...
标题和描述提到的项目提供了这样一个解决方案,它声称兼容所有浏览器以及各种手机浏览器,并且附带有测试程序,便于验证和理解其工作原理。 1. **PDF在线浏览的优势**: - **便捷性**:用户无需安装额外软件,只需...
Xcode集成了iPhone模拟器和内存检查工具Instrument等辅助工具,帮助开发者进行高效的应用程序开发。 总之,iPhone不仅是一款革命性的产品,其背后的开发环境和技术也代表了移动应用开发领域的最新进展。对于想要...
创建一个简单的浏览器程序是Xojo快速入门文档的一部分,旨在引导初学者快速了解如何使用Xojo进行应用程序开发。通过这个例子,用户可以学习到如何配置项目,如何通过图形界面添加控件,并且能够理解基本的编程概念,...
移动应用与桌面、浏览器应用程序开发存在差异,例如在屏幕大小、用户交互方式等方面都有所不同。搭建开发环境包括在Flash Builder中创建Android和iOS应用程序,以及创建ActionScript手机项目。开发者还需要设置手机...
在实际开发中,现在更常见的是使用JavaFX或Swing来构建桌面应用程序,或者使用Spring Boot等框架开发服务端应用程序,而不是Java Applet。然而,了解小程序与应用程序的概念和它们之间的关系对于全面掌握Java编程至...
在IT行业中,C#是一种广泛使用的编程语言,尤其在开发桌面应用、Web应用以及游戏等领域。本主题聚焦于“C#源码自动检测手机浏览器”,这涉及到如何利用C#编程来识别用户通过移动设备访问应用或网站时所使用的浏览器...
Chrome扩展是为了增强和自定义Chrome浏览器功能的一类程序,而Chrome应用则是在Chrome浏览器上运行的程序。两者虽然在某些情况下可以相互转换,但本质上有所区别。Google定义了这两种基于Chrome平台的程序,表明它们...
ASP.NET 2.0是一个强大的Web应用程序框架,它为开发人员提供了丰富的功能和工具,使得构建动态、交互式的Web应用变得更为简单。在这个系列教程中,我们将关注如何利用其内置的移动Web控件来构建能够适应不同浏览器和...
Java是一种广泛应用于...尽管如此,本文仍为从事Java开发的技术人员提供了宝贵的指导,帮助他们理解小程序与应用程序之间的差异,并指导如何将它们进行相互转换,进而扩展了他们对Java在不同平台和场景下的应用知识。
在IT领域,WinForm和WebForm是两种不同的应用程序开发模型,它们都是.NET Framework下的两种主要UI框架,用于构建桌面和Web应用程序。本文将详细探讨如何使用这两种技术实现一个对象浏览器。 对象浏览器是一种用户...
ASP.NET 2.0是微软发布的一个用于构建动态Web应用程序的框架,它提供了丰富的功能和工具,使得开发者能够更加高效地创建复杂的Web应用。在移动互联网兴起的背景下,ASP.NET 2.0不仅支持传统的桌面浏览器,还特别优化...
4. **.NET框架**: .NET框架提供了开发Web应用的全面解决方案,包括ASP.NET(用于Web应用程序)、Windows Forms(用于桌面应用程序)等。在Web桌面程序中,开发者可以利用ASP.NET建立后端服务,处理用户请求,存储和...
而 Electron 是一个开源框架,由 GitHub 开发,它允许使用 HTML、CSS 和 JavaScript 创建跨平台的桌面应用程序。Electron 利用了 Node.js 的能力,将 web 应用程序与本地功能结合在一起,实现了在桌面环境下运行 web...
虽然压缩包中仅有一个名为“简易浏览器v1_手机适应”的文件,但我们可以推测这可能是整个应用程序的可执行文件或者包含源代码的文件夹。若要深入研究其工作原理,需要解压文件并查看VB代码,分析其结构和逻辑。通过...
SWT(Standard Widget Toolkit)是Java编程环境中用于创建桌面应用程序的一种图形用户界面(GUI)工具包,由Eclipse基金会维护。它提供了丰富的控件和原生的外观,使得Java开发者可以构建与操作系统平台深度融合的...