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