老司機 iOS 週報 #21 | 2018-05-28

老司機iOS週報發表於2018-05-28

老司機 iOS 週報,只為你呈現有價值的資訊。

你也可以為這個專案出一份力,如果發現有價值的資訊、文章、工具等可以到 Issues 裡提給我們,我們會盡快處理。記得寫上推薦的理由哦。有建議和意見也歡迎到 Issues 提出。

專欄

? ? 普通本科如何畢業入職一線網際網路公司

我們老司機 iOS 專欄內最新出爐的一篇文章。作者畢業於一所普通的三本院校,從面試五分鐘就被請出去,到現在就職於一線網際網路公司,這期間有太多的思考、討論、覆盤和抉擇。一些經驗,希望給後來的同學帶來一些幫助。

? CocoaPods 進階之利用 Subspec 實現程式碼“模組化”

老司機小專欄的文章,主要講如何利用 Subspec 對 framework 內部程式碼進行模組化,讓呼叫者做到「按需引入」。

文章

? ? 分散式系統的全面介紹

最近幾個月看過最好的文章。在有限的篇幅裡真正全面的介紹了分散式系統。作為客戶端研發,對分散式系統其實一直都有很多疑問,平行計算是分散式,mysql 主從也是分散式,他們之間是什麼關係?去中心化和分散式是一樣的嗎?後端研發的週報裡整天提的 kafka 是些什麼玩意兒, 它和 hadoop 有什麼關係?分散式能同時保證 availability 和 consistency嗎?這類問題我能提一天。

文章首先丟擲一個核心觀點,分散式的設計都是圍繞 consistency 和 availability 來做 trade-off,然後從資料庫、訊息派發、應用程式、計算、檔案系統等不同應用場景的分散式應用進行了科普和討論,解答了基本我所有的疑問,並且還將一些我連怎麼問都不知道的疑惑都解釋得很清楚,文章的最後一章分散式賬本,還帶我第 N 次的入門了比特幣和區塊鏈(希望是最後一次) (:зゝ∠)。總之,這是一篇值得花時間仔細閱讀的文章。

? 如何自動化測試 React Native 專案

系列文章共兩篇,上篇從自動化測試的核心思想入手,介紹了 E2E 測試與單元測試。E2E - 通過 UI 來從頭到尾(End-To-End)的測試,這種測試其實就是我們常說的 UITest。針對 RN 專案下的 UITest 文章推薦了 Detox 這款框架,而這款框架的底層用的是 google 的 Earl Grey。

下篇從單元測試入手介紹了基於 React 的各種可用測試工具,包括純 JS 邏輯的單元測試/元件渲染 Dom Diff 測試/元件通訊互動測試/Reducer/Action handler/Selector/Utils 測試等等。並且把多種測試模式合併起來,形成整合測試。

? iOS 業務元件化框架 Axe 詳解

業務元件化是近幾年非常火的 APP 架構思路, 究其原因,隨著業務發展,APP 的規模也逐漸膨脹,程式碼管理與協作開發變得困難,編譯耗時也屢創新高,應用功能的拆分與研發團隊的拆分也不可避免。

本文使用元件化框架 Axe 闡述瞭如何解決程式碼隔離,單獨編譯,元件互動三個問題。值得對元件化有興趣的小夥伴們學習。

? Using Dedicated Objects as Delegates & Datasources

使用專門的物件去作為 tableView 的 delegates 和 datasources,即可減少 viewController 的程式碼,又能使這些程式碼被多個 viewController 複用,需要的話,還能方便的進行資料展示形式的切換。也可以為多個 tableview 寫一個 datasources 展示不同的 cell 樣式,做到資料展示形式的複用。

? Network Extension Intro

如果你還沒用過 Network Extension,你也許會對它的強大感到驚訝,它提供了其它框架不具備的系統底層介面,讓你能夠自定義系統的核心網路功能。

這篇文章的作者將帶你瞭解 Network Extension 的功能和用途,這只是這個系列的第一篇,簡單概括了 Network Extension 的功能,下篇將會詳細講解 NEPacketTunnelProvider 並且帶你深入蘋果的示例專案 SimpleTunnel,對於 NE 感興趣的同學可以關注一下。

NSAttributedString in Swift using SwiftRichString 2

SwiftRichString 開源庫的使用教程,是一個很不錯的富文字樣式語法糖,對於經常要處理富文字的應用可以嘗試一下。

? Build Incrementation Techniques for iOS Release Train

本文首先介紹了蘋果官方對 version 和 build 號的一些規範,然後介紹了幾種可持續整合中自動增加管理 build 號的方式,個人比較喜歡 fastlane 這種。

Introducing ARKit by Tutorials

Ray Wenderlich 的新書《ARKit by Tutorials》,在這本書裡會教你如何構建漂亮的擴增實境 app,包括沉浸式的科幻傳送門、撲克牌篩子和麵部追蹤 app 等等。在學習的過程中,你會接觸到往場景中新增物件、管理 session、建立真實的遊戲物理效果以及其他方面的內容。目前正在首發限時特價銷售中。

音視訊

? UIKonf 2018 視訊資源

UIKonf 是柏林的一個獨立開發者會議,會議剛於 5.13-5.16 結束,現在他們將視訊 po 到 Youtube 上。主題非常豐富,包含技術、設計等內容。

關注我們

我們開通了公眾號,每期釋出時公眾號會推送訊息,歡迎關注。

老司機 iOS 週報 #21 | 2018-05-28

同時也支援了 RSS 訂閱:github.com/SwiftOldDri…

本期編輯

@沒故事的卓同學@四娘@mmoaay@享耳先森@Damonwong@折騰範兒_味精@張嘉夫@AidenRao@Parsifal@aaaron7@方秋枋

說明

? 表示需翻牆,? 表示編輯推薦

預計閱讀時間:? 很快就能讀完(1 - 10 mins);? 中等 (10 - 20 mins);? 慢(20+ mins)

相關文章