В этом выпуске облачные игры и правосторонние интерфейсы, обновленный Office и бездушные монетизаторы, рост гипер-казуальных игр и спад у ML-инженеров, ролики и локализация, дизайн системы и серверный UI, сервисы на Dart и многое другое!
![](https://habrastorage.org/r/w780q1/webt/q3/ue/ae/q3ueaebaddxkvkgfx26ke6h_ii4.jpeg)
Один из победителей iPhone Photography Awards 2020
Меня зовут Владимир Касаткин, и я работаю бэкенд-разработчиком в компании ivi.ru, в команде «UX». Цель этой статьи — показать, как мы уменьшили объём клиентской разработки, но при этом увеличили количество проводимых A/B-тестов. Выскажите свое мнение, узнайте об актуальных тенденциях в сфере разработки и повлияйте на будущие тренды.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• (+10) Swift: Копируй-изменяй
• (+5) Реализация наследования в файлах локализации iOS
• Apple предоставляет исследователям безопасности разблокированные iPhone
•
Swift для TensorFlow
•
Боковое меню на SwiftUI
•
Как избежать ненужных релизов приложений
•
Используйте Combine, чтобы писать более читаемый Swift-код
•
Шаблон ‘Factory Method’ в Swift
•
Оптимизация запуска приложений и обнаружение проблем с производительностью с помощью Инструментов
•
Анимация загрузки в виде кубиков на SwiftUI
•
История моих экспериментов с Swift KeyPath
•
Что такое Keyframe анимация в Swift 5?
•
Что нового в Vision Framework в iOS 14
•
Как создать и кастомизировать TextField в SwiftUI
•
Дистрибуция скомпилированных статических библиотек и статических фреймворков на Swift
•
Индикаторы активности на SwiftUI
•
SwiftUI в WidgetKit
•
Translate-SwiftUI: переводчик из iOS 14
Android
• (+12) Выпускники семестрового курса «Разработка приложений на Android», Технопарк Mail.ru
• (+2) Как подружить RxJava с VIPER в Android, подходы применения и о структуре планировщиков
• (0) Как подружить React Native и Java код на Android
• Android 11 стал Red Velvet Cake
• Ведущий разработчик Google Camera перешел в Adobe
•
Масштабирование Android-сборки
•
Преимущества Kotlin над Java: Backend и Android
•
Полезные расширения Flutter
•
Как создать успешное Android-приложение
•
Реализация анимации переходов в Android
•
Эволюция связей View в Android
•
Когда клавиатура встречается с корутинами
•
Современная обработка даты и времени во всех версиях Android
•
Как создать плагин Gradle для Android на Kotlin
•
Android Model-View-Intent с Kotlin Flow
•
Миграция приложения Google I/O на Hilt
•
Автоматизация обновления зависимостей в Gradle-проектах с помощью Dependabot
•
NY Times: JSoup и современная Android-архитектура
•
AndroidBottomBar: красивое нижнее меню
Разработка
• (+24) Облачный гейминг с открытым исходным кодом на WebRTC: p2p, мультиплеер, zero latency
• (+21) Правосторонний интерфейс: адаптируем контролы к right-to-left языкам
• (+18) Сервис на языке Dart: введение, инфраструктура бэкэнд
• (+7) Интервью с DHH: обсудили проблемы с App Store и разработку нового почтового сервиса Hey
• (+6) 21 метод UX-исследований: какой выбрать
• (+5) История про то, как из студенческого геймдев-клуба выросла компания по разработке игр
• (+4) Детальный разбор навигации в Flutter
• (+3) Flutter под капотом: Binding
• (+3) Темы приложений для Xamarin.Forms
• (+2) Что нового в Unity 2020.1?
• IObeya получила $17 млн. на цифровизацию гибких методологий
• Podlodka #173: развиваем голос
• Дизайн приложений: примеры для вдохновения #9
•
Microsoft показывает обновление дизайна для Office
• Snapchat развертывает мини-приложения
• 40 советов, которые навсегда изменят ваше программирование
• Важность побочных проектов
• Snap открыл 13-недельную программу помощи разработчикам
• Как доступно в цифровых каналах объяснить дорогу до локации
• Мобильное приложение на Flutter. Стоимость, сроки, подводные камни. Часть 2
• Как junior-дизайнер создавал приложение по менеджменту задач и при чем тут рисунки на полях блокнота
• Askona Sleep: новый кейс от 65apps
• Как мы сделали приложение SpotiApp для Spotify, которое сейчас приносит $1000 в день
• Слайдеры лучше, чем цифровая шкала?
• Что делает UX стратегию успешной
• «Умный» способ бросить пить — приложение Sober One
•
Мультиплатформенные сетевые библиотеки с Ktor
•
Лучшие провайдеры API и SDK для видеоконференций
•
Восхитительные инструменты разработчика, которые вы, возможно, не используете
•
8 причин, почему проекты разработки мобильных приложений терпят неудачу
•
Как одно правило проверки кода превратило мою команду в команду мечты
•
Что мне нравится и не нравится во Flutter
•
10 отличных подкастов и плейлистов для мобильных разработчиков
•
Tabler Icons: бесплатные иконки
Аналитика, маркетинг и монетизация
• (+25) Моё знакомство с AppGallery: как я воспользовался возможностями Huawei и нашёл точку роста для своего проекта
• (+14) Почему у монетизаторов нет души, а токсичные члены команды — самые эффективные
• (+4) Нужны ли дизайнеру метрики?
• (0) Гибкая локализация: как применить agile к проекту по переводу
• (0) Ролики для долгосрочной рекламной кампании мобильной игры: что делать, чтобы креативы не приедались аудитории?
• (0) Харизматичный дизайн или использование эмпатии для вовлечения пользователя
• Рост гипер-казуальных игр: отчет Adjust и Unity
• LOVEMOBILE #07: AppFollow
• myTracker открыл трекинг предустановок
• Kudo — онлайн-конференция с переводом
• Analysis Group исследовала «налог App Store» по заказу Apple
• Объявлены победители iPhone Photography Awards 2020
• Бесплатный курс «ASO: от простого к сложному»
• Meemo — управление финансами и социальные покупки
• Максим Лаба (Nativex): Bilibili — прибыльная платформа для игр, lifestyle и образовательных приложений, выходящих в Китай
• Calm совместно с HBO запускает сериал
• 528 дней создания плеера
• Search Ads: нужна ли вашему приложению рекламная сеть Apple?
AI, Устройства, IoT
• (+86) Теплое ламповое интернет-радио
• (+40) GPT-3 от OpenAI может стать величайшей вещью со времён Bitcoin
• (+13) Нейронки «с нуля», или Как мы делали помощника для наших диспетчеров техподдержки
• OpenCV AI Kit вышел на Kickstarter
• Вирус-шифровальщик остановил работу устройств и самой компании Garmin
• В Humble Book Bundle книги по разработке для Raspberry Pi и Arduino
•
ML-инженеры теряют работу. В любом случае изучайте машинное обучение
•
Почему вы должны получить новый сертификат по машинному обучению от Google
•
Убьет ли GPT-3 программирование?
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/q3/ue/ae/q3ueaebaddxkvkgfx26ke6h_ii4.jpeg)
Один из победителей iPhone Photography Awards 2020
Меня зовут Владимир Касаткин, и я работаю бэкенд-разработчиком в компании ivi.ru, в команде «UX». Цель этой статьи — показать, как мы уменьшили объём клиентской разработки, но при этом увеличили количество проводимых A/B-тестов. Выскажите свое мнение, узнайте об актуальных тенденциях в сфере разработки и повлияйте на будущие тренды.
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• (+10) Swift: Копируй-изменяй
• (+5) Реализация наследования в файлах локализации iOS
• Apple предоставляет исследователям безопасности разблокированные iPhone
•
![](https://habrastorage.org/getpro/habr/post_images/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.gif)
•
![](https://habrastorage.org/getpro/habr/post_images/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.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/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• (+12) Выпускники семестрового курса «Разработка приложений на Android», Технопарк Mail.ru
• (+2) Как подружить RxJava с VIPER в Android, подходы применения и о структуре планировщиков
• (0) Как подружить React Native и Java код на Android
• Android 11 стал Red Velvet Cake
• Ведущий разработчик Google Camera перешел в Adobe
•
![](https://habrastorage.org/getpro/habr/post_images/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.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)
• (+24) Облачный гейминг с открытым исходным кодом на WebRTC: p2p, мультиплеер, zero latency
• (+21) Правосторонний интерфейс: адаптируем контролы к right-to-left языкам
• (+18) Сервис на языке Dart: введение, инфраструктура бэкэнд
• (+7) Интервью с DHH: обсудили проблемы с App Store и разработку нового почтового сервиса Hey
• (+6) 21 метод UX-исследований: какой выбрать
• (+5) История про то, как из студенческого геймдев-клуба выросла компания по разработке игр
• (+4) Детальный разбор навигации в Flutter
• (+3) Flutter под капотом: Binding
• (+3) Темы приложений для Xamarin.Forms
• (+2) Что нового в Unity 2020.1?
• IObeya получила $17 млн. на цифровизацию гибких методологий
• Podlodka #173: развиваем голос
• Дизайн приложений: примеры для вдохновения #9
•
![](https://habrastorage.org/getpro/habr/post_images/976/d3e/38a/976d3e38a34b003f86f91795524af9f8.gif)
• Snapchat развертывает мини-приложения
• 40 советов, которые навсегда изменят ваше программирование
• Важность побочных проектов
• Snap открыл 13-недельную программу помощи разработчикам
• Как доступно в цифровых каналах объяснить дорогу до локации
• Мобильное приложение на Flutter. Стоимость, сроки, подводные камни. Часть 2
• Как junior-дизайнер создавал приложение по менеджменту задач и при чем тут рисунки на полях блокнота
• Askona Sleep: новый кейс от 65apps
• Как мы сделали приложение SpotiApp для Spotify, которое сейчас приносит $1000 в день
• Слайдеры лучше, чем цифровая шкала?
• Что делает UX стратегию успешной
• «Умный» способ бросить пить — приложение Sober One
•
![](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)
• (+25) Моё знакомство с AppGallery: как я воспользовался возможностями Huawei и нашёл точку роста для своего проекта
• (+14) Почему у монетизаторов нет души, а токсичные члены команды — самые эффективные
• (+4) Нужны ли дизайнеру метрики?
• (0) Гибкая локализация: как применить agile к проекту по переводу
• (0) Ролики для долгосрочной рекламной кампании мобильной игры: что делать, чтобы креативы не приедались аудитории?
• (0) Харизматичный дизайн или использование эмпатии для вовлечения пользователя
• Рост гипер-казуальных игр: отчет Adjust и Unity
• LOVEMOBILE #07: AppFollow
• myTracker открыл трекинг предустановок
• Kudo — онлайн-конференция с переводом
• Analysis Group исследовала «налог App Store» по заказу Apple
• Объявлены победители iPhone Photography Awards 2020
• Бесплатный курс «ASO: от простого к сложному»
• Meemo — управление финансами и социальные покупки
• Максим Лаба (Nativex): Bilibili — прибыльная платформа для игр, lifestyle и образовательных приложений, выходящих в Китай
• Calm совместно с HBO запускает сериал
• 528 дней создания плеера
• Search Ads: нужна ли вашему приложению рекламная сеть Apple?
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• (+86) Теплое ламповое интернет-радио
• (+40) GPT-3 от OpenAI может стать величайшей вещью со времён Bitcoin
• (+13) Нейронки «с нуля», или Как мы делали помощника для наших диспетчеров техподдержки
• OpenCV AI Kit вышел на Kickstarter
• Вирус-шифровальщик остановил работу устройств и самой компании Garmin
• В Humble Book Bundle книги по разработке для Raspberry Pi и Arduino
•
![](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)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.