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

Уходим на длинные выходные с новой подборкой интересных статей и новостей. В ней библиотеки и борьба с Apple, карточки ВКонтакте и качество кода, Flutter и Kotlin, умение заканчивать проекты, понимать путь клиента и многое другое!



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

iOS

 Переход вашего приложения на модули пакетов Swift
 Мечтал стать сценаристом, а стал программистом
В App Store появились поисковые подсказки
10 SwiftUI-библиотек 2021
Начато производство Apple M2
Apple выпускает обновление iOS 14.5
Немецкие компании подают антимонопольный иск против Apple, касающийся iOS 14.5
ФАС оштрафовала Apple на $12 млн по иску «Лаборатории Касперского»
Начинаем работу с Combine (практические примеры фреймворка Combine в UIKit и SwiftUI)
Руководство по многопоточности — Grand Central Dispatch
Градиент в Swift за 4 строчки кода
SwiftUI в продакшене
Что такое Замыкания и как они работают в Swift? (Пошаговое руководство)
Кастомные переходы View Controller-ов в Swift
Введение в работу с Codable в Swift
Swift: как написать полный логер
Скелетный проект для масштабируемой разработки под iOS
SwiftUI: как создать ячейку со свайпом
Кастомный Top Tab
Простая валидация форм с RxSwift
Начинаем работу с Firebase Realtime DB на WatchOS
GLWalkthrough: онбординг с подсветкой

Android

 Как реализован экран с карточками заявок в друзья и рекомендациями в приложении ВКонтакте
 Как мы интегрировали Huawei Mobile Services в два этапа
Google Play усиливает борьбу с мислидами
Улучшаем работу Layout Preview в Android Studio
Как повысить качество кода
Android Studio начала поддерживать M1
Опубликовано расписание I/O 2021
Google Play будет собирать данные об использовании приложений для ускорения запуска
Курс “Kotlin для начинающих”
Кастомная форма с помощью Jetpack Compose
Уроки, извлеченные при переносе моего приложения на Jetpack Compose
Автомиграция Room
Тест на Android Studio – бенчмарк компьютеров
Не запускайте бенчмарки в отлаживаемом Android-приложении
Один AlertDialog, чтобы править ими всеми
Jetpack Compose: простой способ сделать RecyclerView
Динамическая доставка с помощью Jetpack Compose
Эволюция Quality Assurance для приложений в Azimo
Красивый сплеш скрин для Android с анимацией
Пример WebRTC в Kotlin
Как обрабатывать изменения конфигурации в Android
Android RecyclerView Swipe Gestures: жесты в RecyclerView
Android ScreenshotDetection: определение скриншотов
Linkester: тестирование глубоких ссылок в приложении

Разработка

 Еще пять инструментов против читеров на мобильном проекте с DAU 1 млн пользователей
 Моя история реализации офлайн приложения Хабра
 Этический антидизайн: как разработать продукт, не вызывающий привыкания
 История разработки SDK для приема платежей в мобильном приложении на Flutter
 Немного о графиках, сплайнах и генерации ландшафта
 Тестирование push-уведомлений в мобильных приложениях
Решение задач позиционирования при просмотре карты во Flutter
 Нестабильные(Flaky) тесты — одна из основных проблем автоматизированного тестирования
 Углубленный анализ тестирования виджетов во Flutter. Часть I: testWidgets() и TestVariant
 Начинающему QA: полезные функции снифферов на примере Charles Proxy
Podlodka #213: инвестиции в стартапы
Microsoft Build 2021 пройдет с 25 по 27 мая
Как заканчивать игры (и другие проекты)
Книга “Создание мобильных приложений в масштабе: 39 инженерных задач”
Дизайн приложений: примеры для вдохновения #41
Хороший дизайн – это наука, а не искусство
Кейс: как Surf и Росбанк сделали первое в России банковское приложение на Flutter
Как нобелевский лауреат помог нам с дизайном приложения для I Love Supersport
5 лучших инструментов для создания приложений без кода
Как великие продуктовые менеджеры принимают правильные решения: подход Привычный
Как безопасно выкладывать в open source внутреннее ПО: лучшие практики
5 преимуществ парного программирования и как делать это удаленно с помощью VS Code
Как ежегодно экономить 135,000 евро с Google Analytics 4 + BigQuery
Локальные уведомления во Flutter
10 забавных расширений VS Code, которые помогут программировать
Лучшие практики для дизайна модальных окон
Хотите стать лучшим UX-дизайнером в 2021? Делайте для эмоций
Лучшие практики: дизайн автозаполнения
Почему хорошие инженеры не начинают собственный бизнес
Интервью у senior-инженера в Facebook: единственная статья, которую вам нужно прочитать
Метрики качества кода

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

Понимаем путь клиента по приложению с помощью событий Firebase и BigQuery
Mobvista покупает Reyun
Маркетологи в мобайле: Роман Хуртов (Parimatch Russia)
Neverland помогает с работой по саду
Oath Care: форум для мам по подписке

AI, Устройства, IoT

 S в аббревиатуре IoT означает «Security», или Как я лампу хакнул
 Йога глазами дата-сайентиста: как мы строили computer vision в мобильном приложении
 О чем спорят строители Умных Домов, Бань, Дач и Гаражей
Amazon выкладывает софт DeepRacer в open source
10 лучших проектов в области науки о данных для начинающих

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