“Android first”并不適合所有人?
Android 占有的市場(chǎng)份額最高,并且已經(jīng)日趨成熟。對(duì)于移動(dòng)市場(chǎng)開(kāi)發(fā)者來(lái)說(shuō),它是一個(gè)不可忽視的平臺(tái)。但是,作為一個(gè)初創(chuàng)公司,是否應(yīng)該首先為 Android 開(kāi)發(fā)呢?
視頻聊天應(yīng)用 Hoot 的開(kāi)發(fā)者 Christina Capioppo 在個(gè)人博客上分享了經(jīng)驗(yàn)。她認(rèn)為,Android 已經(jīng)成為一個(gè)強(qiáng)大的開(kāi)發(fā)平臺(tái),但是“Android first”并不適合所有人。
在市場(chǎng)上,Android 設(shè)備眾多,系統(tǒng)版本也各不相同。在 Hoot 發(fā)布十周后,已經(jīng)有 1600 種不同的機(jī)型使用過(guò)這個(gè)軟件。由于 Google 提供了良好的工具,用來(lái)管理不同擁有尺寸和功能的設(shè)備,應(yīng)用的使用中并沒(méi)有出現(xiàn)什么問(wèn)題。另外,Android 版本之間的分裂也并不是那么夸張。你可以將其視為兩個(gè)版本:Android 2.x(Gingerbread)占 28% 的市場(chǎng)份額,Android 4.x(ICS,Jelly Bean,KitKat) 占 72% 的市場(chǎng)份額。
如果你是初創(chuàng)公司的開(kāi)發(fā)者,你應(yīng)該忽略 android 2.x 的設(shè)備。這些設(shè)備通常是老設(shè)備,而且缺乏許多必要的功能。讓一款應(yīng)用同時(shí)運(yùn)行在 2.x 和 4.x 上并不容易,但是 Android 4.x 各版本之間的向后兼容性比較好,而且有些開(kāi)源的項(xiàng)目,可以彌補(bǔ)它們之間的分裂。
這并不是說(shuō) Android 開(kāi)發(fā)是一帆風(fēng)順的。對(duì)于開(kāi)發(fā)者來(lái)說(shuō),最糟糕的情況是硬件開(kāi)發(fā)商對(duì) Android 的修改,而且沒(méi)有留下任何文檔。它們破壞了 Android 的 API,而且加大了設(shè)備之間的差異。當(dāng)開(kāi)發(fā)者想要使用特定硬件,比如攝像頭、GPS、重力感應(yīng)器的時(shí)候,硬件商的這些改動(dòng)會(huì)帶來(lái)很多麻煩。這也意味著,許 多開(kāi)發(fā)者會(huì)避免與特定硬件打交道。
當(dāng) Christina Capioppo 和同事一起開(kāi)發(fā) Hoot 的時(shí)候,并不了解 Android 平臺(tái)的具體情況。他們看到的是,在 Play Store 中沒(méi)有 Hoot 這樣的應(yīng)用。Hoot 利用了許多的硬件功能,包括各種感應(yīng)器、攝像頭、網(wǎng)絡(luò)連接等等。當(dāng)他們與有經(jīng)驗(yàn)的開(kāi)發(fā)者交流的時(shí)候,才了解到 Hoot 上的一些功能是他們敬而遠(yuǎn)之的。如果早日了解到這一點(diǎn),他們或許會(huì)首先開(kāi)發(fā) iOS 應(yīng)用,或者做出一個(gè)完全不同的 android 應(yīng)用。
今天我們談?wù)?ldquo;Android vs iPhone”,但是我認(rèn)為,我將很快將 iPhone 與“Google Android”、“三星 Android”、“亞馬遜 Android”、“小米 Android”做對(duì)比。我們將會(huì)計(jì)算不同 Android 的市場(chǎng)份額。或許還會(huì)出現(xiàn)在一些提供開(kāi)發(fā)者工具的公司,讓開(kāi)發(fā)者在不同的 Android 之間移植應(yīng)用。
Android 無(wú)疑是一個(gè)值得開(kāi)發(fā)的平臺(tái),但是,對(duì)于初創(chuàng)公司來(lái)說(shuō),選擇哪個(gè)平臺(tái)需要看自身的情況。移動(dòng)平臺(tái)要有助于他們發(fā)現(xiàn)適合的市場(chǎng)。為初創(chuàng)公司規(guī)定一個(gè)首先開(kāi)發(fā)的平臺(tái),對(duì)他們并沒(méi)有幫助。
對(duì)于早期階段的初創(chuàng)公司來(lái)說(shuō),移動(dòng)平臺(tái)的選擇與其它事情一樣,都要?dú)w結(jié)于一個(gè)簡(jiǎn)單的規(guī)則:構(gòu)建一個(gè)出色的產(chǎn)品已經(jīng)很難了,初創(chuàng)公司應(yīng)該利用自己所有的優(yōu)勢(shì)。對(duì)于某些人來(lái)說(shuō),那是在 android 上開(kāi)發(fā);對(duì)于另一些人來(lái)說(shuō),那是在 iOS 上開(kāi)發(fā)。
小編評(píng)論:小編并不認(rèn)同本文的觀點(diǎn),按照文章所說(shuō)的硬件差異的問(wèn)題,Android First并不是適不適合,而是還沒(méi)準(zhǔn)備好,其標(biāo)志就是開(kāi)發(fā)者仍然需要和這些底層硬件API打交道。事實(shí)上,java的特點(diǎn)就是提供標(biāo)準(zhǔn)API,屏蔽硬件差異,Android顯然也秉承了這樣的思想,但是目前的開(kāi)發(fā)環(huán)境沒(méi)有能做到這一點(diǎn)。另一種方法是利用跨平臺(tái)工具,如Xamarin是一個(gè)用C#實(shí)現(xiàn)的移動(dòng)跨平臺(tái)開(kāi)發(fā)工具,其中就將二維碼生成和掃描功能進(jìn)行封裝,只需要通過(guò)簡(jiǎn)單的代碼就能調(diào)用,在這里底層硬件差異不是開(kāi)發(fā)者需要考慮的問(wèn)題,而是Xamarin的維護(hù)者要考慮的問(wèn)題。