|
Nokia和Microsoft 終于搞基成功,業(yè)內(nèi)人事普遍都看好兩家廠商的“軟硬結(jié)合”。這一結(jié)局直接把Windows Phone 7 這一新興手機(jī)移動(dòng)操作系統(tǒng)送到與如日中天的 iPhone 與 Android 在同一位置上,變成了三國(guó)之勢(shì)。究竟兩家公司的合作是 " No - Win " 還是 "Win - Kia " 這里不做討論,只能引用我們瓷器國(guó)的某些專家常用的語(yǔ)言來(lái)說(shuō):這兩家公司的合作有可能贏、有可能輸,具體贏輸要看最后的結(jié)果才知道~~~囧~~!當(dāng)然還有Symbian, Meego, RIM, webOS和三星的 Bada 甚至還有基于 Android 的 Ophone ,但以上這些還未形成氣候,暫時(shí)不做考慮。
我們所關(guān)心的問(wèn)題是做為一個(gè)想轉(zhuǎn)入做移動(dòng)開(kāi)發(fā)的程序面對(duì)這三大操作系統(tǒng)【Android 、 WP 7 、ios】該如何選擇一個(gè)平臺(tái)讓自己有所發(fā)展?首先我們來(lái)對(duì)比一下三大平臺(tái)。
編程語(yǔ)言
Android 應(yīng)用是用 Java 語(yǔ)言編寫(xiě)的,當(dāng)然還有jni的編程方式,使用C/ C++,但主要的還是使用 Java 。許多開(kāi)發(fā)人員通過(guò)熟練掌握 Java 語(yǔ)言在企業(yè)中獲得了職位 ,因此為 Android 平臺(tái)開(kāi)發(fā)應(yīng)用很自然地適合這些人。就語(yǔ)言特性而言,有過(guò)C# 等熟悉面對(duì)象開(kāi)發(fā)語(yǔ)言的程序員,要學(xué)習(xí)Android 開(kāi)發(fā)也是可以的,因?yàn)?Android 用的只是Java的語(yǔ)言基礎(chǔ),最重要還是要看思想。
ios 應(yīng)用是用蘋(píng)果的 Objective-C 語(yǔ)言編寫(xiě)的,Objective-C 語(yǔ)言是一種包含Smalltalk語(yǔ)言元素的非標(biāo)準(zhǔn)C語(yǔ)言。有過(guò)C/C++開(kāi)發(fā)經(jīng)驗(yàn)的程序員可以比較好的轉(zhuǎn)向ios開(kāi)發(fā),但還會(huì)在開(kāi)發(fā)過(guò)程中遇到一些小障礙。
Windows Phone 7 應(yīng)用是用微軟的C#語(yǔ)言編寫(xiě)的,有過(guò).NET平臺(tái)開(kāi)發(fā)的程序員想要學(xué)習(xí)WP7開(kāi)發(fā),相信難度不大。如果你之前是Silverlight 、WPF開(kāi)發(fā)者那恭喜你,你可以很快速的學(xué)好 Windows Phone 7 開(kāi)發(fā)。
三大平臺(tái)都使用的不同的語(yǔ)言編寫(xiě),Android 之所以選擇Java 語(yǔ)言,無(wú)非是看中Java 編程語(yǔ)言排行首位的優(yōu)勢(shì),想迅速的收獲大批開(kāi)發(fā)者,而另外的兩個(gè)平臺(tái)卻使用自家的編程語(yǔ)言,相信也是無(wú)可厚非。這一結(jié)果直接導(dǎo)致在三種平臺(tái)的開(kāi)發(fā),不能寫(xiě)一套代碼就能解決。當(dāng)然有很多工具可以使它們使用不同語(yǔ)言開(kāi)發(fā)AP,比如Mono可以讓C#跨平臺(tái),Rhomobile的Rhodes、Nitobi的PhoneGap、Appcelerator的 Titanium和Ansca的Corona等。
然而這些仿真器卻不是最佳方案,因?yàn)檫\(yùn)行一個(gè)兼容性框架會(huì)過(guò)度消耗性能在有限的移動(dòng)處理能力上,這是用戶所不能接受的。
封閉系統(tǒng)VS 開(kāi)放系統(tǒng)
Android:眾多OEM廠商都選擇了Android,正是看中了其足夠開(kāi)放,可供定制個(gè)性化的系統(tǒng)。并且Android有著不僅是手機(jī)操作系統(tǒng)的豐富產(chǎn)品線:智能電視、車載設(shè)備、家庭安防、家庭物聯(lián)、物流設(shè)備等。這就給開(kāi)發(fā)者更多選擇的機(jī)會(huì),就業(yè)機(jī)會(huì)也會(huì)大大增加。但由于其足夠開(kāi)放,導(dǎo)致了手機(jī)平臺(tái)的不統(tǒng)一,規(guī)格不一,導(dǎo)致開(kāi)發(fā)者在開(kāi)發(fā)一款應(yīng)用時(shí)所要維護(hù)的時(shí)間會(huì)比另外兩個(gè)平臺(tái)花費(fèi)的時(shí)間要多得多。
ios: 作為蘋(píng)果的移動(dòng)操作系統(tǒng),該平臺(tái)一直是封閉的,是專門為蘋(píng)果自己的設(shè)備創(chuàng)建的,開(kāi)發(fā)人員有己知的目標(biāo)設(shè)備范圍,有明確的功能和局限性范圍。而jobs 也說(shuō)過(guò),作為ios開(kāi)發(fā)者只需要考慮兩個(gè)版本的維護(hù)。說(shuō)過(guò)產(chǎn)品線性,ios有iPhone、iPod Touch 、iPad這三個(gè)平臺(tái)可以作開(kāi)發(fā),其中iPhone和iPod Touch是一致的,而iPad 屏幕尺寸較大,只需在iPhone的基礎(chǔ)上調(diào)整好應(yīng)用的尺寸即可,當(dāng)然屏幕大小導(dǎo)致用戶體驗(yàn)不同,對(duì)應(yīng)的AP會(huì)也不同。
Windows Phone 7:微軟這一系統(tǒng)明顯是借鑒了ios的開(kāi)發(fā)模式,也是一封閉系統(tǒng),他只支持兩種屏幕大小,所以要維護(hù)自己的AP也是比較輕松的。目前該平臺(tái)只做手機(jī)平臺(tái)而存在,市面上并沒(méi)有其他各類的產(chǎn)品使用該系統(tǒng),開(kāi)發(fā)者選擇性會(huì)小點(diǎn),但好在與Nokia合作市場(chǎng)不用擔(dān)心 。
學(xué)習(xí)資源和測(cè)試工具
提高開(kāi)發(fā)速度也是開(kāi)發(fā)者選擇一個(gè)平臺(tái)衡量的重要標(biāo)準(zhǔn)。
Android 是一個(gè)開(kāi)源的產(chǎn)品,有眾多的樣本應(yīng)用和開(kāi)源應(yīng)用提供下載,但是沒(méi)有太多中文文檔,還有文檔不全也是它的一個(gè)缺點(diǎn),但有眾多開(kāi)源應(yīng)用這一優(yōu)勢(shì)學(xué)習(xí)AP開(kāi)發(fā)并且入門比較容易。IDE 使用 Eclipse,集成開(kāi)發(fā)環(huán)境有豐富的源代碼模型,而且源碼處理很好。不過(guò)Google在處理兼容性方面還需努力,有時(shí)候插件會(huì)死掉,但這個(gè)可以忽略,重啟IDE即可。
ios 蘋(píng)果向許多ios開(kāi)發(fā)人員提供了眾多開(kāi)發(fā)信息,包括多媒體式,甚至是有iPhone或者iPad的開(kāi)發(fā)者可以使用iBooks免費(fèi)下載開(kāi)發(fā)書(shū)籍。不過(guò)相對(duì)于國(guó)內(nèi)來(lái)說(shuō)比較心酸,都是些E文的東西,很難啃。IDE 方面,因?yàn)槲覀儧](méi)有用過(guò),但網(wǎng)上說(shuō)XCODE非常糟糕,用過(guò)的朋友可以說(shuō)說(shuō)。
Windows Phone 7 眾所周知,微軟在籠絡(luò)開(kāi)發(fā)者有一套手法,首先它的學(xué)習(xí)資源和文檔非常豐富。而且在我們國(guó)內(nèi)文檔有分中英文文檔,入門基本不是問(wèn)題。而且有WebCast這個(gè)視頻教育平臺(tái),MVP們通過(guò)自己的實(shí)踐經(jīng)驗(yàn)己視頻的方式傳授給大家,勝任WP7開(kāi)發(fā)基本沒(méi)問(wèn)題。IDE方面,這個(gè)不用我多說(shuō),有 Visual Studio 和 Expression Blend 這兩大神器。
展望未來(lái)
Android,被眾多OEM廠商擁抱,特別是國(guó)內(nèi)的山寨文化。未來(lái)前景將一片光明。而且它將改變很多目前的電器設(shè)備的使方式。用戶方面偏中、低,當(dāng)然高端用戶也存在較之ios要小。
ios,蘋(píng)果將繼續(xù)為其添加更多酷炫功能,并且引用到其他設(shè)備上。用戶方面還是搶占著高端用戶。
Windows Phone 7,微軟和諾基亞合作,諾基亞強(qiáng)大的硬件設(shè)計(jì)和優(yōu)秀的營(yíng)銷能力、微軟的軟件大牛,使得這一系統(tǒng)有很大的潛力和上升空間。
總結(jié)
如果開(kāi)發(fā)者單純想學(xué)習(xí)App開(kāi)發(fā),最好的選擇還是ios,營(yíng)利模式比較明朗,但是“須”有MAC機(jī)才能做開(kāi)發(fā),而不是必須,但最好是使用MAC機(jī)開(kāi)發(fā)。對(duì)于沒(méi)有MAC機(jī)的同學(xué),還有在I系列價(jià)格居高不下的情況下,建議同學(xué)選擇WP7開(kāi)發(fā),雖然市場(chǎng)營(yíng)利模式不明顯,但其潛力足夠大。而Android因?yàn)橛脩袅?xí)慣了免費(fèi),除了廣告的收入基本可以說(shuō)沒(méi)有其他收入。除非公司想做多平臺(tái)產(chǎn)品推廣,例如某一IM軟件、某一播放器、某一看書(shū)軟件、某一微博等。
但是如果開(kāi)發(fā)者想做差異化開(kāi)發(fā),做出有競(jìng)爭(zhēng)力的產(chǎn)品。不妨考慮一下Android ,軟硬結(jié)合的方式可以構(gòu)建出差異化的產(chǎn)品,但這條路的學(xué)習(xí)線路很漫長(zhǎng),必須上下層一起打通,沒(méi)有個(gè)幾年工夫很難成氣候。
開(kāi)發(fā)者可以想想自己需要什么,想做什么,這三個(gè)平臺(tái)都是很有發(fā)展空間的,找到自己合適的最重要。不管什么,移動(dòng)的時(shí)代來(lái)臨了。希望上述能對(duì)你投入移動(dòng)開(kāi)發(fā)有所幫助。
it知識(shí)庫(kù):移動(dòng)三國(guó)己然鼎立,普?通開(kāi)發(fā)者如何選擇開(kāi)發(fā)?平臺(tái)?,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。