如何成爲一名iOS開發高手

“無意中發現了一個巨牛的人工智能教程,忍不住分享一下給大家。教程不僅是零基礎,通俗易懂,而且非常風趣幽默,像看小說一樣!覺得太牛了,所以分享給大家。點這裏可以跳轉到教程。”

作爲當前兩大主流移動操作系統之一,iOS伴隨着iPhone的風靡而走向了全球。當前的移動App種類繁多,足以讓人眼花繚亂。因此,不管大家從事何種產品的開發,都應該或多或少地瞭解一些iOS開發相關的知識。那麼,iOS開發的知識體系是怎樣的?如何進階成爲一位iOS開發的高手?帶着這種種的疑問,我學習了極客時間 App 上的《iOS開發高手課》專欄。本專欄作者戴銘老師是前滴滴出行技術專家,有着豐富的iOS開發和實踐經驗。

通過對本專欄的學習,我對iOS開發有了全面的瞭解(雖然還不足以成爲一位高手)。在這篇文章中,我分享一下自己的學習總結,供各位想成爲iOS開發高手的朋友參考。

 

專欄主要內容

作者在開篇詞中提到,在2008年7月的WWDC蘋果全球開發者大會上,蘋果宣佈App Store正式對外開放,這也意味着屬於開發者的移動互聯網時代真正開始了。從技術角度看,這些年來移動開發領域相繼誕生了組件化、熱修復、動態化、大前端、Flutter、小程序等熱門技術,推動着iOS開發者不斷地學習新技術,同時也讓App開發變得越來越容易。作者認爲,任何一個領域其實都和移動領域一樣,從小型到大型,從個人到團隊,從低效到高效,從湊合夠用到高要求。

本專欄的主要內容分爲四個部分,分別是:基礎篇、應用開發篇、原理篇、原生與前端共舞

我用下面這張思維導圖來概括本專欄的主要內容。

iOS開發基礎

在學習任何一門技術之前,需要先建立起一套較爲完整的知識體系,學習iOS開發也不例外。作者提到,學習iOS開發這件事兒,不要一開始就求多,而要求精、求深。iOS的知識體系包括了基礎、原理、應用開發、原生與前端四大模塊,具體到專欄內容,作者的安排如下:

第一,基礎模塊中介紹的內容涉及到開發階段、調試測試階段、發佈階段和上線階段;

第二,應用開發模塊涉及到需要關注的一些經典庫;

第三,原理模塊涉及到系統內核 XNU、AOP、內存管理和編譯的知識;

第四,原生與前端模塊中分析了隱藏在這些時髦技術背後的解釋器和渲染技術。

作者還在基礎知識部分給出了iOS開發的最佳學習路徑,作者爲剛跨入iOS領域的開發者推薦了一些入門的書籍和網站,同時爲有一定iOS實際開發經驗的朋友們提供了三點建議:不貪基礎知識、在實踐中積累、深挖知識。

作者在基礎知識部分介紹的內容非常的多,大家可以訂閱專欄學習,或者是閱讀我在本文最後提供的思維導圖。

 

iOS應用開發

在應用開發篇,作者介紹的內容包括:GUI框架、響應式框架、動畫效果、A/B測試、事件總線、JSON解析、Flexbox、富文本、面向測試驅動開發和麪向行爲驅動開發。

在這一部分,作者還介紹瞭如何制定一套適合自己團隊的iOS編碼規範。作者認爲,好的代碼規範需要從如下方面入手:常量、變量、屬性、條件語句、循環語句、函數、類、分類等。

此外,作者還強調了Code Review的重要性,他認爲要利用好Code Review這個卡點,先使用靜態檢查工具對提交的代碼進行一次全面檢查。需要對代碼進行人工檢查的原因是,通過團隊成員之間互相檢查代碼的方式,能夠達到相互溝通交流,甚至相互學習的效果。Code Review的過程也能夠對代碼規範進行迭代改進,最後形成一份能體現出團隊整體智慧的代碼規範。

 

iOS原理

在原理篇中,作者介紹的內容包括:系統內核XNU、Runtime Method Swizzling、libffi、內存管理、Clang插件編寫。

在這部分中,作者介紹了iOS系統架構,它是基於ARM架構的,大致可以分爲四層:最上層是用戶體驗層,主要是提供用戶界面;第二層是應用框架層,是開發者會用到的;第三層是核心框架層,是系統核心功能的框架層;第四層是Darwin層,是操作系統的核心,屬於操作系統的內核態。

作者還提到,移動端的內存管理技術,主要有GC(Garbage Collection,垃圾回收)的標記清除算法和蘋果公司使用的引用計數方法。作者分別從虛擬內存、分段和分頁三個方面來介紹了iOS的內存管理。

 

總結

在本專欄的最後一部分,作者介紹了原生與前端的相關知識,包括:JavaScriptCore、React Native和Flutter等跨端方案、渲染技術、動態化和熱更新方案。這些都是一位iOS開發高手所必須要掌握的知識。

在結束語,針對很多人抱怨說工作太忙,學習的時間不夠的問題,作者提到,關於技術學習的時間分配,實踐是最好的學習,我們需要識別出當前所做事情是不是重要而緊急的。另外,關於團隊合作,作者認爲最重要的就是達成對技術方向與工作重心的共識,懂得取捨纔是團隊的核心。

本專欄介紹的內容比較深入,適合正在進階到iOS開發高手的朋友們閱讀。如果大家對專欄的內容感興趣,可以訂閱學習,也可以閱讀我繪製的思維導圖。下載鏈接如下,希望對大家的iOS開發進階之路有所幫助。

鏈接:https://pan.baidu.com/s/1ZGaFruM3ow1mQ6q8erZXFA 

提取碼:9fty

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章