iOS開發(fā)應該選擇Objective-C還是Swift(翻譯)

iOS開發(fā)需要知道Objective-C


當Apple發(fā)布了Swift之后,我聽見人們都說:“趕快,我現(xiàn)在可以成為一個不用學習Objective-C的iOS開發(fā)者了?!痹谶@里我有三個建議想給這些人們。

1.如果你想成為一個iOS開發(fā)者,你仍然需要學習Objective-C。

2.Objective-C比Swift更容易學習。

3.一旦你學習了Objective-C,學習Swift就很容易了。

在我繼續(xù)之前,讓我對Swift肯定作為序言,語法是可愛的。Swift編譯器會捕捉到很多錯誤給我們,我可以肯定當大家用Swift編程的時候,APP的可靠性會大大提高。枚舉的結構是極好的,Swift是邁向整個iOS和Mac OS X系統(tǒng)的主要的一步,但是。。。

1.如果你想成為一個iOS開發(fā)者,你仍然需要學習Objective-C。

你不可以用Swift做任何事情。舉個例子,如果你想在你的應用程序中使用一個C++庫,你需要告訴Objective-C你使用C++的庫。Swift可以調(diào)用C函數(shù),但我相信如果你有很多C的函數(shù)和類型,你會想用Objective-C編程的。

Objective-C的社區(qū)論壇。在StackOverflow和iOS dev 博客中有成千上萬的Objective-C的片段。Objective-C在過去的六年中被我們用來描述自己是怎么樣去應用Cocoa Touth庫工作的。如果你不能讀Objective-C,你就不能理解這知識的寶庫。

The frameworks 是用Objective-C編寫的。當你有一個bug,它經(jīng)常不露頭直到執(zhí)行到Apple‘s 代碼的深處。如果你想理解調(diào)試器告訴你什么,你需要了解Objective-C。

Objective-C很穩(wěn)定且測試良好的。Swift看起來很好,但是這個語言還在不斷的發(fā)展中,并且編譯器是不成熟的。如果今年我做出了一個重大的賭注去開發(fā)一個APP,我仍然會使用Objective-C。

2.Objective-C比Swift更容易學習。

C是一種很簡單的小語言,Objective-C是非常簡單的對于C的小擴展語言。Swift擁有很多Objective-C所沒有的規(guī)則(我,作為一個導師,我已經(jīng)嘗試著去弄清楚我將如何解釋這些可選的變量和如何正確使用。)這些額外的規(guī)則意味著編譯器關于良好的編程實踐將會更加講究,但是這也同時意味著,這門語言需要更長的時間去學習。

Objective-C要求編程明確。Swift語言讓編譯器為程序員做了更多的工作。這對程序員是非常好的,對嗎?但是,這意味著當你去看一行代碼的時候,如果沒有對語法有深入的了解是不會看出為什么需要這么寫。明確的語言是更容易讓初學者理解的。

Swift有一堆結構體而Objective-C是沒有的。例如,在Swift中,泛型讓類型檢查更好。但是它使語言變得更加的復雜。

3.一旦你學習了Objective-C,學習Swift就很容易了。

當Objective-C和Swift進行交互時,Apple 讓Swift很像Objective-C。在Objective-C中難理解的像對象,強弱引用和繼承等,在Swift中也是很難的。在Swift中只是使用了不用的語法表達。

真的,無論你首先學習哪一種語言,你都需要學習這兩種語言。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容