老司機 iOS 週報 #40 | 2018-10-22

老司機iOS週報發表於2019-03-04

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

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

新聞

New LSP language service supporting Swift and C-family languages for any editor and platform

這應該是過去一週 Swift 社群最大的新聞,Apple 將主導一個新的開源專案,來為其在 Xcode 生態中的 Swift 和 C family 的語言新增 LSP 的支援,這意味著之後在 VS Code 上寫 Swift 也能享受自動完成,定義跳轉等功能。目前來看,Swift 已經成為全域通用型程式設計語言,但目前對於非 Apple 生態下的 Swift 開發的工具體驗並不友好,Apple 此舉無疑對於 Swift 社群是重大福音。

Photoshop for iPad hands-on: an exclusive look

Adobe 在近期的 Max 大會上釋出了 Photoshop iPad 版本的預覽版,正式版將在 2019 年釋出。The verge 進行了評測,結合月底蘋果的釋出會,隨著全面屏 iPad Pro 的更新,可能會有一系列生產力 app 隨之釋出。

文章

? SwiftOldDriver 精選: Diff 演算法在 iOS 中的應用(一)

文章來自 SwiftOldDriver 精選,將是一個系列,本文是開篇:講 Diff 演算法的一些基本概念。

在計算機領域中,Diff 是一個很重要的概念,被廣泛的運用於各式各樣的場景。比如說,React 利用 Diff 優化 Dom 重新整理導致的效能問題;Git 藉助 Diff 演算法實現了版本之間的差異化對比;騰訊 Tinker 熱修復藉助 Diff 演算法生成 patch 包等。

? Xcode 10 Library Tips

相信不少人已經更新到了 Xcode 10。Xcode 10 的 UI 控制元件視窗從右下角挪到了右上角。預設的使用邏輯是點開後,拖拽一個控制元件到介面上控制元件視窗會自動消失。如果一個頁面需要連續拖幾個控制元件就會很痛苦。所以分享一個重要的 tip:按住 option 建點選彈出控制元件視窗的按鈕,視窗就會常駐

? 拍照聚焦和曝光,AVFoundation 簡明教程

這是利用 AVFoundation 實現拍照、聚焦和曝光等功能後的一篇總結文章,包含程式碼和示例,對有這方面應用需求的朋友可以花點時間看看。

? Unleashing the power of asset catalogs and bundles on iOS

對於 iOS 開發者來說,BundlesAsset catalogs 應該是再熟悉不過了。文章介紹了一些高階用法,特別是利用 Asset Catalogs 儲存一些配置檔案,可以給不同的裝置配置不同的值,開啟了另一個世界。文末還結合 BundlesAsset catalogs 介紹了一個實際 App 中的使用場景。

? Tricky UIViewController transition animations

目前有很多為初學者準備的簡單過渡動畫教程,但鮮有為高階開發者準備的。在這篇文章裡,作者圖文並茂地分享了他最近實現的幾個複雜過渡動畫,以及幾個他在實現過渡動畫時的小技巧。

? 揭祕Flutter Hot Reload(原理篇)

本文介紹了 Flutter 的熱過載(HotReload)的實現原理,如果有興趣自行實現熱過載(HotReload)特性的同學可以關注一下。

  • Flutter 熱過載的關鍵程式碼位於/flutter/packages/flutter_tools/lib/src/run_hot.dart
  • 在需要重新載入時,掃描有修改的檔案,通知 UI 執行緒重繪 View 樹
  • 在 Flutter 中,因為 Dart 程式碼是工作在自己的 VM 下,所以 UI 層的 reload 是通過服務註冊的方式來跟外界進行打交道的

? Time​Interval, Date, and Date​Interval

作者講述了 Time​Interval、 Date、 Date​Interval 的歷史由來。使用這些 API 的同時瞭解這些有趣的歷史,不失為一個愉快的過程。

程式碼

Panda - 基於 Swift 的 Autolayout 實現

使用 Swift 重新實現 Cassowary 演算法、不依賴 UIView 的 Autolayout 機制,使得 Layout 和渲染都可以在後臺進行。拋去多執行緒的影響,演算法本身的效率也是略高於 Apple 的實現,即使不用的話,也可以通過原始碼瞭解 Autolayout 內部的運作原理。

內推

關注我們

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

老司機 iOS 週報 #40 | 2018-10-22

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

本期編輯

@沒故事的卓同學@四娘@享耳先森@Damonwong@折騰範兒_味精@張嘉夫@AidenRao@Parsifal@aaaron7@方秋枋kyotom510230anotheren水水looping@JasonYuh@老老老老老老老驢@小非86

說明

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

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

相關文章