Дайджест интересных материалов для мобильного разработчика #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 лучших проектов в области науки о данных для начинающих

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

    Комментарии 0

    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

    Самое читаемое