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

Похожие статьи:
Понад пів року ми висвітлюємо, як реагує, допомагає та працює ІТ-індустрія під час війни. У новому випуску обговорюємо закордонні...
Редакція DOU запускає рейтинг банків за кількістю ІТ-спеціалістів. До нього потрапили банки, які працюють в Україні. Наразі...
Привет! Меня зовут Сергей Шелехов. Я программист, работаю с .NET. В 2017 году мы с женой переехали жить в Израиль, где...
Прем’єр-міністр Денис Шмигаль розповів про кроки уряду для збору додаткових коштів на оборону. Серед рішень —...
2015 год движется к концу. Позади много переживаний, эмоций, достижений и ошибок. Но как-то закрадывается...
Яндекс.Метрика