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.

Відео

CocoaHeadsNL

Mobius

FunCorp iOS meetup #2

Saint AppsConf 2019


? Попередній випуск: iOS дайджест #36

Опубліковано: 25/04/20 @ 10:00
Розділ Різне

Рекомендуємо:

Огляд Akka.NET: проектувати IoT-системи з допомогою цієї бібліотеки
Введення в GraphQL: що це за мова і як використовувати його під Android
Варіанти кроссплатформної розробки мобільних додатків
По той бік огорожі: бізнес-аналітик про роботу в ролі продакт-оунера
«Потрібно давати людям грати. Ставити складні завдання. Платити за їх помилки». Олександр Конотопський — про завдання Ajax Systems, найм інженерів і українському продукті