ios手機(jī)游戲編程,為什么2020年ios開發(fā)還堅(jiān)持使用objective?
我做 iOS 開發(fā)也有好多年了,目前也還在寫代碼。我自己是 OC 為主,用 Swift 開發(fā)過一些頁面,但是用的少。聊聊我的個(gè)人看法,歡迎交流討論。
先說我個(gè)人的結(jié)論:不使用 Swift,要么是開發(fā)者在這塊經(jīng)驗(yàn)較少,要么是所參與項(xiàng)目中不適合使用,這項(xiàng)技能也就弱化了。
下面從項(xiàng)目、團(tuán)隊(duì)(個(gè)人)以及語言的穩(wěn)定性方便分析下。
項(xiàng)目新項(xiàng)目:
新的項(xiàng)目沒有“歷史”負(fù)擔(dān),如果是有 Swift 開發(fā)經(jīng)驗(yàn)的個(gè)人或者團(tuán)隊(duì),一般會(huì)考慮使用新語言開發(fā)。但也不是一拍腦袋就用的,也要綜合評(píng)估。看項(xiàng)目的體量、核心組件庫支持情況、團(tuán)隊(duì)成員經(jīng)驗(yàn)等。
老項(xiàng)目:
因?yàn)槔享?xiàng)目基本都是 OC 開發(fā)的,有些項(xiàng)目隨著時(shí)間已經(jīng)迭代 N 多版本了,項(xiàng)目變的錯(cuò)綜復(fù)雜、龐大,牽一發(fā)而動(dòng)全身的感覺,這種項(xiàng)目在版本迭代、維護(hù)還是會(huì)以 OC 為主。
混合開發(fā):
目前有不少公司、團(tuán)隊(duì)在這樣做。我之前所在公司也這樣。
比如核心的頁面、功能使用 OC,一些不重要的頁面會(huì)用 Swift 開發(fā),讓團(tuán)隊(duì)開發(fā)人員學(xué)習(xí)使用,提高大家的實(shí)戰(zhàn)經(jīng)驗(yàn)。這個(gè)更多的是從技術(shù)角度考慮的。
當(dāng)然這個(gè)也和上面的老項(xiàng)目類似,要評(píng)估后才會(huì)做決策是否使用新語言。
項(xiàng)目兼容性:
有些項(xiàng)目中,會(huì)引用較多的第三方開源庫或者核心庫也是用第三方的,那么要看這些開源庫是否支持 Swift,有些老的開源庫(只有 OC 版本)但是剛好是你需要的,你要考慮這個(gè)問題。
團(tuán)隊(duì)要考慮開發(fā)團(tuán)隊(duì)是否都有 Swift 經(jīng)驗(yàn)或者有核心開發(fā)人員有較為豐富的開發(fā)經(jīng)驗(yàn)。
如果團(tuán)隊(duì)成員缺少新語言經(jīng)驗(yàn),在項(xiàng)目開發(fā)時(shí),考慮項(xiàng)目的計(jì)劃、風(fēng)險(xiǎn),一般都會(huì)選擇更“穩(wěn)妥” OC 開發(fā)語言。
有些不錯(cuò)的以技術(shù)為核心的公司團(tuán)隊(duì),會(huì)組織開發(fā)者學(xué)習(xí)新語言,也會(huì)適當(dāng)?shù)脑陧?xiàng)目中使用。提高團(tuán)隊(duì)的“戰(zhàn)斗力”。
個(gè)人近幾年的新入行開發(fā)者中,學(xué)習(xí)和使用 Swift 的已經(jīng)多起來了。因?yàn)槭菑?0 基礎(chǔ)學(xué)習(xí)的,基本會(huì)選擇 Swift 語言。
還有就是蘋果官方也在推薦使用 Swift,從學(xué)習(xí)資料、開發(fā)工具都在支持,所以對(duì)新入行開發(fā)者影響較大。
而那些老 iOS 開發(fā)者,還是以 OC 為主,因?yàn)?OC 經(jīng)驗(yàn)更多,同時(shí)也在學(xué)習(xí)和嘗試 Swift,但在某些情況下還是會(huì)優(yōu)先選擇 OC,但也有做混合開發(fā)的。這個(gè)要看具體的項(xiàng)目、計(jì)劃等,進(jìn)行綜合評(píng)估。
語言的穩(wěn)定性Swift 畢竟是一個(gè)新語言,雖然經(jīng)過了這么多年的迭代,但也是處于變化階段,而且每次大版本都會(huì)有較大的變化,這個(gè)在開發(fā)以及維護(hù)上,是會(huì)有一定成本的。包括學(xué)習(xí)成本。當(dāng)你在項(xiàng)目中遇到這種問題就夠頭大的了。
比如:你的項(xiàng)目中使用 Swift 某一個(gè)版本,在下一次 Swift 更新后,你的項(xiàng)目中就需要針對(duì)這塊做處理,可以理解為給項(xiàng)目帶來了額外的開發(fā)成本。
再比如:你的項(xiàng)目中使用了一個(gè)第三方開源庫,因?yàn)槭堑谌降模阅阕约菏遣豢煽氐模绻@個(gè)庫在某個(gè) Swift 版本兼容出問題了怎么辦?相對(duì)來說,OC 已經(jīng)不會(huì)變化了,這種風(fēng)險(xiǎn)基本沒有了。
最后:回到你的問題:
“最近招ios開發(fā),發(fā)現(xiàn)還是使用oc開發(fā)語言為主,少用使用swift為主的,目前是2020年,是什么原因讓大家不使用swift呢?”
不同的公司和團(tuán)隊(duì),招聘時(shí)也是針對(duì)當(dāng)前項(xiàng)目來選人的
比如:某家公司的項(xiàng)目都是 OC 開發(fā)的項(xiàng)目,那么在招聘時(shí)的要求就是“精通 OC”,而了解或者可以使用 Swift 開發(fā),這屬于加分項(xiàng)。
再比如:某家公司的項(xiàng)目是純 Swift 的,那么在招聘時(shí)的要求就肯定是“精通 Swift”,了解或者可以使用 OC 開發(fā),這就屬于加分項(xiàng)了。
現(xiàn)在的互聯(lián)網(wǎng)大廠(像鵝廠、阿里、頭條等),大部分項(xiàng)目都是老項(xiàng)目,所以開發(fā)還是以 OC 為主。這些大廠的 app 都屬于超級(jí) app 了,光是 iOS 開發(fā)團(tuán)隊(duì)都是百人級(jí)別的,像底層組件的開發(fā)、支持可能是另外一個(gè)部門,也都是 OC 為主。所以在選擇某個(gè)語言時(shí),考慮的會(huì)非常多。即使是新項(xiàng)目,也會(huì)考慮時(shí)間成本,如果已經(jīng)有完整的組件庫,而且都是 OC的,你說會(huì)使用哪個(gè)語言開發(fā)新產(chǎn)品呢?
除非 Swift 有什么特別牛的特性,會(huì)給終端用戶帶來多大的使用體驗(yàn)提升、給產(chǎn)品帶來更低的成本或者更高的收益,否則為什么要更換一個(gè)更有“成本”的開發(fā)語言呢?帶來的是更多的不確定的風(fēng)險(xiǎn),相信很多公司、團(tuán)隊(duì)都會(huì)有所考慮的。
而一些創(chuàng)業(yè)公司或團(tuán)隊(duì),用 Swift 的會(huì)比較多,因?yàn)闅v史包袱少,也就傾向于選擇新東西了。所以在招聘時(shí)也會(huì)優(yōu)先考慮選擇開發(fā)者的 Swift 經(jīng)驗(yàn)。但如果這個(gè)團(tuán)隊(duì)是以 OC 為主(開發(fā)人員都是 OC 經(jīng)驗(yàn)為主),那么就優(yōu)先找 OC 經(jīng)驗(yàn)的開發(fā)人員了。
新事物都是要有一個(gè)學(xué)習(xí)、適應(yīng)以及進(jìn)化的過程的,不論是這個(gè)事物本身要改進(jìn),使用的人也一樣。現(xiàn)在 GitHub 上主流的開源庫也都已經(jīng)支持 Swift,也有新的庫只有 Swift 版本,說明大家是在擁抱新事物的。
但是理想和現(xiàn)實(shí)是不同的,在現(xiàn)實(shí)的項(xiàng)目、團(tuán)隊(duì)中,是否使用新語言,真的是要綜合評(píng)估的,不是說新的都好,也不是說老的一定對(duì)。而且作為技術(shù)負(fù)責(zé)人,是要做好這些評(píng)估的。
針對(duì)實(shí)際的“環(huán)境”,選擇合適的開發(fā)語言。能夠高效的開發(fā)、縮短開發(fā)周期、提高項(xiàng)目質(zhì)量和穩(wěn)定性、降低開發(fā)和維護(hù)成本,能快速上線,才是硬道理。
相信 Swift 會(huì)在未來完全取代 OC,但短時(shí)間內(nèi)還是不會(huì)的。
作為開發(fā)者,不斷的學(xué)習(xí)、更新自己的知識(shí)庫,關(guān)注新事物的發(fā)展是必不可少的額,雖然不能在公司項(xiàng)目中使用,但可以應(yīng)用在自己的個(gè)人項(xiàng)目中作為學(xué)習(xí)和實(shí)踐的方式,擴(kuò)展自己的技術(shù)能力。
最后,“適合”的才是最好的!
為什么我在安卓手機(jī)上玩的游戲到蘋果上玩要重新玩?
蘋果手機(jī)是美國(guó)蘋果公司研發(fā)的智能手機(jī)系列,它搭載的是蘋果公司研發(fā)的iOS操作系統(tǒng)。
安卓手機(jī)使用的是由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)的安卓系統(tǒng)。IOS系統(tǒng)和安卓系統(tǒng)是兩個(gè)不兼容的系統(tǒng)兩個(gè)系統(tǒng)之間是不共享數(shù)據(jù)。所以安卓手機(jī)上玩的游戲到蘋果手機(jī)上是要重新玩的,同樣的蘋果手機(jī)上玩的游戲到安卓系統(tǒng)也是需要重新玩的。版本更新一直顯示正在審核?
1、正常應(yīng)用。
正在審核這個(gè)時(shí)間無法加速,一般正在審核狀態(tài)持續(xù)24小時(shí)就會(huì)結(jié)束,但是如果遇到周末也會(huì)出現(xiàn)72小時(shí)的情況。2、內(nèi)購(gòu)等其他對(duì)蘋果和用戶影響較大的應(yīng)用上線或者更新,審核一般都是大于48小時(shí)。3、游戲。審核3天上很正常。4、等待審核時(shí)想要在24小時(shí)內(nèi)進(jìn)入審核中只能是花錢,現(xiàn)在一般都是6999、7999的都有。以上就是關(guān)于ios手機(jī)游戲編程和為什么2020年ios開發(fā)還堅(jiān)持使用objective的相關(guān)問題解答,希望對(duì)你有所幫助。