iOS дайджест #37: MVVM + SwiftUI, досвід використання Catalyst
У випуску: сек'юріті рев'ю додатків в AppStore, SwiftUI під капотом, CLI для iOS-додатків і багато крутих бібліотек.
Статті
iOS Performance tips you probably didn't know (from an ex-Apple engineer)
Поради щодо продуктивності на iOS. Про UILabel було несподівано.
Capture Lists
Стаття від старожила iOS-розробки щодо змінних, здобутих блоками.
SwiftUI defaults considered harmful
Про особливості реалізації SwiftUI. Наприклад, ви не можете покласти більше 10 views у колекцію.
Modern MVVM iOS App Architecture with Combine and SwiftUI
Туторіал по MVVM на SwiftUI. Такий собі Redux вийшов.
Mastering buttons in SwiftUI
Нарешті робота з кнопками з допомогою SwiftUI стала простіше. Особливо порівняно з NSButton.
TextField in SwiftUI
І ще про нюанси з TextField.
How to Swizzle All of UIKit
Чому б не взяти і не засвизлить всі методи UIKit.
Xcode Build Settings
Список всіх налаштувань Build Settings.
Writing command line interfaces for iOS apps
CLI на Swift можна використовувати не тільки для утиліт, але і для iOS-додатків за допомогою MultipeerConnectivity framework. Наприклад, тестувати пуши або підставляти потрібні дані.
How Collection Diffing works in Swift
Трохи хардкору: як працює пошук дифов для колекцій.
Going Deep With Decodable
Люблю формат «проблема — рішення». Саме в такому форматі описані 4 типові проблеми та їх вирішення при роботі з Decodable.
Bringing Adaptivity to Mac Catalyst
Відмінний гайд, як хлопці переводили iOS-додаток під Mac за допомогою Catalyst.
A security review of 1,300 AppStore applications
З одного боку, це цікаве рев'ю аспектів безпеки, а з іншого — це все дивно. Невже так багато додатків роблять щось для захисту.
Coordinator pattern in iOS 13 world
Патерн «координатор» вже щільно проник у життя iOS-розробників, але от з iOS 13 і SceneDelegate є кілька нюансів.
Бібліотеки
Timelane — дебагінг асинхронного коду через Instruments.
LocalizedSwift — локалізація через Property Wrappers.
SecurePropertyStorage — і заодно — UserDefault і KeyChain через Property Wrappers.
zld — більш швидка альтернатива эпловому линкеру.
SourceKitForSafari — те, чого завжди не вистачало — переходи та документація в GitHub.
AnyLint — якісна заміна кастомних правил SwiftLint. Не радує тільки, що треба тягнути ще одну залежність через Brew.
SPMReady — якщо хочете переїхати з CocoaPods або Carthage на SPM, то це просто незамінна бібліотека, щоб зрозуміти, чи підтримують усі залежності SPM.
github.com/bitomule/SwiftyPods — опис Podspec на Swift.
Відео
? Попередній випуск: iOS дайджест #36
Опубліковано: 25/04/20 @ 10:00
Розділ Різне
Рекомендуємо:
Огляд Akka.NET: проектувати IoT-системи з допомогою цієї бібліотеки
Введення в GraphQL: що це за мова і як використовувати його під Android
Варіанти кроссплатформної розробки мобільних додатків
По той бік огорожі: бізнес-аналітик про роботу в ролі продакт-оунера
«Потрібно давати людям грати. Ставити складні завдання. Платити за їх помилки». Олександр Конотопський — про завдання Ajax Systems, найм інженерів і українському продукті