Adobe AIR在智慧型手機(iPhone Android)的應用與限制

今天去參加AS讀書會,
最主要當然是去聽Maso在AIR應用於Mobile上的經驗,
人家繳了這麼多學費與時間去玩踩地雷開發,
當然小弟我就等著灌頂就行啦。 XD
因為我自己是直接走Objective-C和Java的路來開發iPhone和Android,
所以以下內容是Maso大師與我個人經驗的整合。

目前在AIR上可開發的平台至少可以當紅的iPhone和Android手機,
你只需要準備Adobe CS5.5或是Flex 4.5就可以進行開發了。

另外當然該繳的保護費是一定要繳的,
因為繳了以後你才到App Store上面燒殺擄掠販賣。

費用如下:

  1. Apple $99/年
  2. Google $25/(終身榮譽會員?)

 

AIR目前在手機上有支援的功能:

  1. Accelerometer 重力加速度感應器
    重力加速度感應器就可以吃到裡面的X, Y, X軸的加速度,
    有沒有支援陀螺儀就不知道了。
  2. Geolocation 地理資訊系統
    這個相信大家都不陌生,啟動後就可以不斷的更新地理資訊,
    你就可以拿到經度, 緯度的資料,
    雖然沒特別說在Event Object中有哪些屬性,
    我相信裡面應該會有。
  3. Mulititouch 多點觸控
    老實說多點觸控是一個非常難搞的東西,
    AIR2.5只收到兩個點2的資訊,
    AIR 2.6就要看到時候實測的狀況了。
  4. Gesture 手勢辨認
    AIR目前支援的首是有rotation, zoom, pan, swipe,
    現場只提到這幾個,但是其實在iPhone的手勢不止這些,
    若是用Objective-C還可以辨識長按之類的手勢。
  5. StageWebView HTML網頁內嵌
    簡單來說就是直接將網頁內嵌在Mobile當中,
    但可惜的是webview不能在畫面上重疊,
    關於這點就沒有原生code方便了。
    AIR 2.6提供了一個功能可以支援將網頁截取成Bitmap的資料。
  6. Microphone與Camera
    目前的寫法跟在以前在Flash中是一樣的,
    所以恭喜各位妳就直接開寫就可以了。
  7. CameraUI與CameraRoll
    這兩個是用來操作取得相機相片用的UI,
    基本上算是很單純的狀況,沒有特別好說的。
  8. flash.desktop.NativeApplection 多工/Idle
    像是退出應用程式或是進入應用程式,
    都可以直接從API上控制與取得他。
  9. Keybord.BACK / Keyborad.MENU (Android專用)
    這個當然在iPhone上是不能用的,
    因為在iPhone上只有Home可以用,
    所以記得這個功能就只有支援Android使用而已。
  10. Event.RESIZE 旋轉
    很可愛的,當AIR吃到Reize事件時就可以知道目前手機的轉向,
    所以這算是蠻簡單易懂的做法。 (前提:你對ActionScript的機制熟悉的話)

接下來大家最關心的應該還是效能的問題:

這個我就有經驗了,
因為我之前都會幫忙做Embed系統,
像這種低階的裝置,基本上跟Mobile是相同的,
有很多技巧是要能省就省,
依照我的經驗有經驗的開發者與一般的開發者,
可能在上面開發出來的效率會差到10倍之多。

依照Maso他個人的經驗分享,
目前AIR在Mobile上做動畫的呈現效能會非常的糟糕,
若是要在AIR開發遊戲的話,
看來是要有心理準備了。

好啦,今天就寫到這邊收工了,
再次感謝Maso的分享。

補上Maso的投影片給大家參考:

本篇發表於 AIR 與標籤於 anistar固定網址書籤。
本文引用:
文章內容為ANISTAR BLOG所有,引用分享請以鏈結形式註明出處與原始作者。

關於 anistar

現任:台灣區 Yahoo! 專長: Objective C、iOS SDK、Android SDK、Flex 4、RIA、ActrionScript 3、HTML5、CSS3、JQuery、JQuery Mobile、C++、PHP、MySQL...等整合運用。 著作:《Run!PC雜誌》專欄作家、《CADesigner雜誌》專欄作家、《Flash CS3 Professional ActionScript 3.0 打造互動設計力與美》、《新一代互動體驗Flex+AIR程式開發》。 認證:Macromedia Certified Instructor in ColdFusion    Adobe Certified Expert in Photoshop    Adobe Certified Instructor in Flex

12 則迴響於《Adobe AIR在智慧型手機(iPhone Android)的應用與限制

  1. 那個限制老早就已經拿掉了,你的資訊要更新了
    iPhone只是不支援flash而已,但Adobe是透過LLVM的方式把AIR轉換成原生的ipa,用類似方法的開發工具太多了,如corona、unity、unreal,這些開發工具在app store上面的作品都非常多,如最近很紅的憤怒鳥,就是用corona開發的,samurai2就是用unity開發的,所以你不用擔心所謂的「踩線」問題

    只是目前AIR的效能還是比上面講的工具要差一些,還有對手機功能的支援也差一些,寫一些不太重效能還有不碰觸到系統底層的應用程式我覺得是足夠,但如果要開發遊戲,恐怕要評估評估

    但由這幾版AIR的改版在效能及功能上的提升,我相信未來adobe一定可以克服這些問題(遠目)

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *