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