1. 程式人生 > >我的iOS自學之路-從零基礎到企業實戰開發

我的iOS自學之路-從零基礎到企業實戰開發

學習一門語言需要堅持的毅力,本篇分享一下我的iOS自學之路,以及學習中總結的經驗!

1. 為什麼要學習iOS?

2014年11月左右進入某家公司,使用Java語言進行移動App介面開發工作,工作中認識了以為iOS開發同事,後來逐漸瞭解到iOS的市場行情和薪資待遇,大概是在培訓機構培訓4個月第一份工作大概能拿到1萬左右,瞬間感覺做Java開發的受到一萬點傷害!大學剛畢業都能拿到1W,我做Java 已經工作X年了還不如剛畢業的,那時開始慢慢關注iOS,瞭解到那時移動開發很火,以後發展應該很好!從那時開始決定自己要自學iOS技術!

2. 學習iOS要先學啥呢?

經過百度,有人說直接學習Objective-C語言就行了,也有人說要先學習C語言,因為Objective-C語言是對C語言的封裝,可以在Objective-C中的任意地方使用C語言,學會C語言基礎才能更牢固, 於是開始學習C語言。

3. iOS學習第一步:先學習C語言

學什麼東西確定了,那麼該如何學習呢?
我學習技術一般是先從網上下載一些視訊教程,視訊教程學習快,一般視訊知識體系不夠完整,我一般學習完視訊教程完之後還要在網上買一本書再來體系的學習!這樣 視訊教程+書籍 學下來應該就差不多了。

2014年12 學習C語言

百度一下C語言視訊教程有很多,下哪一套好呢?最終選擇了千鋒iOS培訓機構的一套視訊,於是從2014年12月正式開始學習C語言,視訊學習完買了本書《C Primer Plus(第五版)中文版》繼續學習C語言

這裡寫圖片描述
這裡寫圖片描述

4. C語言學習完了,接下來學習Objective-C語言

2015/2月開始學習Objective-C


學習Objective-C需要Xcode 整合開發工具,Xcode是安裝在蘋果系統上的,蘋果系統哪裡來呢???

  • 剛一開始在Windows上裝了虛擬機器,搞了幾天終於把虛擬機器裝上了,發現卡的要死,放棄
  • 接下來想在我的筆記本上裝個黑蘋果,後來發現對筆記本的顯示卡有要求,我的筆記本顯示卡不支援,放棄
  • 要不買個mac min吧,發現好貴,就那麼一個小方塊便宜的也接近4千,放棄
  • 最終花的大概1萬大洋託關係買了個13寸的mac pro

老規矩先從視訊教程開始,然後再看書
這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

5. Objective-C學習完了,接下來學習UIKit

2015/5月學習UIKit

OC是用來控制業務邏輯的,UIKit是用來展示使用者介面的,學了那麼長時間,終於要學介面了
老規矩先從視訊教程開始,然後再看書

這裡寫圖片描述

這裡寫圖片描述

6. OC也學了,UIKit也學了,是時候來個專案實戰一下了

2015/6月份開始專案實戰

這裡寫圖片描述

7. 專案實戰中發現Core Data我竟然沒聽說過

2015-08-24開始學習《Core Data應用開發實踐指南》
關於CoreData視訊百度上的視訊教程不是很多,所以我直接看都是書籍

這裡寫圖片描述

8. 聽說Objective-C要被淘汰了,Swift是新趨勢

2015-09-24 開始學習Swift

還是老規矩從視訊教程開始學習, 然後再看書《Swift語言實戰入門(第2版)》

這裡寫圖片描述

這裡寫圖片描述

9. 學的差不多了能勝任工作不?找份面試題看一下

發現面試題10題會一題, 我的心瞬間哇涼哇涼的, 找了一些面試視訊惡補一下
這裡寫圖片描述

10. 真機除錯、App上架、推送通知 都需要真機???

之前學習和真機相關的功能真的是接觸的很少,發現這部分自己一無所知
於是買了ipad min2 大概1900元左右吧,開始學習 必須使用真機才能除錯的技術

11. 一直想找到這樣的書:從iOS開發的第一步到提交應用的整個過程

噹噹網上找的這本書,這本書還算湊合, 和理想中的有些差距
這裡寫圖片描述

12. 基礎應該都差不多了,iOS核心技術一點都不會

2016-05-28繼續學習《iOS 5核心框架》

這裡寫圖片描述

13. 自我感覺iOS學的差不多了,如果再上一個臺階呢???

2016-04-17 開始學習《iOS開發進階》
這裡寫圖片描述

14. 學習第三方框架

公司在開發App中會經常整合第三方框架、開源庫等,使用這些框架更夠更快的開發。
如 AFNetworking, SDWebImage、 Masonry、 fmdb、MJExtension、MJRefresh、Realm, WKWebView、SVProgressHUD、MBProgressHUD、GPUImage、ReactiveCocoa(RAC)、環信即時通訊、七牛雲端儲存、極光推送、友盟統計、社會化分享、第三方登入、百度地圖、高德地圖等

15. 偶然的機會發現小馬哥11期iOS全套視訊教程

一直學習到2016-11 月才大概算是學完
這裡寫圖片描述

16. 工作之餘可以關注iOS的一些公眾號和微博,注意要有技術寫作能力

如何提高自己的眼界呢?

  • 通過關注iOS的一些微信公眾號來了解最新的技術動態,如 iOS大全、CocoaChina等,這裡的訂閱號每天都會推薦一些iOS技術文章
    這裡寫圖片描述

  • 關注一些大牛的iOS微博: 他們經常分享iOS技術
    這裡寫圖片描述 這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述

  • 要有自己的技術部落格,如簡書等,使用MarkDown語法總結記錄自己的對技術的理解
  • 如果有能力可以在GitHub上構建自己的開源專案,這在找工作時是個加分項

17. iOS已經學習差不多了,達到初級工程師的能力了

歷時2年自學時間,終於算是修成正果了。同樣2年中iOS市場也經歷著巨大變化,由於中國這幾年出現了一大批iOS培訓機構,培訓的大部分是大學剛畢業的學生,而這些學生很多不是計算機專業的,培訓機構每4個月就會培訓出來一批,就這樣讓培訓機構在這幾年批量生產了很多很多很多很多初級程式設計師,再加上最近一兩年很多小型創業公司倒閉會導致一些iOS程式設計師失業,造成的現狀是iOS遠遠是供大於求,供大於求的後果就是本身的價值就會變低,也就是iOS程式設計師的薪資變低了,同樣由於iOS程式設計師眾多,現狀企業招聘iOS的要求越來越高,現在工作經驗都要求4年的工作經驗,導致很多初級程式設計師失業轉行。

對於初級iOS工程師的出路

  • 繼續深入學習iOS技術,達到中高階工程師的能力才有出路
  • 還有一部分同學轉行了,有的學習前端了

17. iOS繼續學習之Road

  • 現在iOS開發流行混合模式,如Native Rect 聽說這個技術是個坑,還有Weex框架還挺火的,可以瞭解一下。
  • HTML5 也是需要掌握的
  • JavaScript 最近非常活,也需要掌握的
  • 微信小程式先了解一下

iOS的開發最終是高效和低價的,使用原生開發速度慢,使用web開發速度快,他們最終要折中融合在一起,如果只會原生開發我想估計會被淘汰的!