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

Похожие статьи:
Ми зустрілися з Віктором Жорою, заступником голови Державної служби спеціального зв’язку та захисту інформації України з питань...
Компанія MacPaw відкрила лабораторію штучного інтелекту в КПІ ім.Сікорського. Вона розташована в приміщенні колишнього коворкінгу...
Алексей работает фулстек-разработчиком в аутсорсинговой компании, офис которой находится в одном из районных центров Беларуси....
Привіт, мене звати Антон Маслов, я VP of Operations у продуктовій компанії iDeals Solutions. У ній забезпечую і вдосконалюю, зокрема, процес...
Влада Німеччини закрила один із найбільших у світі ринків даркнету Hydra Market. Це — маркетплейс із оборотом щонайменше $2 млрд,...
Яндекс.Метрика