我應該直接學Swift還是Objective-C?
當我們釋出了Swift語言學習課程之後,收到了很多郵件和私信來問自己是否還需要學習C或者Objective-C。此外,人們似乎還在迷惑Swift到底適合iOS開發生態中的哪些部分。通過這篇文章,我希望能掃清你的疑惑並且將你送到正確的學習軌道上。
我應該先學C/Objective-C還是直接學Swift?
Swift是一個全新的語言,與Objective-C或C都沒有任何關係。我的意思是它們都是程式語言並且遵守一些基礎概念和範例,但是你並不需 要在學習其中一個之前先學另一個。即使你是程式設計新手,你也可以學習蘋果釋出的官方的Swift文件而無需先學Objective-C。
我正在學習Objective-C,我應該轉為學Swift嗎?
這要試情況而定。如果你把學習iOS當做一個愛好或者出於好奇心才學,那麼轉到Swift學習上吧。如果你將從事iOS開發視為職業,那麼你要知道 外面至少有100萬個應用都是用Objective-C編寫的,Swift於2014年才剛剛釋出,所以你將來的職業的app開發仍然很有可能使用 Objective-C。所以你需要學習Objective-C來獲得一個工作,直到Swift成為標準,這大概將花費數年時間。同時學習兩門語言也將對 你有好處。你未來的上司甚至可能會讓你來將現存的Objective-C app切換到Swift上。不過我對這個觀點有所保留,因為一個應用最重要的部分是它的功能而非它使用的語言,因此重寫現有app的做法可能不會流行。
我建議初學者選擇Swift是因為它是一種友好的語言,並且感謝playground讓它變得容易學會。一旦你學過了Swift,如果將iOS開發視為職業的話,對於學習Objective-C也將更容易理解。
最後,Swift是一種現代語言,如果你學習Swift,意味著也同時做好了面向未來的準備,因為Swift將是新一代的應用所用的語言(包括 Apple Watch上的應用)。Swift語言是蘋果送給每個人的禮物。世界上還沒有5年經驗的Swift開發者,但如果你現在開始學習Swift,那麼過了5年 你就將成為其中一位了。
我最後的建議是,不管你選擇哪一門語言,學習它並且精通它。最後你將發現,只要你學會iOS SDK,使用哪種語言並不是最重要的。並且學了一種語言之後可以很容易的開始學習另一門,最緊要的是,從現在就開始學習。
原文:teamtreehouse 譯文:cocoachina
相關文章
- 我應該使用 MongoDB 還是 PostgreSQL? - AmritMongoDBSQL
- 你應該選擇 Ubuntu 還是 Fedora?Ubuntu
- 糾結應該先學Python還是Java?看完就有數了PythonJava
- 學Python應該選擇Linux系統還是Windows系統?PythonLinuxWindows
- 我該用 Java 12 還是堅持 Java 11?Java
- Objective-C和Swift混編ObjectSwift
- 我們都應該學習PHPPHP
- 為什麼資料科學家應該開始學習Swift?資料科學Swift
- [譯]Kotlin中是應該使用序列(Sequences)還是集合(Lists)?Kotlin
- Airbnb棄用之後,我們還應該用ReactNative嗎?AIReact
- 年輕人應該去創業還是打工?創業
- 跳槽季,你是該跳,還是該留?
- 學習Tomcat,我們應該懂的Tomcat
- 寫碼時應該縮排使用 tab 還是空格?
- 在專案中應該使用Boolean還是使用boolean?Boolean
- 對於Linux,我們應該學什麼?Linux
- iOS 開發選擇OC還是Swift?iOSSwift
- 測試開發應該選擇 Java 還是 Go 呢?JavaGo
- Python中應該使用%還是format來格式化字串?PythonORM字串
- 網站優化應該外包SEO公司還是自己去做?網站優化
- [譯] WAR 還是 JAR,你應該用哪種格式打包?JAR
- 我想學 Flutter,但是我不知道應該如何開始?Flutter
- 25歲之後還能學Python嘛? 應該怎麼學?Python
- 看完你要是還搞不懂HashMap,我直接倒立喝水HashMap
- [譯]Kotlin中是應該定義函式還是定義屬性?Kotlin函式
- 討論:研發團隊到底應該是制定OKR還是制定KPI?OKRKPI
- 複雜查詢還是直接寫sql吧SQL
- 資料科學領域,你該選 Python 還是 R ?資料科學Python
- Vue 3是一個錯誤,我們不應該再犯。Vue
- Nacos配置中心互動模型是 push 還是 pull ?你應該這麼回答模型
- 扎心!“我學了半年Python,還是找不到工作”Python
- 應該是最詳細的-swift Moya+handyJSON網路框架的搭建及封裝SwiftJSON框架封裝
- Swift 呼叫 Objective-C 的可變引數函式SwiftObject函式
- 資料上雲,應該選擇全量抽取還是增量抽取?
- 到底應該先操作快取還是先運算元據庫?快取
- 小程式是直接買模板好還是定製開發好?
- 小程式是直接買模板好還是定製開發好
- 我們究竟應不應該使用框架?框架
- 棉花應該還有個下跌波段