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

Похожие статьи:
.NET — це платформа від Microsoft для створення програмного забезпечення. Сьогодні вона досить популярна, про що свідчить велика кількість...
Компания Nikon анонсировала компактные фотокамеры класса премиум, выпуская новый ряд портативных моделей Nikon DL, включающие три модели:...
Міністерство економіки розробило попередній проєкт постанови Кабміну, що регулюватиме сервіс «єБронювання». Наразі її погоджують...
Японская компания Sony анонсировала очередную линейку USB накопителей – CA1, оснащенных новым разъемом USB Type-C с одной стороны и...
15 липня 2021 року Верховна Рада ухвалила законопроєкт про стимулювання розвитку цифрової економіки в Україні № 4303 у другому...
Яндекс.Метрика