2011
04.18


今天去參加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的投影片給大家參考:


相關文章:
  • Adobe Open Screen Project啟動
  • iPhone上的ActionScript 3.0 API參考程式
  • 神奇的UISaveVideoAtPathToSavedPhotosAlbum 的 12950 Error Code
  • Apple上傳app時招遇 An error occurred uploading to the iTunes Store 的解法
  • iOS 5之回不去了 – UIPopoverController的怪地雷
  • 本文引用:
    文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。

    10 comments so far

    Add Your Comment
    1. 請問你知道有哪些手機支援Adobe AIR嗎?有哪些硬體需求嗎?

      最近想踏入app這塊,但是不清楚有哪些手機支援

      感激不盡

      • 這可能要去查Adobe官方資料比較準確.
        不過基本上都是可以run的, 因為他會被包起來.

    2. CameraUI (AIR 2.7) for iOS有一個不小的issue在,那就是無法知道照片的方向,所有拿到的照片都會視為是橫式

      • 第三方解決方案為了要通用性還是不能要求太多, 但是簡單的App需求算是夠用了.

    3. "可以啊, 只是不支援在他的safari上跑.
      請問這是指用AIR開發出來的ios APP不能在Safari上跑是嗎?

      • app跟safari的關聯不大, 正確的說法應該是swf不能在safari上跑.

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

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

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

      • 我也很期待下一版AIR的演進。

    5. 用 AIR 開發 iPhone 的 App 真的可以上架在 App Store 嗎? Apple 不是不允許 Adobe 踩界的嗎?

      • 可以啊, 只是不支援在他的safari上跑.