Выпуск №232

09 августа 2019

Безопасность — главная проблема последнего десятилетия. Корпорации заявляют о промышленном шпионаже, крупные авиалинии блокируют вылеты из-за подозрений на взлом, Apple обещает миллион долларов любому, кто найдёт уязвимость в ядре любого их продукта и раздает исследователям специальные версии iPhone с возможностью поставить процессор на паузу и проследить путь каждого байта. Если вы цените своё спокойствие (и душевное равновесие ваших пользователей), не инвестируйте в биткоины, инвестируйте в безопасность.

  • %d0%94%d0%b8%d0%b7%d0%b0%d0%b9%d0%bd %d0%b1%d0%b5%d0%b7 %d0%bd%d0%b0%d0%b7%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f %2813%29

    Вадим Дробинин

  • %d0%94%d0%b8%d0%b7%d0%b0%d0%b9%d0%bd %d0%b1%d0%b5%d0%b7 %d0%bd%d0%b0%d0%b7%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f %288%29

    Юрий Петухов

СВЕЖАК ДЛЯ iOS-РАЗРАБОТЧИКОВ

Digest MBLT DEV — это собрание самой полезной и свежей информации для iOS-разработчиков с просторов мирового интернета. Выпуск выходит каждую пятницу. Подписка бесплатная. И никакого спама, честно!

ПодписатьсяSafari push notifications

Новости

Apple Confirms $1 Million Reward For Anyone Who Can Hack An iPhone

Forbes сообщило о том, что Apple собирается запустить программу по поиску багов в iOS и предоставить участникам специальные устройства с более широкими возможностями для поиска уязвимостей. Доступ будет только по приглашениям, а награды обещают вплоть до 1 000 000$.

Код

Phantom types in Swift

Написание хорошего API — не самая простая задача, особенно когда дело касается функций, принимающих различные типы, а проверки на корректную реализацию хочется выполнять во время компиляции приложения. В этой ситуации приходят на помощь фантомные типы. Термин взят из Haskell, а реализацию автор подсмотрел в стандартной библиотеке от Apple. Как и всегда, не стоит переусердствовать и применять данный подход для решения любой проблемы при проектировании.

Array vs Set: Fundamentals in Swift explained

Краткий гайд по коллекциям Array и Set. Описана разница в принципах реализации, инициализации, производительности и особенностях работы с Core Data.

Unit Testing Asynchronous Code in Swift

Примеры тестирования асинхронного кода с хорошими пояснениями, использованием XCTestExpectation, моков и возможностью поковыряться в исходниках, прилагаемых к статье.

Combine vs. RxSwift: Should you switch to Combine?

Наконец-то новые темы для пятничных холиваров! Что лучше — RxSwift или Combine. Будем обсуждать разницу в именовании, возможности для обработки ошибок, совместимость и, конечно же, производительность.

Swift best practices

Разработчики PinpointKit поделились своими принципами и правилами разработки на Swift.

Инструменты

OpenCombine

Наверняка многим уже не терпится попробовать Combine на боевых проектах, но для этого придётся отказаться от поддержки iOS младше 13-ой версии. Что ж, есть решение. Фреймворк OpenCombine, имитирующий имплементацию библиотеки от Apple. Для работы понадобится Swift пятой версии.

CombineX(中文)

Ещё одна попытка имплементации Combine, но более молодая, а как следствие — с большим количеством багов ^_^

SwiftPM Library

Подумываете о переходе с Cocoapods/Cartage на SPM? Теперь это намного проще с базой большинства библиотек, поддерживающих этот менеджер.

Дизайн

Designing for iOS 13

Какие есть особенности при разработке дизайна для iOS 13? Здесь описаны самые значимые по мнению автора изменения. Использование новой символьной библиотеки SF Symbols, поддержка тёмной темы и попытки возвращения к скевоморфизму,

Видео

Debug like a Pro (v2)

Если для вас LLDB — это маленькое окошко терминала, в котором можно написать `po`, а брейкпоинт — синий ярлычок, который останавливает выполнение программы в опредёленном месте, то посмотрите этот доклад и научитесь контролировать всё связанное с жизненным циклом вашего приложения (от макросов в брейкпоинтах до изменения UI в реальном времени через дебаггер).

Прочее

How to maintain focus as a Software Developer

Концентрация — это не только огромные наушники или пустой офис, это ещё и подход к организации своих задач. В статье автор упорядочивает несколько советов, применимых в разработке.

How I side project

Постоянно откладываете работу над своими проектами? Статья о концентрации не особо помогла? Давайте попробуем ещё раз. Автор делится своим набором инструментов и принципов при разработке проектов "just for fun".

СВЕЖАК ДЛЯ iOS-РАЗРАБОТЧИКОВ

Digest MBLT DEV — это собрание самой полезной и свежей информации для iOS-разработчиков с просторов мирового интернета. Выпуск выходит каждую пятницу. Подписка бесплатная. И никакого спама, честно!

ПодписатьсяSafari push notifications