В этом дайджесте переезд на Swift и 36 секунд доступности, валидация встроенных покупок и кросс-системное тестирование, симпатичный чейнджлог, проблемы с неткодом, переезд Coinbase на React Nativeи многое другое!
![](https://habrastorage.org/r/w1560/webt/3m/q5/yh/3mq5yhysldsvtdlff6a9k0ig8ou.png)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
•
Как Лёня с React на Swift переезжал
•
Доступность на iOS началась с «36 секунд»
• Самые популярные SDK после выхода iOS 14.5
• Всемирная конференция Apple для разработчиков начнётся 7 июня и пройдёт в онлайн-формате
• Эван Шпигель поддержал налог App Store и меры защиты Apple
•
Как управлять поведением клавиатуры в iOS-приложениях
•
MVP архитектура для iOS
•
Как разрабатывать приложения для iOS без Mac
•
Как использовать SnapKit в ваших iOS-приложениях
•
Как использовать Firebase Remote Config с Swift 5
•
3 способа стилизации представлений SwiftUI
•
HMS ML Kit: перевод в реальном времени (iOS — Swift)
•
ScrollingContentViewController: простое создание скроллируемого View
•
NotificationToast: тосты для iOS
•
CalendarKit: календарь для iOS, iPadOS и macOS
Android
•
Интеграция и серверная валидация инаппов для стора Google Play — как защититься от читеров
•
Обновляемся на новую версию API Android по наставлению Google
•
Создаем приложение для Android быстро и просто
•
Почему Kotlin лучше Java?
•
Особенности тестирования Android без Google-сервисов
•
Получаем результат правильно (Часть 2). Fragment Result API
• Как начинающему Android-разработчику прокачать свои навыки: 5 open source проектов для изучения
•
Полезные расширения Kotlin для Android
•
Hilt стабилен. Более простая инъекция зависимостей на Android
•
Повышаем уровень своего класса данных Kotlin с помощью расширений
•
Историческое введение в модель реактивного состояния Compose
•
Совершенно новое Состояние в Jetpack Compose
•
Улучшение преобразования кода Java в Kotlin: пример
•
Структурированный параллелизм в действии
•
Начните отсюда: 5 упражнений для подготовки вашего приложения к работе с большими экранами
•
Начинаем работать с WorkManager
•
Простые инструментальные тесты (UI-тесты) для Android в 2021 году
•
Введение в Security By Design
•
KodeEditor: редактор кода для Android
•
SuperForwardView: перемотка в стиле Netflix
Разработка
•
Почему мы решили создать отдел кросс-системного тестирования
•
Лаги, джиттер и потеря пакетов: откуда берутся проблемы с неткодом и как их решать
•
7 QA-шных грехов, которые помогут или помешают тестировщику (стать тем, кем ты хочешь)
•
За что банит Apple(и Google)
•
Как написать симпатичный чейнджлог: опыт Авито
•
Без тимлида не обойтись, а что насчет техлида?
•
Как сохранить нервы тестировщика или ускорить регресс с 8 до 2 часов
•
Как я хотел поработать нативным Android разработчиком, но устроился Flutter разрабом
•
Dart: Быстрые неизменяемые коллекции
•
6 способов снизить когнитивную нагрузку от интерфейса
• Podlodka #217: фасилитация
• Flutter Dev Podcast #27: как работает рендеринг UI
• Как Coinbase перешел на React Native
• Stack Overflow запустил новый ежегодный опрос разработчиков
• Fuchsia получила свое первой устройство
• Мой SaaS добился MRR $12.5K за один месяц: вот чему я научился
• Куда уходят программисты?
• Онлайн-конференция Google for Games Developer Summit 2021 пройдет в июле
• Проблема дизайна – это сами дизайнеры
• Пользователям плевать на дизайн: как устроен «хороший UX» на самом деле
• Хотите стать лучшим UX дизайнером? Создавайте эмоциональный дизайн
•
Лучшие языки программирования для изучения в 2021 году
•
10 вещей, которые хорошо знают опытные разработчики
•
Почему софтверные компании часто отвергают хороших программистов
•
Наплевать на доступность
•
Самые востребованные языки программирования в 2021 году
•
Избегайте блокировки CI/CD — делайте свои сборки более портативными
•
Flutter: CRUD с использованием Firebase Cloud Firestore
•
Одна привычка, чтобы стать лучшим разработчиком
•
Что нового во Flutter 2.2
•
«Библиотека разработчика» от Google
Аналитика, маркетинг и монетизация
•
Датасет о мобильных приложениях
• Реклама мобильных игр в первом полугодии 2021: мировая статистика
• RevenueCat закрыл Серию B при оценке в $300 млн
• Платформа отладки Lightrun получила $23 млн
• Платформа потери веса Noom привлекла $540 млн
• «Тренды мобильных приложений 2021»: отчет Adjust
• Дейтинг-приложения предложат улучшения прошедшим вакцинацию
• Google запускает рекламные кампании приложений на десктопах
• Netflix думает над выходом на игровой рынок
• «Одних технологий недостаточно»: что раздражает рекламный рынок в Apple и как она зарабатывает на закрытости системы
AI, Устройства, IoT
•
ML: «нечеловеческие» технологии для человеческих цен
•
TinyML. Сжимаем нейросеть
•
SberCloud + Intel oneAPI = льготное облако для ML-разработчиков
• IBM разработала датасет Project CodeNet для обучения ИИ программированию
• Как сделать бизнес на AR/VR
• Mail.ru Group открыла новый набор на бесплатное обучение в Академию больших данных MADE
• Microsoft использовала GPT-3 для создания кода на естественном языке
• Best Buy начинает продажи смартфона для пожилых
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/3m/q5/yh/3mq5yhysldsvtdlff6a9k0ig8ou.png)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Самые популярные SDK после выхода iOS 14.5
• Всемирная конференция Apple для разработчиков начнётся 7 июня и пройдёт в онлайн-формате
• Эван Шпигель поддержал налог App Store и меры защиты Apple
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Как начинающему Android-разработчику прокачать свои навыки: 5 open source проектов для изучения
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Podlodka #217: фасилитация
• Flutter Dev Podcast #27: как работает рендеринг UI
• Как Coinbase перешел на React Native
• Stack Overflow запустил новый ежегодный опрос разработчиков
• Fuchsia получила свое первой устройство
• Мой SaaS добился MRR $12.5K за один месяц: вот чему я научился
• Куда уходят программисты?
• Онлайн-конференция Google for Games Developer Summit 2021 пройдет в июле
• Проблема дизайна – это сами дизайнеры
• Пользователям плевать на дизайн: как устроен «хороший UX» на самом деле
• Хотите стать лучшим UX дизайнером? Создавайте эмоциональный дизайн
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Реклама мобильных игр в первом полугодии 2021: мировая статистика
• RevenueCat закрыл Серию B при оценке в $300 млн
• Платформа отладки Lightrun получила $23 млн
• Платформа потери веса Noom привлекла $540 млн
• «Тренды мобильных приложений 2021»: отчет Adjust
• Дейтинг-приложения предложат улучшения прошедшим вакцинацию
• Google запускает рекламные кампании приложений на десктопах
• Netflix думает над выходом на игровой рынок
• «Одних технологий недостаточно»: что раздражает рекламный рынок в Apple и как она зарабатывает на закрытости системы
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• IBM разработала датасет Project CodeNet для обучения ИИ программированию
• Как сделать бизнес на AR/VR
• Mail.ru Group открыла новый набор на бесплатное обучение в Академию больших данных MADE
• Microsoft использовала GPT-3 для создания кода на естественном языке
• Best Buy начинает продажи смартфона для пожилых
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.