如何系統(tǒng)有效的學(xué)習(xí)ios編程
如何系統(tǒng)有效的學(xué)習(xí)ios編程
由于iphone手機帶來的手機應(yīng)用狂潮,現(xiàn)在很多人都希望從事這塊的開發(fā)。很多初學(xué)者可能會問,怎么樣才能學(xué)好iOS開發(fā)?為此,以下是學(xué)習(xí)啦小編分享給大家的有效的學(xué)習(xí)ios編程的方法,希望可以幫到你!
有效的學(xué)習(xí)ios編程的方法
1、蘋果的 Programming Guide 很有用
蘋果的programming guide 寫得很好很詳細(xì),不過個人覺得不太適合入門,如果基礎(chǔ)比較扎實又想提高一下必須看看 Concurrency, Block, Core Data (尤其是core data 在多線程中的實現(xiàn)),Core Animation (想要做出好看的app, 一定要有炫酷的動畫效果,小牛哥的一個開源app里面也有很多 2D/3D動畫實例:programming guide, Google 一下就可以找到,都是免費下載的。
2、有空一定要看看喬布斯的傳記。
作為 iOS 開發(fā)員,一定要讀懂理解蘋果的產(chǎn)品,為什么蘋果的產(chǎn)品這么簡單易用功能又強大?為什么一個快要破產(chǎn)的公司后來可以拋離微軟谷歌幾條街? iPod,iPhone,iPad 這些跨時代的產(chǎn)品是怎樣研發(fā)出來的? 小牛哥當(dāng)時買的是有聲讀物 , 每天擠地鐵時聽聽,兩個多星期才聽完第一遍,每次聽都收獲匪淺。在面試的時候顯擺一下里面有意思的故事,面試官馬上對你刮目相看。
更重要的是要把里面關(guān)于UX (用戶體驗) 設(shè)計的理論應(yīng)用起來。比如在蘋果設(shè)計iPod的導(dǎo)航菜單時,喬幫主提出: 不管用戶想聽什么,只要點擊3次就可以找到。(因為超過3重導(dǎo)航用戶容易get lost) 小牛哥從此就注意,每次只要用UINavigationCroller 就保證不超過3重菜單,Sometimes有 SB UX 想要加好幾重導(dǎo)航,小牛哥只能感慨的長嘆:喬老幫主死不瞑目啊。。。然后很快就會看見一個新版本的UX設(shè)計。
3、一些很好的視頻必須看看
什么是跨時代的偉大產(chǎn)品,什么是創(chuàng)造歷史,看看第一代iPhone的發(fā)布視頻吧。這個小牛哥反復(fù)看了幾遍,除了學(xué)到一些做presentation 的口語,還學(xué)到了一些有用的UX 原理。(忍不住要感慨一下: 喬老幫主太牛了,如果沒有iPhone, Andriod 也不會有今天繁華的局面,人類智能手機的發(fā)展將倒退好幾年。也許正因為這個,上帝才不讓喬幫主多活。。。嗚呼哎哉!上帝什么時候才會再賜一個喬幫主給人類啊!)
在這里不能不提一下,很多人做ppt/presentation時, 喜歡把一大堆文字和表格放到一頁上,誰會看啊? 眼睛都忙不過來怎么聽清楚說什么啊? 我們做ppt都應(yīng)該想老喬的那樣,簡單大方,每頁幾個字或幾張圖片,這樣觀眾一看就明白說什么,
YouTu 上還有很多優(yōu)秀的關(guān)于 iOS/UX 的視頻,大家有空看看,能學(xué)到很多。
例如,這個系列的視頻不錯:
UIKonf 2014
4、最好把英語學(xué)好
這個不是特別重要,但是學(xué)好了,你就更容易脫穎而出。
其實不管哪門編程語言,最好的資料一般都是英文的,學(xué)好英文就可以學(xué)更多更好的技術(shù),更容易了解編程的思維。
小牛哥本身英語也不好,四級都要考幾次,關(guān)鍵就是要多用,天天用,上面提到的視頻就是很好的口語教材,有空一定要多聽多說。
提高英文寫作水平的一個很有效的方法就是多背好文章。當(dāng)年為了把文章寫好,背很多這本書里的文章,效果不錯,大家不妨試試,
有效的學(xué)習(xí)ios編程的建議
找到一名編程小伙伴
我還找到一種學(xué)習(xí)方法,那就是有一個可以交談的、活生生的人。
我的合伙創(chuàng)始人Josh,主要做Python開發(fā),實際上和我一起學(xué)習(xí)Objective-C,并為我解答了很多編程理論方面的問題(“怎么讓一個if語句再次起作用?”),在我真正遇到難題時幫我調(diào)試。
至少有了極具耐心的編程伙伴,他可以解釋基本的編程原則,這是莫大的幫助。在我用Objective-C搞清楚具體細(xì)節(jié)之前,Josh經(jīng)常幫助我思考解決某個問題的大部分邏輯方法。
善用資源
如果你不夠幸運,身邊缺少有耐心的程序員解答問題,那么,其它一些地方可以讓你從真實的人那里獲得幫助:
Stack Overflow
關(guān)于具體語法或?qū)崿F(xiàn)的問題,Stack Overflow是我最近訪問最多的網(wǎng)站之一。我自己還沒有在那兒問過問題(由于該社區(qū)對初學(xué)者相當(dāng)友好,我對提問持謹(jǐn)慎態(tài)度),因為我很少需要去問——通過瀏覽其他人的問題的答案,我的大部分問題就得到解決了。
Treehouse
Treehouse通過視頻課程教授編程,還建立了社區(qū)論壇,你可以在這里討論有困難的bug,或者你在聽課過程中碰到的具體練習(xí)。
askadev
在你需要幫助的時候,askadev支持你聯(lián)系到有經(jīng)驗的開發(fā)者。我還沒有嘗試過這項服務(wù),因此我不知道有多大用處、或是否囊括了所有編程語言,不過它是免費的,下次你有需要,不妨一試。
Codementor
如果你想給有經(jīng)驗的開發(fā)者支付現(xiàn)金來獲得幫助,Codementor會把你和熟悉你在學(xué)的語言的人匹配到一起。它們涵蓋了Android、iOS、HTML、CSS、PHP、Python,以及很多技術(shù)。
小黃鴨問題解決
如果你以前沒有看到,《小黃鴨式解決問題》的博文是非常有用的。具體操作是:對著一個小黃鴨或其它靜物,比如面包機,闡述你的問題,大聲點兒。大聲講述問題的過程,經(jīng)常有助于你自己意識到答案(或至少知道錯在哪里了)。我已經(jīng)發(fā)現(xiàn),大聲地討論我的代碼是一種難以置信的好習(xí)慣,每次在我找別人幫忙之前,我都要盡量這樣做。
學(xué)習(xí)規(guī)范
在我學(xué)習(xí)編程的時光里,最影響我的就是對于我正在使用技術(shù)的誤解和陌生。比如,開發(fā)API意味著我需要理解API的工作原理、怎樣使用POST和GET請求、怎樣分析JSON數(shù)據(jù),甚至我需要掌握接收J(rèn)SON數(shù)據(jù)。
學(xué)習(xí)Objective-C不是開發(fā)iOS app所需要知道的全部,至少,不是我想開發(fā)的那種。我犯了個錯誤,我認(rèn)為只要知道Objective-C就行了。甚至更糟糕的,我經(jīng)常遇到困難,因為Stack Overflow回答問題的人、在線教程和書籍章節(jié)都在解釋如何用Objective-C開發(fā),完全跳過了必需的、我需要知道的、基于web的原則,因為他們認(rèn)為我知道了。
如果我今天重新開始,我將首先補充、積累HTML和CSS方面的知識。當(dāng)我開始碰到一些我不太了解的新技術(shù)時,在準(zhǔn)備用Objective-C實現(xiàn)之前,我會大概了解一下。
任何語言都可以起步
如果你真的不確定從哪里開始,或者你想開發(fā)什么,請不要因此受到影響。雖然我花時間學(xué)習(xí)Ruby和Python、還沒有用它們完成任何項目,但是我不覺得時間被浪費了。
初學(xué)者通常的起點是學(xué)習(xí)HTML和CSS去開發(fā)網(wǎng)站。它們實際上是標(biāo)記語言,如果你想開發(fā)移動或web app,貌似學(xué)習(xí)HTML和CSS是浪費時間。但是在這種情況下,你將獲得知識和經(jīng)驗,對你繼續(xù)學(xué)習(xí)編程語言是有幫助的。
如果你急切希望開始學(xué)習(xí)編程卻不知道從哪兒開始,就挑一本書、教程或在線課程,只要你喜歡,就搞定它!一旦你對想開發(fā)的東西有了更好的理解,你總是可以選擇學(xué)習(xí)一種不同的語言。
找到你真正關(guān)心的項目
對我而言,最大的學(xué)習(xí)曲線可能就是找到讓我堅持學(xué)習(xí)代碼的動機。過去我嘗試了很多次:在我小時候?qū)W習(xí)HTML和CSS,幾年后學(xué)習(xí)Ruby的基礎(chǔ)知識,最近在學(xué)Python。
我決定學(xué)習(xí)Objective-C,不是因為它勝過了Ruby或Python我才喜歡,也不是因為我認(rèn)識學(xué)Objective-C的人,只是因為我有一個iOS app的想法清單,我想完成——我真的想去開發(fā)。
我學(xué)習(xí)Objective-C的動機比以前學(xué)習(xí)任何其它語言都要強烈,因為我想開發(fā)的私人項目在鼓勵著我。
最重要的是,隨著難度加大,我感到沮喪、遇到困難時,我沒有放棄——因為我正在開發(fā)我真正關(guān)心的項目。每次我設(shè)法實現(xiàn)一些新功能,運行良好,得到的收獲甚至更好了,因為它是我有激情的項目的一部分。
如果你正在考慮學(xué)習(xí)編程,而你沒有選擇語言或平臺的任何限制,我明確建議選擇你真正有激情的項目,這樣才能為項目需要所選擇的語言打下基礎(chǔ)。
每個人的學(xué)習(xí)方法都不同,因此你可能有著與我不同的經(jīng)歷,不過如果你只是剛起步、或在考慮學(xué)習(xí)編程的事情,那么希望我的經(jīng)驗和錯誤能幫你學(xué)得更快。
注1:小黃鴨調(diào)試法,又稱橡皮鴨調(diào)試法,黃鴨除蟲法(Rubber Duck Debugging)是軟件工程中使用的調(diào)試代碼方法之一。就是在程序的調(diào)試、糾錯或測試過程中,耐心地向小黃鴨解釋每一行程序的作用,以此來激發(fā)靈感。
iOS10省電使用技巧
技巧一:在設(shè)置里找到【通用】,然后在【存儲空間與iCloud用量】里,關(guān)閉【后臺應(yīng)用刷新】功能,就ok啦~因為關(guān)閉此功能以后,軟件就不會頻繁的自動刷新內(nèi)容,達(dá)到省電的目的。
技巧二:在設(shè)置里面找到【iCloud】,然后在找到【Cloud Drive】,關(guān)閉iCloud Drive即可。如果這個數(shù)據(jù)同步打開,運行時將會非常耗電,且有時候數(shù)據(jù)會同步一兩個小時,沒準(zhǔn)你的電就是這樣被消耗光的,所以謹(jǐn)慎開啟!
猜你喜歡: