開發者的心聲 分別寫給喬布斯和佩奇的信
大家期待的5月份 Google I/O 開發者大會 Android 3.1 冰激凌圣代(Ice Cream Sundae)和六月蘋果的 iOS 5又將掀起智能手機的新浪潮,但是從最近 PlayBook 的***輪評測來看,真正重要的也許不是你設備的硬件有多強悍,而是支持你系統的各種應用。這也就是開發者們所要關注的。
截止目前,蘋果的 App Store 和 Android 的 Market 兩大應用商店的應用數量分別已突破35萬和25萬,但應用數量的增長是否意味著這兩大系統平臺得到了應用開發者的認可?或者說這兩大系統的架構真的有利于開發者快速便捷的開發出好的應用軟件?
這里有兩封來自國外應用開發者的信,分別寫給蘋果的喬布斯和福斯托以及谷歌的佩奇和羅賓,我簡單的翻譯一下,供大家參考:
寫給 史蒂夫•喬布斯 和 斯科特•福斯托 的信
Steve Jobs (and Scott Forstall)
One Infinite Loop
Cupertino, CA
USA 95014
親愛的史蒂夫:
請給我們垃圾回收機制(Garbage Collection),我知道這并不輝煌,我知道用戶是看不出哪里有區別的(除非應用程序崩潰,或者他們費勁兒升級的時候),但是這卻與 iOS 的 SDK密切相關,包括編輯器,庫還有Objective-C。它們本身是很棒的,它的內存管理是從上世紀80年代就有的。最近一同事在談到他***次看到 iOS 發展的時候驕傲的說:“等一下,十年后會是什么樣?”那感覺就像開著一輛剎車由拉達(Lada)制造的法拉利。
內存管理機制,淺顯的說,就是一個設備在它的應用程序無限的虛擬內存需求中分享自己有限的物理內存。每個現代的開發環境都有一種自助服務-那個干最多粗活的“垃圾回收機制”,但仍然會遇到存儲問題,相信我,但至少目前你不必刻意去分配和釋放你想使用的每塊內存,免得引出既難發現又難修復的 Bug。
有些人稱垃圾回收機制是為了弱者而不是 Apple,OS X 已經有這個很多年了。也有另一些認為,在有限資源的移動設備上那是無法工作的,或者說至少在 Android 和 WebOS 出現之前。因為 Android 和 WebOS 從產生時就實現了垃圾回收。
這或許有點兒像多任務操作的的爭論。在2009年,人們就問:“為什么 iPhone 不能像 Android那樣多任務操作?”果粉們就辯解說多任務不好,是惡魔!到2010年,蘋果宣布:“ iOS 4.0支持多任務!”果粉們又說我們一直喜歡多任務!當然,真正的純粹者還是會指出那時的iOS并不像 Android一樣有著真正的多任務。
親愛的史蒂夫,請給我們像 Android 一樣真正的多任務操作。
親愛的史蒂夫,請盡可能在非Mac的其他計算機上實現 iOS 應用的開發。不僅僅為我自己,也為了你,因為在接下來的十年里會有三十億發展中國家的人民購買智能手機,他們想要那些與他們文化和生活方式貼近的應用軟件,即那些來自他們文化和生活方式中的人們開發的應用。而且,如果你是一個來自貧窮但新興的市場環境中的開發者,你愿意花200美元開始寫Android 的應用,還是為了開發iOS應用花1000美元,而那僅僅是個開始。實際上,這個問題我已經說了很多年,但是您卻從未聽取過,史蒂夫。這真是一個遺憾,因為我也希望你精巧高貴的 OS/SDK 也能在世界剩余的那部分取得勝利。
那也就是說,我對您全球稱霸的做法表示懷疑。
親愛的史蒂夫,
我真的是不想抱怨App Store,但是發布一個Android應用只需要5分鐘,在這里卻花費了5天。但是如果因為企業文化的不同,我也是能夠尊重的(如果您能縮減到1天那也是很不錯的)
您那深鎖的封閉系統,開發人員幾乎根本觸碰不到,但您能開放例如藍牙的部分功能嗎?要知道藍牙在被控制的情況下用于游戲是多么酷的。但是擺在首位的問題是,讓我們用藍牙給其他設備傳輸數據如何?
Thanks in advance,
Jon.
PS I’d really settle for just the garbage collection.#p#
寫給 拉里•佩奇 和 安迪•羅賓 的信
Larry Page (and Andy Rubin)
1600 Amphitheatre Parkway
Mountain View, CA
USA 94043
親愛的 拉里,
我們需要談談。
不要誤會我,總體來說我愛Android勝過 iOS。誠然,我們得用Java去寫你的應用,雖然那不是我喜歡的語言。相對于蘋果給我們的那成熟封閉的開發環境,包括debugger等等在內的開發工具是非常粗糙的。我可以忍受那些怪異,盡管如此,對于開發者最重要的也是開發者夢想著的環境應該是—強大,靈活和開放的。
但是我們需要討論一下分裂問題。
設備的參差不齊真的糟糕透了。開發出在不同屏幕分辨率的手機下都能順暢運行的Android應用是件很好的事,卻令開發者苦惱不堪。Android 的UI實現已經成為了一種混亂和復雜的 Voodoo。這就是為什么有很少的應用能在Android手機上運行的和iPhone一樣的流暢。從無法完全貼合在一起的樂高積木中,是出不來藝術品的。而這種情況可能要變得更糟,如果 Android 3.1 同時支持手機,平板甚至TV。所以,
親愛的 拉里,
請讓開發出有吸引力和受歡迎的Android應用變得簡單。是的,如果您跳過一百個圈那在今天是可能的,但是如果把數字削減到10個呢?
相對于真正的分裂問題,這只是個小抱怨。我指的是開放系統,還有運營商。
當蘋果發布新的操作系統,它的每一個蘋果設備都可以立即得到支持。為什么Android不能那樣?因為有運營商在前面擋著。他們給設備加載有刺激性卻無用的東西,用他們自己的劣勢版本替換掉重要的原生架構(殘缺的藍牙協議棧等),而且永遠在新設備中使用新系統
運營商為何要這樣做?就像塔利班一樣,他們討厭我們的自由。因此,通過他們自己的平臺版本分布圖,33%的Android仍然運行著Android 2.1(15個月前發布的)或者更老的系統版本。所以,我們開發者仍然不情愿去寫帶有Android 2.2 新功能的應用,更沒想過2.3或者3.1。這對我們不好,對您也不好。
Dear Larry,
Please set your people free.
Thanks in advance,
Jon.
PS You totally should have gone with that unlocked $99 Nexus One plan.
【編輯推薦】