我是直接學(xué)Swift還是Objective-C?
當(dāng)我們發(fā)布了Swift語(yǔ)言學(xué)習(xí)課程之后,收到了很多郵件和私信來(lái)問(wèn)自己是否還需要學(xué)習(xí)C或者Objective-C。此外,人們似乎還在迷惑Swift到底適合iOS開(kāi)發(fā)生態(tài)中的哪些部分。通過(guò)這篇文章,我希望能掃清你的疑惑并且將你送到正確的學(xué)習(xí)軌道上。
我應(yīng)該先學(xué)C/Objective-C還是直接學(xué)Swift?
Swift是一個(gè)全新的語(yǔ)言,與Objective-C或C都沒(méi)有任何關(guān)系。我的意思是它們都是編程語(yǔ)言并且遵守一些基礎(chǔ)概念和范例,但是你并不需要在學(xué)習(xí)其中一個(gè)之前先學(xué)另一個(gè)。即使你是編程新手,你也可以學(xué)習(xí)蘋果發(fā)布的官方的Swift文檔(中文版)而無(wú)需先學(xué)Objective-C。
我正在學(xué)習(xí)Objective-C,我應(yīng)該轉(zhuǎn)為學(xué)Swift嗎?
這要試情況而定。如果你把學(xué)習(xí)iOS當(dāng)做一個(gè)愛(ài)好或者出于好奇心才學(xué),那么轉(zhuǎn)到Swift學(xué)習(xí)上吧。如果你將從事iOS開(kāi)發(fā)視為職業(yè),那么你要知道外面至少有100萬(wàn)個(gè)應(yīng)用都是用Objective-C編寫的,Swift于2014年才剛剛發(fā)布,所以你將來(lái)的職業(yè)的app開(kāi)發(fā)仍然很有可能使用Objective-C。所以你需要學(xué)習(xí)Objective-C來(lái)獲得一個(gè)工作,直到Swift成為標(biāo)準(zhǔn),這大概將花費(fèi)數(shù)年時(shí)間。同時(shí)學(xué)習(xí)兩門語(yǔ)言也將對(duì)你有好處。你未來(lái)的上司甚至可能會(huì)讓你來(lái)將現(xiàn)存的Objective-C app切換到Swift上。不過(guò)我對(duì)這個(gè)觀點(diǎn)有所保留,因?yàn)橐粋€(gè)應(yīng)用最重要的部分是它的功能而非它使用的語(yǔ)言,因此重寫現(xiàn)有app的做法可能不會(huì)流行。
我建議初學(xué)者選擇Swift是因?yàn)樗且环N友好的語(yǔ)言,并且感謝playground讓它變得容易學(xué)會(huì)。一旦你學(xué)過(guò)了Swift,如果將iOS開(kāi)發(fā)視為職業(yè)的話,對(duì)于學(xué)習(xí)Objective-C也將更容易理解。
***,Swift是一種現(xiàn)代語(yǔ)言,如果你學(xué)習(xí)Swift,意味著也同時(shí)做好了面向未來(lái)的準(zhǔn)備,因?yàn)镾wift將是新一代的應(yīng)用所用的語(yǔ)言(包括Apple Watch上的應(yīng)用)。Swift語(yǔ)言是蘋果送給每個(gè)人的禮物。世界上還沒(méi)有5年經(jīng)驗(yàn)的Swift開(kāi)發(fā)者,但如果你現(xiàn)在開(kāi)始學(xué)習(xí)Swift,那么過(guò)了5年你就將成為其中一位了。
我***的建議是,不管你選擇哪一門語(yǔ)言,學(xué)習(xí)它并且精通它。***你將發(fā)現(xiàn),只要你學(xué)會(huì)iOS SDK,使用哪種語(yǔ)言并不是最重要的。并且學(xué)了一種語(yǔ)言之后可以很容易的開(kāi)始學(xué)習(xí)另一門,最緊要的是,從現(xiàn)在就開(kāi)始學(xué)習(xí)。
本文鏈接:http://www.cocoachina.com/ios/20140923/9732.html