當前位置:編程學習大全網 - 源碼破解 - 國內有多少 iOS,Android 和 Windows Phone 開發者

國內有多少 iOS,Android 和 Windows Phone 開發者

越來越多的開發者希望開發iOS (66.9%)和Windows Phone (45.4%)。在Android 上開發的熱度反而有所下降。 Windows Phone 作為壹個新的平臺還是很受開發者關註。

從友盟覆蓋的開發者/開發商數據來看,開發者的應用分布為: 75.62% Android, 60.52% iOS, 40.11%是IOS & Android 雙平臺。很多開發者在產品規劃的時候都會考慮多個平臺, 然後選擇壹個平臺先推出產品。 跨平臺開發對開發者的技術實力也是壹個挑戰

Windows Phone是微軟公司在2010年發布的智能手機操作系統,目前最新版本是Windows Phone 8.0,在市面上能見到的是Windows Phone 7.5(Mango和Tango),下面,從開發者角度,分幾個方面對比他們的不同。

壹、硬件

iOS與Windows Phone系統都為閉源操作系統,而且對於硬件解決方案,微軟和蘋果都有苛刻的要求,蘋果自己設計CPU,然後找代工廠商生產,而且通信芯片也是非高通不用,這也是中國移動壹直無法引入蘋果定制機的壹個重要原因。

在微軟方面,微軟的CPU解決方案也全部來自於高通,運行Windows Phone 7.5的設備幾乎都采用了高通MSM8255T,而從目前發布的運行Windows Phone 8的設備看,基本也都采用了高通驍龍S4雙核處理器。

蘋果和微軟這樣做對於開發者和用戶都是有很大好處的,從開發者角度來講,保證了設備的硬件統壹,便於測試。從用戶的角度來講,使得設備的質量得到保證,不會出現“我能用的軟件,他用不了”的現象。

而安卓由於開源,各大設備生產廠商都壹套自己的硬件解決方案,比如Samsung有Exynos,NVIDIA有Tegra……而且這些眾多的CPU解決方案中,還有許許多多的架構版本劃分,有的基於ARM9,有的基於ARM A15……這樣就使得安卓平臺硬件不能得到統壹,雖然“百家爭鳴”的場面不錯,但對於開發者來講,測試軟件非常不利。有的安卓軟件可能需要幾十種安卓設備才能算是開發完成,有時有壹部設備出現運行問題,就需要修改很多代碼。對於用戶來講,首先選購設備時就夠受的了,使用的時候,也經常出現“妳的Galaxy S3可以玩這個遊戲,我的One X怎麽不行呢”的現象。

二、操作系統內核

iOS基於Unix,類似於蘋果的Mac OS X,但內核不完全壹樣,Android基於Linux,兩個平臺可以統稱為Unix-like(類Unix)系統。而Windows Phone在7.0和7.5的時代延續了Windows Mobile所采用的微軟自家的嵌入式操作系統——Windows CE(Compact Edition),雖然在Mango和Tango上Windows Phone的滑動表現出色,但壹些新的功能,如多核心處理器、HD級別屏幕等都無法支持,所以微軟對Windows Phone 8直接采用了和Windows 8壹樣的內核——Windows NT 6.2,而Windows RT(Windows 8 ARM版,用於平板電腦)也采用了這個內核。所以說微軟在壹定程度上做到了3大平臺上的核心統壹,這對於開發者來講,移植軟件的過程就變得簡單,C#後臺+XAML前臺,類WPF的開發模式將會是微軟平臺未來開發的最近選擇!

iOS和Windows Phone的內核是不開放的,在安全性上也是勝過安卓壹籌的,不過對於開發者來講,由於系統不開放,很多接口無法獲得,自然壹些和系統關聯比較密切的功能也就無法實現。目前iOS好在用的人比較多,也有專門的黑客組織進行破解,所以普通用戶和開發者可以對系統進行比較深的定制,而Windows Phone就沒有這麽幸運了,最多可以自由部署應用罷了,系統沒什麽可改的。而在這方面,Android的優勢就體現的比較明顯,開發安卓應用完全免費,部署在自己的手機上也不需要任何費用,網上發布也比較自由,當然,也有很多在Android上能做到,在其他兩個平臺上做不到的軟件被開發出來,甚至國內的移動應用開發大賽都只要Android平臺上的作品。

三、開發條件

為了開發三大主流平臺的應用,應了解他們的前期準備,當然,Android是成本最低的,隨便壹臺配置說的過去的計算機,Eclipse,Android SDK,就能滿足基本開發需求了,如果需要發布,沒有固定的市場,更不需要什麽開發者賬號,不過這樣對於開發者的收入是個不利因素,幾乎不能靠軟件來軟件,最多就是些廣告。

Windows Phone需要壹臺PC,Visual Studio(有針對於開發者的Express免費版),Windows Phone SDK,如果需要發布到微軟Marketplace,還需要開發者賬號,普通的開發者賬號$99/年,不過只要能搞到以.edu.cn結尾的大學郵箱,可以免費申請學生賬號,不過Windows Phone軟件的收入分成也是不錯的,開發者:微軟=2:8,而蘋果是3:7。

iOS開發就麻煩壹點,必須可以運行Mac OS X,加上iPhone SDK,Objective-C的相關IDE,可以滿足基本的開發需求,不過為了上傳到AppStore,每年99美金的開發者費用且沒有類似微軟的學生賬號,讓有的人望而卻步。

四、軟件運行方式

在iOS和Windows Phone平臺上,每個程序都有壹個SandBox(沙箱)和其他的程序分隔開,增強了安全性,而且Windows Phone和iOS都是沒有真正意義上的後臺存在的,所以系統的優化都能做得很好,能保證軟件的流暢。而Android是帶有真正後臺的,所以有時候機子會比較慢,再加上安卓新系統的更新,雖然流暢度有所提升,但依舊吃資源夠狠,所以安卓手機的硬件性能不斷提高,就是希望通過改善硬件水平來提升用戶體驗,其他兩個平臺就不需要這樣做。

Android和Windows Phone壹個采用Java,壹個采用C#或VB.NET,他們的運行都是需要壹個類似虛擬機的平臺來支持,Java需要JVM,C#和VB.NET需要.NET Framework和CLR,而iOS程序使用Objective-C,類似C/C++的運行機制,所以效率可能更高壹點。

對於不同的系統運行機制,作為開發者,也應該對不同的機制做出不同的開發策劃,保證應用適合於相對於的系統,符合他們的特征。

五、開發語言及開發效率

(壹)對於普通的應用程序

iOS平臺使用Objective-C,是壹種由C語言發展而來的面向對象的語言,由蘋果公司自行研發,除了可以用來開發iOS應用,也可以作為Mac OS X桌面應用開發的語言,不過該語言風格較標準C有很大的差別,需要有壹定的適應時間,加之國內專門的培訓班較少,對於開發者來講,開發效率可能會受到壹些影響,除此之外,也有人利用Mono-Touch,在iOS平臺上使用C#進行開發。

Android平臺使用Java,Java跨平臺性好,可以在Linux、Windows和Mac OS X上幾乎不受阻礙的移植、運行,是壹種完全面向對象的語言,但Java執行效率差,程序運行速度慢,所以在Android平臺上的應用的體驗往往不及iOS。不過Java學的人很多,Android學習班也比較熱,學習、入門應該是很輕松的事,在開發效率上高於iOS。

Windows Phone平臺在7.0和7.5的時代只能使用C#和VB.NET語言進行開發,且不支持Sqlite數據庫,8.0發布之前的系統還不夠成熟,有很多功能不支持,而在8.0系統上,不但可以繼續使用C#和VB.NET進行開發,也可以使用C/C++進行本地化開發,可以自行編寫壹些類庫來使用。雖然大家都認為.NET平臺運行效率差,但在Windows Phone這樣微軟自己平臺上,微軟的優化還是做得很到位的,本人壹直在用Windows Phone手機,並沒有感到卡頓的現象,體驗良好。而且C#是這幾個語言中開發最簡單,最容易上手的語言,加上和Windows 8的優良結合,微軟平臺的開發將更加便捷。

(二)對於遊戲

iOS和Android都使用了OpenGL來進行3D遊戲的設計,OpenGL開源,用的地方也比較多,而且iOS與Android目前的占有量大,所以OpenGL的學習也是比較輕松的。

而微軟采用了基於DirectX的XNA架構來供開發者使用,而我們平常所玩的桌面遊戲幾乎沒有壹個不用到DirectX框架的,這樣,開發者的工作就更簡單。

六、開發前景

目前AppStore已經發布了大概70萬的應用,Android應用也達到60萬款,對於新的開發者,壓力比較大,而Windows Phone還只有10萬多的應用數量在Marketplace上,還有很長的路要走,帶給新的移動開發者更多的機會。

  • 上一篇:《武媚娘傳奇》這部片子怎麽樣?
  • 下一篇:春天的花草
  • copyright 2024編程學習大全網