В этом дайджесте обсуждаем конференцию WWDC и ее последствия, быстрые обновления Android и ответственность команд, автоматизацию с помощью таблиц, применение КММ, цвета, элементы управления и многое другое.
![](https://habrastorage.org/webt/oy/hn/i3/oyhni3xbjohv0rqut71emw-gr-w.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
•
Xcode Cloud, SharePlay, Focus — самое важное с Keynote WWDC21
•
Apple убивает TeamCity, Bitrise, Appcenter, Fastlane, Firebase, Sentry и иже с ними. Краткий обзор Xcode Cloud
•
Делаем OpenVPN клиент для iOS
•
iOS интервью в Vivid
• Лучшие приложения для iPhone весят почти в 4 раза больше, чем пять лет назад
• Mobile People Talks: WWDC21
• Apple выпускает бета-версии прошивок AirPods для разработчиков
• iOS 4 воссоздали как приложение для iPhone
• “Дырявим” вьюхи на Swift
• Apple уточняет правила публикации в App Store
• Apple разрешит пользователям остаться на iOS 14
• Новые функции iPadOS 15
• Apple представила новые технологии и инструменты для разработчиков приложений
• watchOS 8: новые функции доступа, возможности подключения и практики осознанности
• Apple представила iOS 15
• Главное в iOS 15 для дизайнеров
• Доклад Platforms State of the Union с WWDC 2021
•
Отчеты о сбоях iOS с LLDB
•
Онбординг SwiftUI в приложении UIKit
•
Лучшая маршрутизация глубоких ссылок в iOS-приложении
•
Что мы узнали из инцидента с OOM в iOS-приложении Pinterest
•
Делаем бесконечную прокрутку фотографий в iOS
•
Что нового в SwiftUI после WWDC21
•
SwiftUI — двунаправленный список SnapList
•
Использование SwiftUI с View Model, написанной на Kotlin Multiplatform Mobile
•
Пишем первое приложение для iOS с помощью Realm, SwiftUI и Combine
•
Что нового в StoreKit 2
•
Как мы используем SwiftUI в приложении Medium
•
Что нового в SwiftUI 3.0?
•
Как сделать иконку для темного режима для вашего приложения
•
iOS 15 привносит атрибутные строки в SwiftUI
•
Понимаем AsyncImage в SwiftUI
•
Indicate: «тосты» в стиле AirPods
•
SimpleAnalytics: своя аналитика для iOS
Android
•
Долгая дорога к быстрым обновлениям Android
•
Миграция с LiveData на Kotlin’s Flow
•
Бесконечная автопрокрутка списков с помощью RecyclerView и LazyLists в Compose
• Разработчики могут подать заявку на снижение комиссии до 15% через Play Store
• Flutter Dev Podcast #28: Google I/O 2021
•
Корутины обработки ошибок
•
Проблема трех фреймворков в Kotlin Multiplatform Mobile
•
Современная архитектура Android с шаблоном проектирования MVI
•
Азбука модульности Android в 2021 году
•
Навигация в Jetpack Compose
•
Несколько бэк-стэков
•
Работа с сетью в Kotlin Ktor на Android
•
Автогенерация пользовательских размеров для Android с помощью Kotlin
•
Глубокое погружение в интернационализацию приложений для Android на Jetpack Compose
•
Датабиндинг в Android
•
Чистая архитектура Android [точка зрения]
•
Создаем приложение CoroutineScope с помощью Hilt
•
Пагинация в Android с Paging 3, Retrofit и Kotlin Flow
•
CompleteKotlin: автодополнение для всех платформ
•
TimeRangePicker: круглый range picker для Android
Разработка
•
Кто, где, когда: система компонентов для разделения зон ответственности команды
•
Автоматизация или смерть: как управлять тысячами единиц игрового контента с помощью гугл-таблиц
•
Appwrite, open-source бэкэнд-платформа
•
Роль QA Lead в продуктовой компании: особенности и зоны ответственности
•
Вызов кода Go из Dart с использованием cgo и Dart FFI на простом примере
•
Создание прекрасных приложений с помощью Xamarin.Forms
•
We need to go deeper: как пасхалка в приложении Delivery Club сократила субъективное время ожидания еды
•
Тестируем и визуализируем с помощью Mind Map
•
Автоплатеж, автооплата или автопополнение? UX-кейс
•
Как стать тестировщиком с нуля
• Podlodka #219: выбор первой профессии в IT
• Дизайн приложений: лауреаты премии Apple Design Awards 2021
• КММ на практике или выбор кроссплатформенного фреймворка для «Леруа Мерлен»
• Исследование разработчиков HackerEarth 2021
• Отключенные кнопки не должны путать пользователей
• Распродажа книг по Data Science и аналитике данных в Humble Bundle
• 6 мощных инструментов для разработчиков, использующих Mac
• Как мы улучшили сегментированные элементы управления (segmented control)
• Руководство для новичков по применению цвета в UI дизайне
• Пошаговое руководство по работе в Figma. Урок по созданию мобильного приложения
• Принцип IBM «Leadership-as-a-service» обеспечивает профессиональный рост команд
•
Топ-5 шаблонов проектирования распределенных систем
•
ELI5: Flipper — кроссплатформенный дебагер
•
Как ежедневно улучшать навыки архитектуры ПО
•
Анимированный TabBar Coinbase в React Native
•
Как проверять код Junior разработчику
•
Разработчики не могут исправить плохой менеджмент
Аналитика, маркетинг и монетизация
•
WWDC 2021: новое и полезное для разработчика, ASO спецалиста, маркетолога мобильных приложений
•
Почему подписываются пользователи? Как повысить конверсию мобильных приложений
• Classplus: Spotify для образования
• AppsFlyer: на 570% выросло количество неорганических установок финансовых приложений в России
• Стратегия победителя: как покорить весь мир, начиная с Якутска? Кейс inDriver и Rocket10
• Кейс: как вытеснить конкурентов из поиска, оптимизируя инаппы?
•
Практические инструменты и преимущества отслеживания удалений мобильных приложений
•
Онбординг в мобильном приложении: как поддерживать интерес пользователей
AI, Устройства, IoT
•
Как Яндекс применил генеративные нейросети для поиска ответов
•
Маленький и быстрый BERT для русского языка
• Начинаются продажи карманной игровой приставки Playdate
• Защищенный смартфон, контролируемый ФБР, раскрыл действия сотен преступников
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/oy/hn/i3/oyhni3xbjohv0rqut71emw-gr-w.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](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)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Лучшие приложения для iPhone весят почти в 4 раза больше, чем пять лет назад
• Mobile People Talks: WWDC21
• Apple выпускает бета-версии прошивок AirPods для разработчиков
• iOS 4 воссоздали как приложение для iPhone
• “Дырявим” вьюхи на Swift
• Apple уточняет правила публикации в App Store
• Apple разрешит пользователям остаться на iOS 14
• Новые функции iPadOS 15
• Apple представила новые технологии и инструменты для разработчиков приложений
• watchOS 8: новые функции доступа, возможности подключения и практики осознанности
• Apple представила iOS 15
• Главное в iOS 15 для дизайнеров
• Доклад Platforms State of the Union с WWDC 2021
•
![](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/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/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)
• Разработчики могут подать заявку на снижение комиссии до 15% через Play Store
• Flutter Dev Podcast #28: Google I/O 2021
•
![](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/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 #219: выбор первой профессии в IT
• Дизайн приложений: лауреаты премии Apple Design Awards 2021
• КММ на практике или выбор кроссплатформенного фреймворка для «Леруа Мерлен»
• Исследование разработчиков HackerEarth 2021
• Отключенные кнопки не должны путать пользователей
• Распродажа книг по Data Science и аналитике данных в Humble Bundle
• 6 мощных инструментов для разработчиков, использующих Mac
• Как мы улучшили сегментированные элементы управления (segmented control)
• Руководство для новичков по применению цвета в UI дизайне
• Пошаговое руководство по работе в Figma. Урок по созданию мобильного приложения
• Принцип IBM «Leadership-as-a-service» обеспечивает профессиональный рост команд
•
![](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/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
•
![](https://habrastorage.org/storage2/c57/b92/af4/c57b92af4ee0d37f787c211a068b1b95.png)
• Classplus: Spotify для образования
• AppsFlyer: на 570% выросло количество неорганических установок финансовых приложений в России
• Стратегия победителя: как покорить весь мир, начиная с Якутска? Кейс inDriver и Rocket10
• Кейс: как вытеснить конкурентов из поиска, оптимизируя инаппы?
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](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)
• Начинаются продажи карманной игровой приставки Playdate
• Защищенный смартфон, контролируемый ФБР, раскрыл действия сотен преступников
< Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
AnthonyKot
Спасибо за подборку!