2010-07-06 116 views
9

有沒有人對此比較做過博客,或者有人想在這裏做一下嗎?很高興看到一些推理關於Android上的Adobe AIR與「本機」Android SDK(Java)的想法。Android SDK與Adobe AIR:優點和缺點?

編輯:儘管一些看法,並沒有答案,我在這裏留下了這個問題,因爲這是一個需要在某個時候被覆蓋的話題......但如果得不到重視,我會在刪除幾天。

回答

11

我認爲它最終非常類似於是否將AIR或Java用於桌面應用程序的問題。最終它歸結爲三點:

  1. 是否AIR做你需要的一切?顯然,android SDK爲您提供了對設備功能的完全訪問權限,但AIR故意不會保持便攜性。例如,AIR可能不支持意圖,至少在最初(我不認爲Adobe已經公佈了一種或另一種方式)。另外,AIR需要Android 2.2。如果這些限制很麻煩,常規的android SDK可能是最好的。

  2. 您是否希望做出一些非常適合在Flash中執行的操作?如果您打算使用動畫,視頻,聲音等設計繁重的應用程序,那麼在Flash中構建它可能比使用Java更容易。另一方面,如果您的應用程序將只使用標準的可視化組件的純代碼,那麼它可能不會對您使用的平臺產生任何影響。或者在緊握的手中,如果你有現有的Flash動畫或類似的東西,那麼試圖將它們推到Java應用程序中會很麻煩。

  3. 您是否針對Android以外的其他平臺?如果是這樣的話,AIR可能是一個巨大的勝利,因爲相同的應用程序內容應該運行在Windows,Mac,Linux和其他設備上,計劃支持AIR的其他設備,如黑莓,一些電視機,藍光光盤播放器等。如果您只是針對Android,AIR可能會失去一些吸引力。

我希望能幫到一些。實際上,除非你有效地鎖定在使用AIR之外,因爲你需要的東西它不給你,或者有效地鎖定使用AIR,因爲你在做設計繁重的工作,並且需要工具,那麼我認爲專業人士和這兩個SDK的缺點主要是方便的問題。無論哪種平臺都可以工作,所以這隻能使您以最快,最可靠的方式進入終點線。

+0

很棒的回答。關於你的結論,我希望你不會這麼說:) +1 – 2010-07-08 12:29:47

+0

哦! http://en.wikipedia.org/wiki/On_the_gripping_hand_(idiom) – 2010-07-08 18:38:16

5

需要考慮的一個問題是與Android設備的兼容性。智能手機和低價手機都運行在Android上,但它們並沒有相同的功能。即使您的應用程序很簡單,或者可以在AIR中完美地完成,其相關內容也會提及AIR不適用於所有Android設備。

目前銷售的一些非常受歡迎的設備(如Samsung ACE和其他「便宜」設備)使用ArmV6芯片,即使使用Android 2.2或更高版本,AIR或Flash也不兼容此架構。

AIR很有趣,因爲相同的開發工作在不同的技術中,但是考慮到AIR不能在「舊」iPhone上運行,它只能保證使用大型處理器的新技術。

檢查這篇Adobe鏈接http://www.adobe.com/flashplatform/certified_devices/

AIR應該在你的技術決定,如果在你的要求,你的目標儘可能多的手機成爲可能,包括那些不那麼花哨的或新的排除。

+0

好東西,謝謝瑪麗亞。 – 2011-09-22 14:48:00

5

當我構建AIR的本機擴展時,我主要對AIR有經驗,而對Android SDK很少。我對AIR的最大障礙是它不成熟,它是錯誤的,而且它的行爲不一致。是的,你可以在adobe.com上看到閃亮的頁面,看看AIR有多酷......所有的亮點都包含了大量的功能,這些功能似乎滿足你的所有需求。然而,一旦你開始構建你的應用程序,你會發現許多醜陋的驚喜:

  1. 階段文本工作不正常。 link除了這個bug外,StageText還有其他一些bug,比如Scroller中的行爲。

  2. Sound()對象不播放流(它只在模擬器上執行)。 link

  3. 缺乏像AEC這樣的功能使得AIR對整個聊天應用程序無用,因爲您會聽到回聲和尖叫聲。 (我希望Apache的人會從0改寫它,使它更易於管理)。

  4. iOS設備上沒有H264支持:link(是的,我知道這是蘋果公司的問題,他們希望控制其平臺上的高清傳輸,但它仍然是Adobe的問題,因爲他們無法爭取正確的技術前列)。

  5. 聲音對象不需要可變的bidrate(只有44.1KHz是可能的)。在16Khz閃存「第二代」Speex編解碼器採樣。現在,嘗試通過聲音回放,你會享受一個有趣的馬戲團。最後,你需要編寫你自己的upsample算法。

我相信人們會在列表中添加更多。所以,我的回答是本地SDK更可取任何嚴重的。你不會像一個QA人一樣工作 - 測試無數小例子,試圖理解爲什麼AIR功能無法正常工作,洗牌互聯網尋找答案並查看AIR錯誤數據庫......只是發現重要的錯誤在發佈之前坐在那裏釋放。這是我使用AIR的經驗。使用原生SDK可以使您的應用程序不是真正的「跨平臺」,但是AIR SDK無論如何都不能聲稱這個標題是對於更嚴重的情況,然後是「員工目錄」示例。如果您需要爲其他平臺構建,則只需使用本機工具即可。 GLP。

GL。

+0

謝謝,偉大的觀點。 – 2012-06-20 00:05:25