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

Похожие статьи:
У многих склонность к точным наукам начинает проявляться еще в детстве. В школе попадаешь в математический класс. С русским языком...
Ассортимент видеорегистраторов Digma пополнился бюджетной моделью Digma FreeDrive 201 в удобном форм-факторе. Новый видеорегистратор заключен...
Якщо влітку рейтинг бив негативні рекорди, то у другому півріччі ситуація кардинально змінилася. Компанії повністю оговталися від...
To begin with, the United Kingdom (UK) is paving the way for a future dominated by online retail. Many recent surveys indicated that the UK is the country that spent the most money each year on online shopping. As a result, more and more...
Компания KREZ представила два новых планшета на базе Windows 10 – TM1004B32 3G GPS и TM1004B16 3G, оснащенные 10,1-дюймовыми дисплеями,...
Яндекс.Метрика