В этой подборке 0-day уязвимости в iOS и скорость сборки для нее же, StoreKit 2 и Swift 5.5, тестовая ферма и правильная валидация для Android, битва снифферов, игры со шрифтами, подготовка к FAANG, релизные циклы и многое другое!

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• Статья, в которой я раскрываю три 0-day уязвимости в iOS и критикую bug bounty программу Apple
• Скорость сборки в iOS
• Как сделать пейволл, который пройдёт модерацию Apple
• Популярные приложения для iPhone собирают данные несмотря на ATT запрет
• Apple запускает StoreKit 2 и новые серверные API в App Store
• Вышел Swift 5.5
• Apple выпустила iOS 15, iPadOS 15 и watchOS 8
• iOS 14 vs iOS 15: изменение дизайна
•
Делаем экран входа в систему в гласморфизме, используя SwiftUI
•
Модульная архитектура MVVM-C+SPM+SwiftUI в iOS
•
UIKit умер?
•
Я наконец-то освоил Case Let в моем Swift-коде
•
Реализация чистого MVVM с помощью SwiftUI
•
Простая Multipart загрузка на Swift
•
accessibilityRotor в SwiftUI
•
Реализация TextFieldDelegate с помощью SwiftUI
•
Реализация SwiftUI Canvas View в iOS 15
•
Box Feed: новости на SwiftUI и Async/Await
Android
• Jetpack Microbenchmark — тестируем производительность кода
• Чему я научился делая игры на LibGDX
• Тестовая ферма из Android-устройств: как собрать, отладить и не взорвать офис
• Правильная валидация в Android
• Android RecyclerView с использованием котлиновских sealed классов
• Подключение SignalR для Android на Kotlin
• Мой рецепт MVI в Android
• Android 12 Митап от Google Россия и Android Broadcast
•
Compose UI и смерть androidx.lifecycle.ViewModel
•
4 лучших Android-библиотеки, которые вы должны использовать в 2021 году
•
Диспетчер карт в кошельке Android
•
Использование WorkManager в Android 12
•
Анимация списков в Compose: свайп, чтобы удалить
•
Waydroid – Android-контейнеры в Ubuntu
•
PasswordStrengthView: стойкость пароля
•
Travel Planner: путешествия на складном экране
Разработка
• Код без багов и сломанное авто: как мы нетривиально проверяли Заправки 2ГИС
• Photon Plugin: защищаем игровой процесс от читеров
• Битва снифферов: Charles vs Proxyman
• Map matching, стилизация кластера и игры со шрифтами — что нового в 2GIS Kit
• Фреймворки для тестирования: личный опыт и новые методы
• Реализация in-app purchases на Flutter c помощью Adapty SDK
• gRPC + Dart, Сервис + Клиент, напишем? Часть 4: подключаем мобильное Flutter приложение
• In-app purchases: продвинутые механики работы с покупками на Android и iOS
• Очевидный шаг, который решит ваши проблемы с клавиатурой
• Podlodka #234: нетворкинг
• Не используйте токены, ключи и учетные данные в коде приложений
• Как подготовиться к интервью в FAANG
• Измеряем релизный цикл
• В AWS выпустили SDK для Kotlin и Swift
• $50 млн помогут CodeSignal улучшить найм разработчиков на основе данных
• Типографика данных в интерфейсах
• Haptic UX – дизайн тактильных ощущений сенсорного интерфейса
• UX-исследования не очень помогают делать хорошие продукты
•
Чтение кода — это навык
•
Как улучшить дизайн чекбоксов, радио и простых переключателей?
•
142 ресурса для улучшения кодинг интервью
•
Публикация нативных артефактов из проекта Kotlin Multiplatform
•
Как сделать редизайн как профессионал
•
Создание лучших лидербордов
•
Как я пишу документацию в Google: пример
•
Flutter против React Native: сравнение для вашего следующего проекта
•
Bitbucket vs. Github vs. Gitlab: подробное сравнение 2021
•
Заменяем If-Else и Switch параметрическим полиморфизмом
•
Письмо: секретный инструмент гейм-дизайнера
•
RE3: реверс инжиниринг GTA III
•
Locheck: проверка локализации
Аналитика, маркетинг и монетизация
• “Вовлечённость 2021”: отчет Sensor Tower
• SubHub Podcast: Евгений Курышев (Mirror AI)
• Fortnite не вернется в App Store
• Как выбрать страны для продвижения в поиске App Store
• Как инди-разработчик, я решил предложить поддержку по телефону — вот что получилось
• Tapjoy объясняет работу офферволов в новом руководстве
• App Store — это магазин игр. Apple должна это признать.
• Способы атрибуции рекламы без явного касания — клика или перехода
AI, Устройства, IoT
• Искусство войны ML инженера с FAANG
• Читать не надо слушать: как работает распознавание речи ВКонтакте
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в


• Статья, в которой я раскрываю три 0-day уязвимости в iOS и критикую bug bounty программу Apple
• Скорость сборки в iOS
• Как сделать пейволл, который пройдёт модерацию Apple
• Популярные приложения для iPhone собирают данные несмотря на ATT запрет
• Apple запускает StoreKit 2 и новые серверные API в App Store
• Вышел Swift 5.5
• Apple выпустила iOS 15, iPadOS 15 и watchOS 8
• iOS 14 vs iOS 15: изменение дизайна
•

•

•

•

•

•

•

•

•

•


• Jetpack Microbenchmark — тестируем производительность кода
• Чему я научился делая игры на LibGDX
• Тестовая ферма из Android-устройств: как собрать, отладить и не взорвать офис
• Правильная валидация в Android
• Android RecyclerView с использованием котлиновских sealed классов
• Подключение SignalR для Android на Kotlin
• Мой рецепт MVI в Android
• Android 12 Митап от Google Россия и Android Broadcast
•

•

•

•

•

•

•

•


• Код без багов и сломанное авто: как мы нетривиально проверяли Заправки 2ГИС
• Photon Plugin: защищаем игровой процесс от читеров
• Битва снифферов: Charles vs Proxyman
• Map matching, стилизация кластера и игры со шрифтами — что нового в 2GIS Kit
• Фреймворки для тестирования: личный опыт и новые методы
• Реализация in-app purchases на Flutter c помощью Adapty SDK
• gRPC + Dart, Сервис + Клиент, напишем? Часть 4: подключаем мобильное Flutter приложение
• In-app purchases: продвинутые механики работы с покупками на Android и iOS
• Очевидный шаг, который решит ваши проблемы с клавиатурой
• Podlodka #234: нетворкинг
• Не используйте токены, ключи и учетные данные в коде приложений
• Как подготовиться к интервью в FAANG
• Измеряем релизный цикл
• В AWS выпустили SDK для Kotlin и Swift
• $50 млн помогут CodeSignal улучшить найм разработчиков на основе данных
• Типографика данных в интерфейсах
• Haptic UX – дизайн тактильных ощущений сенсорного интерфейса
• UX-исследования не очень помогают делать хорошие продукты
•

•

•

•

•

•

•

•

•

•

•

•

•


• “Вовлечённость 2021”: отчет Sensor Tower
• SubHub Podcast: Евгений Курышев (Mirror AI)
• Fortnite не вернется в App Store
• Как выбрать страны для продвижения в поиске App Store
• Как инди-разработчик, я решил предложить поддержку по телефону — вот что получилось
• Tapjoy объясняет работу офферволов в новом руководстве
• App Store — это магазин игр. Apple должна это признать.
• Способы атрибуции рекламы без явного касания — клика или перехода

• Искусство войны ML инженера с FAANG
• Читать не надо слушать: как работает распознавание речи ВКонтакте
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.