Новости
Digest MBLTdev: Новости для iOS разработчиков №246
В течение недели топовые iOS-разработчики собирают для нас интересные и полезные ссылки на статьи, необходимые для прочтения каждому начинающему и опытному разработчику. В каждом выпуске – новости, коды, инструменты, дизайн и прочее.
Дождались — релиз MacBook Pro 16! Экран больше, производительность выше, накопитель вместительней. В клавиатуру вернули старый механизм «ножницы» (теперь это Magic Keyboard), кнопку Esc сделали физической (теперь зависший TouchBar — не проблема), «стрелочки» сделали одинакового размера, батарею увеличили до максимума (более ёмкий аккумулятор в самолёт не пронести), охлаждение улучшили, видеокарты переехали на 7-нм техпроцесс, а цена осталась прежней. Создаётся ощущение, что Apple повернулась лицом к разработчикам. Что ещё нужно для счастья? Пожалуй, обновление MacBook Pro 13.
Xcode 11.2.1 Release Notes
Мне кажется, или Apple в этом году зачастила с обновлениями и фиксами для Xcode? На этот раз — Hotfix к Xcode 11.2, устраняющий единственную проблему — краш приложения при добавлении UITextView через Storyboard на iOS 13.2 и выше. Xcode 11.2, кстати, попал в чёрный список, и загрузить с помощью него приложение в App Store не получится.
How Swift Achieved Dynamic Linking Where Rust Couldn’t
Если хочется глубже погрузиться в понимание внутреннего устройства Swift, то этот материал вам понравится. В нём описываются детали реализации стабильного ABI, почему принимались определённые решения на этапе разработки и приводится сравнение с имплементацией в языке Rust. Автор, кстати, принимал участие в разработке этих языков.
swiftui-recipes-app
Исходный код приложения на SwiftUI с использованием архитектуры Redux с рецептами.
SwiftUI Architectures: Model-View, Redux & ViewState MVVM
Ещё один пример приложения, созданного с помощью SwiftUI и демонстрирующего возможности реализации с помощью трёх разных архитектур — Model-View, Redux и ViewState MVVM.
Sound Classification on iOS Using Core ML 3 and Create ML
Пример приложения, которое используюет Core ML 3 для того, чтобы по голосу определить, кто перед вами — мужчина, женщина или боевой вертолёт.
Swift Atomic Properties with Property Wrappers
Реализация Atomic-свойств с помощью Property Wrappers в Swift 5.1.
// MARK: — What is it?
Что такое MARK, TODO, FIXME в коде, на что они влияют и как отображаются в Xcode.
Reusable Image Cache in Swift
Имплементация кэша для изображений с небольшими оптимизациями.
Loady
Библиотека для любителей добавить спиннеры, лоадеры и прогресс бары в кнопку. Причем можно не ограничиваться чем-то одним, а запихать всё и сразу!