• 【Abode Air程序开发】移动设备、桌面和浏览器应用程序开发的差异


    移动设备、桌面和浏览器应用程序开发的差异

    浏览器 
    将应用程序部署为 SWF 文件,以用于在浏览器中运行的 Flash Player。

    桌面 
    为桌面计算机(例如 Windows 计算机或 Macintosh)部署独立的 Adobe AIR 应用程序。

    移动设备 
    为移动设备(例如手机或平板电脑)部署独立的 Adobe AIR 应用程序。

    Flash Player 运行时与 Adobe AIR 运行时类似。在两个运行时中可以执行的操作大部分都相同。除了允许在浏览器外部署独立的应用程序之外,Adobe AIR 还提供了与主机平台的紧密集成。通过这种集成可以实现许多功能,例如访问设备的文件系统、创建和处理本地 SQL 数据库,等等。

    在移动设备应用程序中使用 Spark 和 MX 组件的限制

    在 Flex 中创建移动设备应用程序时,将使用 Spark 组件集。Spark 组件是在 spark.components.* 包中定义的。但由于性能原因,或者由于并非所有 Spark 组件都具有移动设备主题外观,移动设备应用程序并不支持整个 Spark 组件集。

    除 MX 图表控件和 MX Spacer 控件外,移动设备应用程序不支持在 mx.* 包中定义的 MX 组件集。

    下表列出了在移动设备应用程序中可以使用、不可以使用或需要谨慎使用的组件:

    组件

    组件

    能否用在移动设备程序中?

    说明

    Spark ActionBar

    Spark BusyIndicator

    Spark Callout

    Spark CalloutButton

    Spark DateSpinner

    Spark SpinnerList

    Spark SpinnerListContainer

    Spark TabbedViewNavigator

    Spark TabbedViewNavigatorApplication

    Spark ToggleSwitch

    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 功能:

    • 不支持拖放操作

    • 不支持 ToolTip 控件

    • 不支持 RSL

    移动设备应用程序在性能方面的注意事项

    由于移动设备在性能方面的局限性,移动设备应用程序的某些开发环节与浏览器和桌面应用程序的开发不同。下面是一些性能方面的注意事项:

    • 以 ActionScript 编写项呈示器

      开发移动设备应用程序时,您希望使列表滚动具有尽可能高的性能。以 ActionScript 编写项呈示器可以获得最高的性能。尽管您可以使用 MXML 编写项呈示器,但这样可能会降低应用程序的性能。

      Flex 提供两个项呈示器,且已优化为适合在移动设备应用程序中使用:spark.components.LabelItemRenderer 和 spark.components.IconItemRenderer。有关这些项呈示器的更多信息,请参阅 Using a mobile item renderer with a Spark list-based control

      有关以 ActionScript 创建自定义项呈示器的更多信息,请参阅 Custom Spark item renderers。有关移动设备和桌面项呈示器之间不同点的更多信息,请参阅 Differences between mobile and desktop item renderers

    • 使用 ActionScript 和已编译的 FXG 图形或位图开发自定义外观

      Flex 4.6 附带的移动设备外观采用带有已编译 FXG 图形的 ActionScript 编写,可提供最高的性能。您可以使用 MXML 编写外观,但应用程序的性能可能会有所降低,具体取决于使用 MXML 外观的组件数量。要获得最高的性能,请以 ActionScript 编写外观并使用已编译的 FXG 图形。有关更多信息,请参阅 Spark Skinning 和 FXG and MXML graphics

    • 利用使用 StageText 的文本输入组件

      添加 TextInput 和 TextArea 之类的文本输入组件时,请使用默认值。这些控件将 StageText 用做文本输入的基础机制,这种机制会挂接到本机文本输入类。这提高了性能,并允许您使用自动纠正、自动大写、文本限制和自定义软键盘等本机功能。

      使用 StageText 也有一些缺点,如不能滚动控件所在的视图等。另外,也不能使用嵌入字体,不能对基于 StageText 的控件使用自定义大小调整。如有必要,可以使用基于 TextField 类的文本输入控件。

    • 在移动设备应用程序中谨慎使用 MX 图表组件

      可以在移动设备应用程序中使用 AreaChart 和 BarChart 等 MX 图表控件。但它们会影响性能,具体取决于图表数据的规模和类型。

  • 相关阅读:
    【BZOJ4915】简单的数字题(数学)
    【BZOJ2140】稳定婚姻(匈牙利算法板子题)
    【BZOJ2739】最远点(决策单调性)
    【AT3526】[ARC082C] ConvexScore(贡献转化+容斥)
    【CF1264D2】Beautiful Bracket Sequence(组合数学)
    【洛谷2561】[AHOI2002] 黑白瓷砖(Polya定理)
    【洛谷3511】[POI2010] MOS-Bridges(混合图欧拉回路)
    【洛谷4226】避难所(构造)
    【洛谷7453】[THUSCH2017] 大魔法师(线段树+矩乘)
    【洛谷3207】[HNOI2010] 物品调度(置换问题)
  • 原文地址:https://www.cnblogs.com/huty/p/8517747.html
Copyright © 2020-2023  润新知