2010/9/10

Flash for iPhone之「回來就好,其他都不重要」

100064263

今早最讓Flash developer們注意的新聞莫過於Apple 對iOS app tools的解禁。有種「沉冤得雪」,或是「回來就好,其他都不重要」(註1)的感覺。在此整理一下個人對這件事的心得及蒐集到的相關資料。

註1:「回來就好」此語出自James在我噗裏的回文,感覺相當貼切微妙。

1.解禁的只是App開發tool,並不是Browser的Flash Player
很多人看到「Apple 對Flash解禁」的標題就會High過頭,但請注意這只是對app開發tool,而不是Browser Plugin。當初在Flash CS5裏的Package for iPhone本來就是配合著iOS的方式,生成符合iPhone格式的.ipa檔案,再用合法的方式上架。基本上對整個App store生態本來就不會有太大的影響(有也只是app量的增加速度),一切其實都很安份合理的,所以這也是當時3.3.1條款出現時,為什麼Flash Developer們很不能認同,因為禁得十分不合理。

而當時賈伯斯則指出,3rd tool效能差等等之類的言論做為解釋。我個人覺得如果效能不好,應該就會被市場機制淘汱了吧,有必要在開發階段就禁止大家用什麼工具嗎?然而最好笑是當時還有不少Apple教義派(註2)跟著幫腔好一陣子。

另一方面,如果今天是說「開放Browser plurgin Flash Player」,我個人覺得這才是比較有影響力的一步。因為這會影響App Store裏許多與現有Web Flash Content類似的App,其次也會影響目前User在選擇購買 iOS與Android間的判斷條件。

註2:當時常有人著文開頭就寫「先聲明我不是蘋果教義派,不過…」但實質上就是在賣一堆蘋果週邊產品的Blog/網站,根本就是超級大信徒,看了就很好笑。

2.Flash做為App開發工具的競爭力又如何?
首先談效能,Flash Package for iPhone(以下簡稱PFI)在3G上實測很差,3Gs上還ok,iPhone4我還沒試過,但如果是以同樣1G cpu的Nexus One來參考的話,個人覺得還算可以期待,至少在開發一些小Game,小Tool時,1G cpu上跑起來還算不錯。

另外我覺得效能問題,也會隨著硬體逐年的加強而慢慢降低,但不絕不會消逝。因為再怎樣Flash永遠比不上原生的obj-c效能好。所以未來有可能會有一大堆Flash做的小品在App Store上,只有大作強作才會是用obj-c來寫。而話說回來,在手機平台上,小品game的市場其實不見得就會比大作來得小。

再來談對系統API的支援。不知是不是之前被Apple氣到的關係,Flash在轉往Android後,API的加強突飛猛進,尤其近幾個月中加入好幾個實用的API,如相機相簿、WebView、存取檔案、P2P…等等,雖然還是不夠多,但光這些其實就能玩出許多花樣了。
但可惜的是,這些API都是PFI 版所沒有的,查詢一下最後一版的PFI,仍只有Accelerometer, GPS, MultiTouch三個比較能說嘴的API。所以如果要讓PFI成為有競爭力的開發工具的話,至少API的部份要加強到像目前for Android版本一樣才行。這點可以在未來幾個月持續關注Adobe Prerelease網站裏的消息。總之能support的API愈齊,工具的競爭力才愈高,目前的PFI還很弱就是了。

3.真的可以上架了嗎?
也許有些人還會存疑,會不會這只是玩文字遊戲,口頭說不擋,但實際上架時再給你卡關呢?好險賈伯斯霸道歸霸道,說話倒是算話,說禁就是禁,說開就是開,沒在玩文字遊戲。在消息發佈後沒多久,就有Flash Developer在Twitter上寫道之前一直審核不過的Flash app突然過關了。另外像這款這款,也都是Flash開發的,不約而同也都在今天上架/更新了。所以看來應該是無誤的了。

4.所以這之後會有什麼影響
最大受惠當然還是廣大的Flash開發眾,對大家來說是原來被關的門,現在又打開了。這樣的狀況下,可以想見未來會出現許多用Flash開發的小App小Game入侵App Store市場,而這些app會不會表現得很好?到時自然會分明。
目前可以想到的是將來很多Web Flash的案子,客戶可能會多問一句:「能不能做手機版」(其實現在就常在問了),而設計公司可以大聲回答說「ok啊~再加XXXX錢,就可以了」;或是很多原本對Obj-C頭痛(像我),或是根本沒在學Obj-C的人,也開始在個人profile的skill 上多加一條「iPhone app開發能力」,照這樣發展下去,我想iPhone app的外包案件價格也會備受影響吧,以往可能可以報價XXXX錢,之後可能會是XXXX 減 N 的錢了(真是不妙)。

寫一次code可同時跨Web/Android/iPhone,這還是Flash目前最大強項(Unity 3D雖然也有web player,但安裝率太低),所以其實影響比較大還是其他的app開發工具,尤其像是Corona SDK, PhoneGap這類的打著「簡單易學」口號的3rd Tool,都應該會被這事有所影響。未來這些Tools會怎麼樣競爭;Adobe會怎樣重啟PFI的開發,也或者將來又出現什麼更厲害的3rd Tool,則是我個人比較期待的。