2011
04.18
04.18
今天去參加AS讀書會,
最主要當然是去聽Maso在AIR應用於Mobile上的經驗,
人家繳了這麼多學費與時間去玩踩地雷開發,
當然小弟我就等著灌頂就行啦。 XD
因為我自己是直接走Objective-C和Java的路來開發iPhone和Android,
所以以下內容是Maso大師與我個人經驗的整合。
目前在AIR上可開發的平台至少可以當紅的iPhone和Android手機,
你只需要準備Adobe CS5.5或是Flex 4.5就可以進行開發了。
另外當然該繳的保護費是一定要繳的,
因為繳了以後你才到App Store上面燒殺擄掠販賣。
費用如下:
- Apple $99/年
- Google $25/(終身榮譽會員?)
AIR目前在手機上有支援的功能:
- Accelerometer 重力加速度感應器
重力加速度感應器就可以吃到裡面的X, Y, X軸的加速度,
有沒有支援陀螺儀就不知道了。 - Geolocation 地理資訊系統
這個相信大家都不陌生,啟動後就可以不斷的更新地理資訊,
你就可以拿到經度, 緯度的資料,
雖然沒特別說在Event Object中有哪些屬性,
我相信裡面應該會有。 - Mulititouch 多點觸控
老實說多點觸控是一個非常難搞的東西,
AIR2.5只收到兩個點2的資訊,
AIR 2.6就要看到時候實測的狀況了。 - Gesture 手勢辨認
AIR目前支援的首是有rotation, zoom, pan, swipe,
現場只提到這幾個,但是其實在iPhone的手勢不止這些,
若是用Objective-C還可以辨識長按之類的手勢。 - StageWebView HTML網頁內嵌
簡單來說就是直接將網頁內嵌在Mobile當中,
但可惜的是webview不能在畫面上重疊,
關於這點就沒有原生code方便了。
AIR 2.6提供了一個功能可以支援將網頁截取成Bitmap的資料。 - Microphone與Camera
目前的寫法跟在以前在Flash中是一樣的,
所以恭喜各位妳就直接開寫就可以了。 - CameraUI與CameraRoll
這兩個是用來操作取得相機相片用的UI,
基本上算是很單純的狀況,沒有特別好說的。 - flash.desktop.NativeApplection 多工/Idle
像是退出應用程式或是進入應用程式,
都可以直接從API上控制與取得他。 - Keybord.BACK / Keyborad.MENU (Android專用)
這個當然在iPhone上是不能用的,
因為在iPhone上只有Home可以用,
所以記得這個功能就只有支援Android使用而已。 - Event.RESIZE 旋轉
很可愛的,當AIR吃到Reize事件時就可以知道目前手機的轉向,
所以這算是蠻簡單易懂的做法。 (前提:你對ActionScript的機制熟悉的話)
接下來大家最關心的應該還是效能的問題:
這個我就有經驗了,
因為我之前都會幫忙做Embed系統,
像這種低階的裝置,基本上跟Mobile是相同的,
有很多技巧是要能省就省,
依照我的經驗有經驗的開發者與一般的開發者,
可能在上面開發出來的效率會差到10倍之多。
依照Maso他個人的經驗分享,
目前AIR在Mobile上做動畫的呈現效能會非常的糟糕,
若是要在AIR開發遊戲的話,
看來是要有心理準備了。
好啦,今天就寫到這邊收工了,
再次感謝Maso的分享。
補上Maso的投影片給大家參考:
Air on Mobile (2011)
View more presentations from Maso Lin
相關文章:
本文引用:
文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。
文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。



請問你知道有哪些手機支援Adobe AIR嗎?有哪些硬體需求嗎?
最近想踏入app這塊,但是不清楚有哪些手機支援
感激不盡
這可能要去查Adobe官方資料比較準確.
不過基本上都是可以run的, 因為他會被包起來.
CameraUI (AIR 2.7) for iOS有一個不小的issue在,那就是無法知道照片的方向,所有拿到的照片都會視為是橫式
第三方解決方案為了要通用性還是不能要求太多, 但是簡單的App需求算是夠用了.
"可以啊, 只是不支援在他的safari上跑.
請問這是指用AIR開發出來的ios APP不能在Safari上跑是嗎?
app跟safari的關聯不大, 正確的說法應該是swf不能在safari上跑.
那個限制老早就已經拿掉了,你的資訊要更新了
iPhone只是不支援flash而已,但Adobe是透過LLVM的方式把AIR轉換成原生的ipa,用類似方法的開發工具太多了,如corona、unity、unreal,這些開發工具在app store上面的作品都非常多,如最近很紅的憤怒鳥,就是用corona開發的,samurai2就是用unity開發的,所以你不用擔心所謂的「踩線」問題
只是目前AIR的效能還是比上面講的工具要差一些,還有對手機功能的支援也差一些,寫一些不太重效能還有不碰觸到系統底層的應用程式我覺得是足夠,但如果要開發遊戲,恐怕要評估評估
但由這幾版AIR的改版在效能及功能上的提升,我相信未來adobe一定可以克服這些問題(遠目)
我也很期待下一版AIR的演進。
用 AIR 開發 iPhone 的 App 真的可以上架在 App Store 嗎? Apple 不是不允許 Adobe 踩界的嗎?
可以啊, 只是不支援在他的safari上跑.