前言
如果你正在學習 iOS, 或者正在從事IOS開發?
還是一個一個迷茫的待就業大學生,或是公司的到一個半老員工?
現在到了開發的一個階段了,基本的東西很熟了,想著提高技術?
學習難一點的東西,不知該遵循什麼思路?從何開始?
現在是看到哪裡感興趣就學學,感覺很亂?
官方文件
第一點要求,能比較順暢的閱讀官方的文件
如果你連官方的文件讀起來都非常困難,那你還談什麼提高和進階,我們們學習 iOS 的所有權威的資料都來自 apple 開發者網站,靠逛論壇看看帖子不是出路。 如果這點沒達到,那就從閱讀官方文件開始吧,找一篇你比較熟悉的技術的官方文件,比如:View Programming Guide for iOS 自己閱讀,翻譯,裡面不懂的單詞,記下來,多學幾遍,這些你不懂的單詞,在以後你看其他時文件裡還會出現無數次的。堅持幾個月後,你會發現,英文的文件,看起來比中文的順眼了。為什麼要找自己熟悉的技術看,因為那樣的話,你更容易理解和增加信心。
英語學習是個長期的過程,推薦一篇好文,具體教你如何學習和提高英語:老碼農教你學英語
技術指南
學習官方的一些技術指南
Apple dev裡有各種文件 建議從一些指南開始, 這樣能比較系統的學習某個模組的知識。
比如你要系統的學習下AutoLayout ,那你就看看Auto Layout Guide 。
這裡各種技術模組指南首頁
WWDC視訊資料
文字文件的技術文件看膩了?別怕,Apple 是 個人性化的公司,他們每年舉辦的 WWDC, Apple 的技術專家會針對新技術和部分技術主題進行課堂講解。
可供學習視訊這裡 可以找到。視訊的主題太多,你只需挑你想了解的主題學習即可。官方提供的視訊都是沒有字幕的,那怎麼辦?給大家一個非常好的網站 ,它把最近幾年WWDC的各個課堂演講都整理成文字版了:http://asciiwwdc.com/ 放心,文字版肯定也是英文的。
寫部落格
關注和收藏一些適合你胃口的iOS開發個人部落格,並且開始寫自己技術部落格
為什麼說是合適自己胃口啊?現實中畢竟學霸還是少數,學渣是多數。 你關注的部落格太高層建瓴,超出了自己的理解和能力範圍,只會讓自己覺得自卑。總感覺自己寫的東西拿不出手。上學的時候學霸的學習方法你學不來,到了工作了,學霸的部落格,你只能仰望。合適自己胃口就是,文章看起來能理解,並能轉化成自己的東西。臨淵羨魚,不如退而織網。現在就開始寫部落格吧。
這裡推薦兩篇文章,和大家共勉
作為技術人員為什麼要寫部落格:http://blog.jobbole.com/48962/
即便沒有讀者,你也要寫部落格:http://blog.jobbole.com/38258/
閱讀原始碼
閱讀優秀的iOS開源專案原始碼
有時候是不是覺得自己寫的程式碼很爛,但是又不知道怎麼改進。我覺得閱讀優秀的開源專案是個不錯的選擇。iOS優秀的開源專案數不勝數。找一個自己比較熟悉常用的開源專案,自己分析
,寫寫部落格分享
。思考
下開源專案裡用到了哪些設計模式
,用到了哪些API技術
,如何運用到自己的實際專案中去。
開源專案
編寫提交自己的開源專案
現在技術招聘開始關注你在Github上有幾個開源專案,有多少star
和Fork
。這些比簡歷含金量高。Github上的專案比簡歷真實。你在Github上的專案提交程式碼的記錄
、質量
,都能看得到。那麼自己寫開源專案的好處就不言而喻了。技能提高自己,有能給自己將來跳槽增加砝碼。
小結
perl的發明人Larry Wall在其著作《Perl程式設計》第二版新增具有幽默意味的名言:程式設計師有三種美德:懶惰,急躁和傲慢...
Laziness
The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don't have to answer so many questions about it. Hence, the first great virtue of a programmer, Also hence, this book.
懶惰:
是這樣一種品質,它使得你花大力氣去避免消耗過多的精力。它敦促你寫出節省體力的程式,同時別人也能利用它們。為此你會寫出完善的文件,以免別人問你太多問題。
Impatience
The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer.
急躁:
是這樣一種憤怒——當你發現計算機懶洋洋地不給出結果。於是你寫出更優秀的程式碼,能儘快真正的解決問題。至少看上去是這樣。
Hubris
Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won't want to say bad things about. Hence, the third great virtue of a programmer.
傲慢:
極度的自信,使你有信心寫出(或維護)別人挑不出毛病的程式。
如果你還是不知道從何做起?看這篇文章《千萬不要做一個思維上“懶惰”的“勤奮”人!》