本文章將一系列的介紹關於Flex在4.5版本之後所支援的Mobile專案與一般網頁專案之差別,以及在撰寫必須注意的事項,並且在文章的後半部會對mobile新功能做一些入門的介紹。
一、
Mobile與網頁、桌面版本的差異
平台
|
內容
|
網頁
|
使用瀏覽器的FlahPlayer運行SWF檔案
|
桌面
|
使用標準的AIR運行在電腦
|
行動裝置
|
使用標準的AIR運行在手機或平板
|
1.
因為螢幕大小受到限制,通常會將應用程式在一個時間只有一個畫面,必須將程式設計很多個畫面來操作。
2.
不管在平板或是手機
CPU 與 GPU 效能是有限的。
3.
使用者介面可能在不同解析度或是不同平台使用。
4.
因為記憶體有限,所以必須很小心的使用元件的使用及創建。
基於以上幾點,在建立Mobile程式的時就不是簡單的將解析度降低成不同解析度這樣而已。
二、
Mobile元件使用表
Component
|
Component
|
Use in mobile?
|
Spark ActionBar
Spark BusyIndicator
Spark TabbedViewNavigator
Spark
TabbedViewNavigatorApplication
|
Spark View
Spark ViewMenu
Spark ViewNavigator
Spark
ViewNavigatorApplication
|
Yes
|
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
|
Yes
|
Other Spark skinnable
components
|
Discouraged
|
|
Spark DataGrid
|
Spark RichEditableText
Spark RichText
|
Discouraged
|
MX components other than
Spacer and charts
|
No
|
|
MX Spacer
|
Yes
|
|
MX chart components
|
Yes, but with performance
implications
|
三、
Mobile為我們準備一定可以使用的元件
Controls
|
BusyIndicator (new
component)
Button ButtonBar CheckBox HSlider Image (BitmapImage is also supported) Label List (supports touch scrolling, includes scroll indicator) RadioButton / RadioButtonGroup TextArea TextInput |
Layout
|
DataGroup
Group HGroup Scroller (supports touch scrolling, includes scroll indicator) Spacer TileGroup VGroup |
Charts
|
All
|
四、
Mobile為我們準備一定可以使用的元件
在移動設備中皮膚(skin)不直接的支援MXML格式。在普通的Web專案中,我們可以為元件創建MXML皮膚,這樣的好處是快速方便,而且可以使用MXML圖形為我們省很多事,壞處就是因為MXML元件結構的複雜性,在移動設備上容易引發性能問題。所以對於移動專案,建議只能使用ActionScript為元件創建皮膚。
在圖片使用上片,盡量的使用點陣圖,如果真的要使用類別的向量圖也盡量使用原生的FXG向量圖,為什麼不要使用向量圖呢?這是因為在移動設備上,記憶體與處理器都是受限制的,我們因該減少執行時渲染計算。
因此我們必須自己為我們的移動設備自定義皮膚(Skin),這在後面的[自定義Mobile皮膚]一篇中會提到。
沒有留言:
張貼留言