老司機 iOS 週報,只為你呈現有價值的資訊。
你也可以為這個專案出一份力,如果發現有價值的資訊、文章、工具等可以到 Issues 裡提給我們,我們會盡快處理。記得寫上推薦的理由哦。有建議和意見也歡迎到 Issues 提出。
新聞
Flutter 智慧鬧鐘挑戰賽評選結果揭曉
@zvving:Google 聯合 Google Assistant、聯想,發起的 Flutter 智慧鬧鐘挑戰賽已經評選結束,獲獎及提名作品均有原始碼奉上,Flutter 愛好者不容錯過。
賽事網址:flutter.dev/clock
文章
? ? Flutter 在位元組跳動的現狀與工程實踐
@含笑飲砒霜:這是一篇主要分享 Flutter 在位元組跳動的現狀以及工程實踐經驗的深度好文。位元組跳動希望把 Flutter 打造成下一代研發體系,支撐眾多 App 的各種使用場景。文章分為幾個部分:
-
Flutter 在位元組跳動的現狀
- Flutter 的優勢與業務現狀
- 建設進展與規劃簡介
-
工程實踐
- FlutterW 研發套件
- 容器化工程方案
- ByteRedux 狀態管理方案
-
總結與展望
尤其是工程實踐部分,FlutterW 研發套件標準化了 Flutter 的開發環境,提供了方案統⼀實施的能⼒。容器化方案讓執行環境提供統⼀基礎能力,真正實現“Write Once, Run Everywhere”。 ByteRedux 狀態管理方案以很低的成本解決了 Redux 的問題,保留了 Redux 的優勢,使其可以適應大中小型應用。位元組跳動基於 Flutter 技術落地的解決方案以及相關的技術創新,相信會為更多企業和開發者提供啟發和借鑑!
? Four Easy Ways to Debug Network Requests in Flutter
@老峰:這篇文章分享了關於 Flutter 網路請求 Debug 的四種方式:
- 使用log 日誌:使用 logs package 列印日誌,可讀性較差
- 使用 Alice:整合在 Flutter App 內部,視覺化的展示網路請求記錄
- 使用 Flipper:來自 Facebook 的 桌面 App
- 使用 Proxy 代理:在網路框架中配置代理 IP,配置 Charles,這個也是作者推薦的方式
? How Swift imports C APIs
@xiaofei86:當 Swift 從基於 C 的語言(C,Objective-C)匯入一個模組或者解析 bridging header 時,這些語言的介面被對映為 Swift 介面以便可以在 Swift 程式碼中直接使用。這提供了 Swift EFI 功能的基礎(Foreign Function Interface 外部函式介面)— 對基於 C 的語言開發的庫提供互相操作的能力。
本文為蘋果的官方文件,講述了介面怎樣從基於 C 的語言對映到 Swift。文章的受眾很廣,在必要的時候會解釋一些高階概念,除了技術專家,也推薦給 Swift 和 C 語言的初學者。
? Swift.org - Announcing ArgumentParser
@AidenRao:Swift 釋出 ArgumentParser,一個命令列解析庫。可以讓人輕鬆編寫使用者友好的命令列介面。程式定義它需要的引數,然後 ArgumentParser 將對命令列進行解析,支援子命令,自定義幫助和引數驗證提示。
工具
zld
@四娘:一個更快的 linker。在大型專案裡增量編譯 link 階段的耗時佔用非常大,這個專案在 Apple 版本的基礎上改為使用更加高效的 Hash 實現,增加任務的並行處理,Benchmark 顯示 link 時間比原本縮短了 40% 左右。
推薦人:SketchK
程式碼
? DarkModeKit
@Damonwong: Microsoft 作為老牌的軟體公司,開發了不少優秀的 iOS App,比如 Office 套件。年前的時候 Office 有了一次比較大的更新,同時也支援了 DarkMode。令人興奮的是,Office 套件中使用的 DarkModeKit 已經開源了。感興趣的可以瞭解一下
本人也學習和了解了一下 DarkModeKit 的原始碼,不得不說 DarkModeKit 的程式碼質量也非常高,非常值得學習。
KeyboardGuide
@EyreFree:眾所周知的是,iOS 開發中如何優雅地處理鍵盤是一件比較有挑戰性的事情。我們可以通過搜尋引擎找到很多方案,但大多數都不是很完善。KeyboardGuide 將各種需要考慮的狀況都包含在內,並且對 iPad 也提供了良好的支援,有需求的同學可以嘗試一用。
音視訊
Vue.js - The Documentary,Vue.js 紀錄片,配中文字幕
@享耳先森:紀錄片總長 30 分鐘,記錄 Vue 的發展過程。
尤雨溪在片中講了 Vue 名字由來,介紹了關鍵時間節點的發展過程,也和 Angular
React
做了些對比。
內推
老司機週報團隊聯合知識小集和 SwiftGG 翻譯組收錄了一份靠譜的內推職位。
如果你想找工作,點這裡:www.yuque.com/iosalliance…
如果你想招人,點這裡:www.yuque.com/iosalliance…
當然,也歡迎你關注我們每一期的週報,我們會在每期週報底部及時更新編輯內推崗位。
關注我們
我們開通了公眾號,每期釋出時公眾號(OldDriverWeekly)會推送訊息,歡迎關注。
同時也支援了 RSS 訂閱:github.com/SwiftOldDri… 。
說明
? 表示需翻牆,? 表示編輯推薦
預計閱讀時間:? 很快就能讀完(1 - 10 mins);? 中等 (10 - 20 mins);? 慢(20+ mins)