老司機 iOS 週報 #203 | 2022-05-23

語言: CN / TW / HK

theme: github highlight: solarized-light


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

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

新聞

《WWDC22 內參》作者招募 &《WWDC21 內參》免費領取

《WWDC22 內參》作者招募工作正式開始,請感興趣的朋友點選上方連結參與報名,報名截止時間為 5 月 30 號。

去年我們第一次公開招募了一些新的同學參與進來,同時也引入了稽核機制,最終交付了一份還算滿意的答卷。103 篇文章、2810 份訂閱、幾十萬的閱讀量,這些資料都要比往年要好,非常感謝大家對老司機技術的支援和信任。《WWDC21 內參》也已經可以免費領取,在老司機技術週報公眾號中回覆「2022」即可獲取連結。

 Developer - 設計開發加速器

設計高效的 UI 測試

2022 年 5 月 31 日(報名截止 5 月 16 日)

瞭解如何設計測試,來幫助你發現和診斷最棘手的漏洞。我們將解釋如何使用 XCTest 改進您的自動化測試,以找到程式碼中的隱憂,以及如何準備測試以應對失敗。從而更輕鬆地對問題進行分類,以便您可以快速解決問題,並修復錯誤。理解中斷,學習如何預測 App 的潛在中斷、建立智慧測試以識別它們。通過使用 UI 中斷處理,構建更好的測試,管理預期的警報。

156925166-f0e9ae02-0d06-4806-aa19-e84d84e2fd1f

文章

Dutter | 釘釘 Flutter 跨四端方案設計與技術實踐

@老峰:Dutter 即 DingTalk Flutter,是釘釘內基於 Flutter 構建的跨四端研發框架,本文主要包含以下內容: - 整體架構: Dutter Runtime、Dutter Dev Kit、Dutter OPS Kit; - 資料通訊包括:Channel、Dutter FFI; - 訊息匯流排; - 模組化; - 容器化; - 元件庫:dingui_flutter 、dingtalk_uikit; - 最佳實踐以及部分 FlutterEngine 層面的問題定位等。

🐕 Scripting in Swift: Git Hooks

@享耳先森:Swift 除了用於 App 還可以幹什麼?本文作者使用 Git Hooks 結合 Swift Command Line Tool 解決真實工作場景中遇到的問題,如果你也有類似需求又不熟悉其他指令碼語言,Swift 是很好的解決方案。

🐕 京東 App MCube 動態化實踐

xuyafei:在京東 App 業務高速發展的過程中,為了使更快的需求響應速度與研發人力和穩定性需求之間達到平衡,京東自研了一套原生的“動態化+跨端”框架 MCube。本文對其方案進行了簡單介紹,其通過三方庫 Yoga 作為其佈局引擎;通過 XML 作為 DSL 描述原生控制元件;通過協議層對接各個可插拔元件。另外還有其容器分層架構的設計、配套管理平臺和開發套件等介紹,感興趣的同學可以閱讀原文了解。

程式碼

Euclid: a Swift library for creating and manipulating 3D geometry

@蓮叔:這是一個能讓你非常方便建立和操作各種基礎3D模型的程式碼庫,並且可以非常方便的和 SceneKit 相關的場景進行整合。傳統的方法中,要建立三維模型然後新增貼圖,往往都需要編寫上百行 OpenGLES 的程式碼才能實現,而通過 Euclid,建立模型就如同建立一個普通的 View 那樣簡單,感興趣的朋友可以看一下作者開發的一個 macOS App:ShapeScript, 可以通過文字描述的方法建立三維模型,可以說這個開源的元件就是這個 App 的SDK版。應該有非常多有趣的功能可以實現。

Runestone

Runestone 是一個高效易用的程式碼編輯器庫,最大的亮點是:

  • 使用原生技術實現,不需要依賴於 WebView
  • 使用 TreeSitter 作為 Parser 後端,可以高效地進行增量解析,相容大部分主流程式語言
  • 借鑑了 AvalonEdit 的 Line Management

摸魚週報

@摸魚週報 #53:第 53 期摸魚週報來了,一起來看下本期概要:

  • 話題:遠端工作正在成為趨勢
  • 面試模組:CRC 實踐應用:理論推導
  • 優秀部落格:App Extension
  • 學習資料:一個大學生的學習計劃
  • 開發工具:適用於 macOS 的現代媒體播放器,IINA 由開源媒體播放器 mpv 提供支援,幾乎可以播放您擁有的所有媒體檔案。

內推

老司機週報團隊聯合知識小集和 SwiftGG 翻譯組收錄了一份靠譜的內推職位。

如果你想找工作,點這裡:https://www.yuque.com/iosalliance/article/bhutav

如果你想招人,點這裡:https://www.yuque.com/iosalliance/article/ycyhf3

當然,也歡迎你關注我們每一期的週報,我們會在每期週報底部及時更新編輯內推崗位。

關注我們

我們是「老司機技術週報」,一個持續追求精品 iOS 內容的技術公眾號,歡迎關注。

關注有禮,關注【老司機技術週報】,回覆「2021」,領取 2017/2018/2019/2020 內參

同時也支援了 RSS 訂閱:https://github.com/SwiftOldDriver/iOS-Weekly/releases.atom 。

說明

🚧 表示需某工具,🌟 表示編輯推薦

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