Дайджест интересных материалов для мобильного разработчика #374 (7 — 13 декабря)

В этом выпуске эпическая история переписывания приложения Uber на Swift, новые возможности AR и доступности, приемы быстрой разработки и возможность принять участие в разработке Fuchsia, результаты мобильного рынка 2020, симулятор успешного успеха и многое другое.

oteayrfwxh7td76644gnjzjsq94.png

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

f1930ac4945596eb9707bc7a01bc5bdc.pngiOS

• Быстрее переписать с нуля на новой технологии: как Uber переписывали на Swift
c57b92af4ee0d37f787c211a068b1b95.png Через серые зоны — к 4,7 звезды. Как мы сделали топовое security-приложение для iOS
c57b92af4ee0d37f787c211a068b1b95.png Переходим В OFFLINE FIRST с использованием Core Data и Managed Document (s)
c57b92af4ee0d37f787c211a068b1b95.png Библиотека для работы с iOS-пермишенами, от идеи до релиза (часть 1)
• Cydia подает в суд на Apple
• WhatsApp назвал маркировку приложений в App Store антиконкурентными
• Apple готовит новые ARM-процессоры
• Ошибка invalid_grant при авторизации через Apple ID (iOS, бекенд)
377ae0333d0f4b7b97307c9eea5ee21a.gifКак Swift-разработчики должны использовать протокол-ориентированное программирование
377ae0333d0f4b7b97307c9eea5ee21a.gifКастомный переключатель в iOS-приложениях
377ae0333d0f4b7b97307c9eea5ee21a.gifКак писать юнит-тесты с Core Data в Swift
377ae0333d0f4b7b97307c9eea5ee21a.gifПонимаем архитектуры iOS-приложений с помощью VIPER
377ae0333d0f4b7b97307c9eea5ee21a.gifКак создать анимированный пульс с помощью SwiftUI
377ae0333d0f4b7b97307c9eea5ee21a.gifВизуализация производительности мобильного приложения с помощью Specto
377ae0333d0f4b7b97307c9eea5ee21a.gifКак не выглядеть джуном на собеседовании по iOS-программированию
377ae0333d0f4b7b97307c9eea5ee21a.gifВсе об iOS-анимации
96716bcb926741e79bb1c284a88083ca.pngSwiftGraphQL: забудьте о GraphQL
96716bcb926741e79bb1c284a88083ca.pngScrollViewMinimap: миникарта для UIScrollView

e1a3cf2a8b65a0da69bbdd5c0ad040fe.pngAndroid

c57b92af4ee0d37f787c211a068b1b95.pngОхранный дроид на парковке, виртуальный диван в пустой комнате: возможности AR в экосистеме Huawei
c57b92af4ee0d37f787c211a068b1b95.png Подменяем Runtime permissions в Android
c57b92af4ee0d37f787c211a068b1b95.png Пасхалка в APK-файлах: что такое Frosting
c57b92af4ee0d37f787c211a068b1b95.png Делюсь небольшим, но полезным плагином: Deeplink Helper для Android Studio
c57b92af4ee0d37f787c211a068b1b95.png kotlinx.coroutines 1.4.0: представляем StateFlow и SharedFlow
c57b92af4ee0d37f787c211a068b1b95.png Практическое руководство по использованию Hilt с Kotlin
• Look to Speak позволяет «разговаривать» с помощью движения глаз
• Основы Jetpack Compose: Урок №2
• Ktlint: практика внедрения
377ae0333d0f4b7b97307c9eea5ee21a.gifПодключение Bluetooth A2DP устройства к Android
377ae0333d0f4b7b97307c9eea5ee21a.gifСоздание распределенной платформы для удаленного Android-тестирования
377ae0333d0f4b7b97307c9eea5ee21a.gifFlappy Bird на Android Jetpack Compose
377ae0333d0f4b7b97307c9eea5ee21a.gifОптимизация, сжатие и обфускация вашего приложения для Android
377ae0333d0f4b7b97307c9eea5ee21a.gifОбнаружение лица на Android-устройстве с помощью Google ML Kit
377ae0333d0f4b7b97307c9eea5ee21a.gifНепрерывное юнит-тестирование в Android-разработке с помощью Bitrise
377ae0333d0f4b7b97307c9eea5ee21a.gifМногомодульная навигация в Android с Navigation Component
377ae0333d0f4b7b97307c9eea5ee21a.gifAndroid Views как функция состояния с ViewBinding
377ae0333d0f4b7b97307c9eea5ee21a.gifПовышение точности городского GPS для вашего приложения
377ae0333d0f4b7b97307c9eea5ee21a.gifПопрощайтесь с Android Jetifier
96716bcb926741e79bb1c284a88083ca.pngCircle Menu: круговое меню для Android
96716bcb926741e79bb1c284a88083ca.pngFingerprint Android: идентификация устройств
96716bcb926741e79bb1c284a88083ca.pngSpeedometer Android: круговой индикатор для Android

7081c634ec176ab6b953d9d19e82a09a.pngРазработка

c57b92af4ee0d37f787c211a068b1b95.png Доступность — это просто, Или 5 смертных грехов доступности
c57b92af4ee0d37f787c211a068b1b95.png Space: публичный релиз командной среды от JetBrains
c57b92af4ee0d37f787c211a068b1b95.png Связываем две мобильные платформы в едином коде на Unity
c57b92af4ee0d37f787c211a068b1b95.png Четыре приема быстрой разработки на Unity3D
c57b92af4ee0d37f787c211a068b1b95.png Разница между QA, QC и тестированием: простая трактовка на примере швейцарского армейского ножа
c57b92af4ee0d37f787c211a068b1b95.png Ловец идей, почти хакатон, или как быстро прокачать команду в Dart/Flutter
c57b92af4ee0d37f787c211a068b1b95.png Отображение статуса сложных систем на слабых клиентах — ускоряем отклик
• Индекс стабильности приложений: отчет Bugsnag
• Podlodka #193: UX исследования
• Вышел Qt 6.0
• Amazon запустил HealthLake — облако для анализа медицинских данных
• Google открывает разработку Fuchsia для всех
• Формирование навыков разработчика
• Код-ревью для новичков: 8 советов для эффективной работы
• Дизайн приложений: примеры для вдохновения #25
• 6 трендов продуктового дизайна в 2021 году
377ae0333d0f4b7b97307c9eea5ee21a.gifРепозитории GitHub для улучшения ваших навыков программирования
377ae0333d0f4b7b97307c9eea5ee21a.gifЧто нам ожидать от UX в 2021?
377ae0333d0f4b7b97307c9eea5ee21a.gifСоздаем интерфейс погодного приложения с 3D-иллюстрациями
377ae0333d0f4b7b97307c9eea5ee21a.gifПрактическое руководство по теории цвета и цветовым палитрам (с использованием чисел)
377ae0333d0f4b7b97307c9eea5ee21a.gifМои лучшие инструменты для разработки в 2020 году
377ae0333d0f4b7b97307c9eea5ee21a.gif5 основных свойств хорошего продуктового дизайна
377ae0333d0f4b7b97307c9eea5ee21a.gifКак Microsoft проводит автоматическое тестирование. Интервью с Клаусом Хемститчем
377ae0333d0f4b7b97307c9eea5ee21a.gifДо свидания, Xamarin.Forms
377ae0333d0f4b7b97307c9eea5ee21a.gifЭти современные языки программирования заставят вас страдать
377ae0333d0f4b7b97307c9eea5ee21a.gifКак эффективно модернизировать устаревшее приложение

509dc9bde69347ecbe0c21ff2973d7e7.jpgАналитика, маркетинг и монетизация

c57b92af4ee0d37f787c211a068b1b95.png Телефон шпионил за мной, поэтому я нашёл тех, кто использует данные слежения
c57b92af4ee0d37f787c211a068b1b95.png Анализируй это: три системы мобильной аналитики глазами digital-компаний
• make sense: Об этапах запуска фич и продуктов, метриках и роли Product Marketing Manager
• Как добиться успеха с Douyin, видеоплатформой коротких видео №1 в Китае: бесплатная электронная книга
• Удержание пользователей 2020: отчет AppsFlyer
• App Annie: результаты мобильного рынка 2020
• Яндекс.Маркет Аналитика добавила возможность интеграции с AppMetrica
• Hype Simulator: симулятор успеха — №1 в App Store
• Wellory: приложение против диет
• Как привлечь пользователей в мобильное приложение с помощью ASO и рекламы
• Как мотивировать пользователя закончить прогресс? — Эффект обеспеченного прогресса
377ae0333d0f4b7b97307c9eea5ee21a.gifКак локализовать игры для Японии и Южной Кореи

8538129f5e7b404a720121cb9c3814db.jpgAI, Устройства, IoT

c57b92af4ee0d37f787c211a068b1b95.png Bluetooth Low Energy: подробный гайд для начинающих
c57b92af4ee0d37f787c211a068b1b95.png Интернет вещей по-русски. Многоканальная мощь физуровня базовой станции OpenUNB
c57b92af4ee0d37f787c211a068b1b95.png Семь талантливых стажеров AI@Unity 2020. Часть 2
c57b92af4ee0d37f787c211a068b1b95.png Концепция независимой инфраструктуры для IIoT системы на основе mesh cети
377ae0333d0f4b7b97307c9eea5ee21a.gif7 лучших БЕСПЛАТНЫХ курсов по искусственному интеллекту от университетов Лиги плюща

← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.

© Habrahabr.ru