Bo2SS

Bo2SS

2 應用開發篇(資料推薦)

大家好,這裡是 Bo2SS,上次提到了應用開發篇還差一份資料推薦的加餐,這不馬上加上~

互聯網時代,學習資料基本上是應有盡有、琳琅滿目了,但對於學習者來說,選擇適合自己的優質學習資料已經成為一大難題。

如果能夠快速找到經過檢驗的、適合自己的學習資料,不僅可以提升我們的學習效率,還能幫助我們快速解決現階段遇到的問題。

所以,這份加餐主要是整理了作者推薦的一些在線資源相關書籍,開發者們趕快收藏起來吧!

image


關鍵字」Open Source、知名公眾號、Apple 官方資源、修煉內功


在線資源#

系統學習#

Open-Source iOS Apps:收錄了很多優秀的、完整的開源 App,分類細緻,並專門標記了上架 App Store 的 App,適合通過完整的例子學習 App 開發。

Awesome iOS

  • 眾所周知的 Awesome 系列,但凡是有一定知名度的領域,都有自己的 Awesome xxx 項目。

  • 它最大的特點就是大而全,囊括了從開發、調試到發布的各種學習資料,也包含了博客、書籍、教程、播客和郵件訂閱等推薦。

  • 同時,還有更細分的 Awesome 子系列推薦,比如 Awesome ARKitAwesome iOS Interview(一款收集了常見面試問題的 App,上架了 App Store,親測使用需要借助梯子🪜)。

  • 最後作者建議,當你遇到任何 iOS 的問題時,都應該先到這個網站看看

Awesome iOS Interview

查漏補缺#

界面交互

冷知識點

  • NSHipster:由 AFNetworking 和 Alamofire 的作者 Mattt 維護的網站,主要關注一些不常用的 iOS 知識點。

開發者 / 團隊

  • Swift 知名開發者:了解走在 iOS 領域前沿開發者的視野和 iOS 最新的動向。

  • Swift 開源項目團隊:如果你正在使用他們的開源項目,通過關注他們的動向,可以隨時了解這些開源項目的最新進展。

  • PS:iOS 知名開發者基本都偏向 Swift 了。

我關注的一些公眾號

  • 老司機技術周報(定期周報)、iOS 成長之路(定期周報)、starming(作者本人)、SwiftGG 翻譯組(關注 Apple 生態)、Bo2SS(與你一起成長👀)。

  • 「公眾號裡附上鏈接」

其它

官方資源#

💡 當然還少不了對 Apple 官方資源的關注:

WWDC22


相關書籍#

如果你想要透徹地掌握某領域的專業知識,還是需要靜下心,通過閱讀相關書籍來慢慢學習。

Objective-C#

Objective-C 編程》、《iOS 編程》:

  • The Big Nerd Ranch 出品,均屬於不錯的入門書

  • 目前自己就在過一遍,有機會整理出一些筆記。

Objective-C 高級編程》:

  • 圍繞 OC 中 3 個核心知識點展開:內存管理、Block、GCD(Grand Central Dispatch)

  • 基於蘋果公開的源碼,講解透徹。

Effective Objective-C 2.0》:

  • 眾所周知的 Effective 系列,但凡是有一定知名度的語言,都有……

  • 從語法、接口與 api 設計、內存管理、框架等 7 大方面總結和探討了 OC 編程中 52 個鮮為人知和容易被忽視的特性與陷阱,屬於進階讀物

Swift#

Raywenderlich > Books 平台:

  • 一步一步教你掌握一些開發知識,內容非常實用,質量非常不錯。

  • 涉及面很廣,比如 ARKit、數據結構和算法的 Swift 版、設計模式、Core Data、iOS 動畫、Apple 調試和逆向工程、RxSwift、Realm 和遊戲開發等等。

  • 此外,該網站還包含學習路徑、視頻和文章等其它優質內容。

objc.io 平台:

  • 從原理和源代碼實現的角度來講解知識點。

  • 內容比 Raywenderlich 出版的圖書更深入,適合有一定 iOS 開發經驗的人閱讀。

Source: InfoQ

不變的通用知識#

程序員的自我修養 - 鏈接、裝載與庫》:

  • 詳細且深入地講解了硬件、操作系統、線程的知識,幫你從代碼編譯、鏈接到運行時內存虛擬空間和物理空間映射的角度,了解一個程序從編寫到運行時的底層知識的方方面面,有助於你理解系統工作原理

  • 閱讀本書之前,你需要先掌握 CPU、計算機原理、匯編、編譯原理、C 語言、C++ 語言等計算機學科的基本知識。

架構整潔之道》:

  • 創造 “Clean 神話” 的 Bob 大叔在架構領域的登峰之作,裡面架構設計的思想永遠不會過時,並適用於所有的知識領域。

  • 詳細分析了架構的目標價值、編程範式、架構設計原則、組件拆分和邊界處理,並通過實踐案例把所講知識都串了起來,便於讀者理解。

  • 當你有了大量編程經驗,需要考慮工程架構合理性的時候,推薦閱讀。

💡:很多經典值得你反復閱讀,不同階段閱讀也會有不同的體會和收穫。

小結:有些知識是永遠不會變的,只要抓住這些知識,不管上層如何變化,你都能抓住核心,掌握技術的走向,也就不會感到知識焦慮。


其它:熱點問題答疑(三)#

什麼是 WatchDog 機制?

Source: CSDN

  • WatchDog 機制是蘋果公司設計的一種為了避免 App 界面無響應造成用戶無法操作,而強殺掉 App 進程的機制。

  • 造成 App 界面無響應的原因種類太多,於是蘋果公司採用了一刀切的做法:凡是主線程卡死一定的時間就會被 WatchDog 機制強殺掉(這個卡死時間,WatchDog 在 App 啟動時設置的是 20 秒,前台時設置的是 10 秒,後台時設置的是 10 分鐘)。

  • 由於 WatchDog 強殺日誌屬於系統日誌,所以你的 App 上線後需要自己來監控卡頓,這樣才能夠在 WatchDog 強殺之前捕獲到 App 卡死的情況,可參考蘋果公司關於崩潰分析的文檔:Diagnosing Issues Using Crash Reports and Device Logs


對於第三方庫的使用,作者建議:

  • 如果和業務強相關,比如埋點或者 A/B 測試這樣的庫,最好是自建,然後可以借鑒開源庫的思路;

  • 對於一些通用性強的基礎庫,比如網絡庫和持續化存儲的庫,可以直接使用成熟的第三方庫,既可以節省開發和維護成本,又能夠提高產品質量;

  • ➕還有種情況就是,對於較小的、只有幾個 iOS 開發人員的團隊來說,還是儘可能使用開源項目,可以優先去 Awesome iOS(前文提到過)上找適合團隊的項目。

PS:有評論推薦 Firebase 的 A/B Testing SDK,它整合了數據上報、數據分析、PUSH 消息和 AI 預測等 Firebase 的其他功能,這樣大大降低了數據分析的成本。


好啦,應用開發篇到此結束!下次就要真正開始原理篇的內容了。

如果你還有一些非常不錯的學習資料,歡迎在下方給 Bo2SS 留言推薦,也歡迎轉發本文給有需要的朋友~

咱們下次見!

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。