В очередной нашей подборке — лучшие приложения 2021 от App Store и Google Play, управление памятью и дело об исчезнувшем покрытии кода, Unity со всех сторон, геймдизайн, адвент задачи для программистов и многое другое!
![](https://habrastorage.org/r/w780q1/webt/cd/kp/0z/cdkp0zoajfrxdfb2fhfejdusbic.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
Telegram-канале.
iOS
• Как устроен счетчик ссылок в Swift
• Управление памятью в Swift
• Исправление неоднозначных ограничений без перезапуска приложения
• Умный дом iOS разработчика
• Бывших не бывает. Как опыт спортивного программирования влияет на работу с реальным кодом
• BottomSheet в iOS 15: возможности UISheetPresentationController
• Swift. Class && Struct (классы и структуры) ч.1
• Swift. Сборка данных из разных запросов
• Apple может получать комиссию с разработчиков, даже если они не используют платежную систему App Store
• Лучшие приложения для iPhone и iPad 2021
• YooIKit: UI в ЮMoney
• Начинается тестирование Swift Playgrounds 4, в котором можно будет публиковать приложения с iPad
•
Создание XCFramework для iOS
•
Обнаружение сломанных Constraints в Swift
•
Разработка SharePlay игры
•
iOS-команда Bending Spoons: заглядывая за занавес
•
Что такое Full Stack iOS-разработчик?
•
Мастерим ProgressView в SwiftUI
•
SwiftUI: некоторые примеры современной анимации в приложении с кофе
•
Создаем «пятнашки» с помощью SwiftUI
•
Глубокое погружение в RxSwift: Observable.create и Observable.subscribe
•
Автоматизация юнит-тестирования Swift
•
Как структурировать свой Swift-код
•
Вам не нужен SwiftUI, чтобы пользоваться синтаксисом разметки
•
Кастомизация панели навигации с помощью UINavigationBarAppearance в SwiftUI 3.0
•
Cocoa Culture: от работы в Apple до обучения разработчиков
•
Создание 3D-аватаров в iOS с помощью SceneKit
•
Swift Identified Collections: быстрая работа с коллекциями
•
Meow: пусть ваш RevenueCat мяукает
•
MultiScreenApp: мультиэкранное видео
Android
• Дело об исчезнувшем покрытии кода
• Android Developer Roadmap 2022: карта навыков и модель развития Android-разработчика
• Android 12: история поддержки
• Инструменты разработчика дл тестирования Android-приложений
• Как я тестировал Android-приложения с помощью Samsung Remote Test Lab
• Android Vitals — Сколько времени?
• Идеальный SDK для Android приложений: как выбрать и существует ли?
• Google готовит собственные умные часы на Wear OS
• Android Broadcast: новости
• Лучшие приложения и игры для Android 2021 по версии Google Play
• Google обновил информацию о распространении разных версий Android
•
Apex, или как создать UI-фреймворк
•
Понять, как писать модульные тесты на Android, никогда не было так просто
•
Интеграция Android-приложения с Google Assistant
•
Переход с LiveData на Flow за 5 шагов
•
Новые функции в фоновых задачах Android
•
Наш опыт использования MotionLayout в NFC-платежах
•
Уменьшение размера приложения для Android в LinkedIn
•
Простая локализация строк в Kotlin Multiplatform
•
Какова на самом деле жизнь в Android-команде Bending Spoons
•
Анимация Android RecyclerView это просто
•
Compose + Wear OS: хроматический тюнер
•
От Gradle к Gradle.kts: подробное руководство по преобразованию Groovy в Kotlin
•
Создание сегментированного прогресс бара в Android
•
Автоматическое семантическое управление версиями в Android
•
Локализованные строки Android для любого UI
•
Android Debug Database: отладка баз данных и Shared Preferences
•
TimelineView: календарь, как в Google
Разработка
• Почему я пишу игры на Unity
• Первая игра за 4 месяца
• У Unity всё плохо
• Не пишем код целый месяц и нам нормально
• Почему Proxyman — сын маминой подруги в мире снифферов
• Разделяй и властвуй: детерминированный и скриптованный Match-3 движок
• Интерактивный объёмный туман с динамикой жидкости и произвольными границами
• Измеряем релизный цикл мобильных приложений
• Как взломать систему через тестовую среду
• Опыт разработки первой игры на Unity, часть 2 + Часть 1
• Производительность Unity C#: советы и приемы
• Как построить сетевой клиент в большом приложении, написать плагин на Kotlin и работать с UI-библиотекой
• Dart Code Metrics — мой первый pull request
• Обеспечение качества мобильной разработки в hh.ru
• Podlodka #243: геймдизайн
• Запустился Advent of Code 2021
• 11 вещей, которые я узнал после того, как стал проводить технические интервью
• Дизайн приложений: примеры для вдохновения #66
• Как устроиться на работу геймдизайнером?
• $15 млн в Серии А: Raycast — продуктивность повседневных задач для разработчиков
• Мобильной разработки не будет через 5 лет
• JetBrains представила легковесный редактор кода Fleet
• Каждый третий российский школьник хочет работать в сфере разработки игр
•
10 лучших туториалов по Unity для начинающих разработчиков игр
•
Кто пишет лучший код: GitHub CoPilot или GPT-3?
•
Чтобы быть разработчиком выше среднего, вам просто нужно сделать одну вещь
•
Введение в компьютерные сети для разработчиков — Ethernet и IP (с иллюстрациями)
•
Упражнение по проектированию мобильных систем: библиотека изображений
•
Современные тенденции UI-дизайна и как их применить в ваших приложениях
•
Создание и совместное использование таблиц в стиле Excel с помощью React Native
•
Ключевые принципы UX в индустрии мобильного здоровья и фитнеса 2022
•
30 лучших команд Git, которые вы должны знать, чтобы освоить Git CLI
•
Как комментарии в коде устаревают
•
Переводя мобильные приложения, автоматизируйте все!
•
Гейм джем: игры для слепых геймеров
Аналитика, маркетинг и монетизация
• VeVe Collectibles лидирует в пространстве NFT со $100 млн потребительских расходов
• Что стоит за успехом приложений электронной коммерции в 2021 году?
• Бенчмарки iOS подписок 2021 в отчете Adapty
• Прибыль в 2,5 миллиарда за полгода для пост-апокалиптического сюжета: секрет успеха State of Survival
• Как за 18 секунд собрать кучу отзывов о приложении?
• Медитация — это Prosto: история самого прибыльного сервиса для заботы о ментальном здоровье
• Как создать приложение которое никому не нужно и достойно провести его в последний путь
• to Stories – приложение для создания сторис из ссылки, текста, фото или видео
• Как мы делаем установки приложений по 10р. из TikTok. Подробный гайд по креативам с примерами!
• Локализация страницы входа для приложений Mendix
AI, Устройства, IoT
• Хочу жить в такой же: как мы научились искать квартиры по фотографиям
• Как я через ioBroker шлагбаумы в поле шатал
• Meta запускает PyTorch Live для мобильного ИИ
• AWS запускает бесплатный ML-сервис SageMaker Studio Lab
• Microsoft выпустила новогодний свитер с «Сапером»
• Amazon запустил IoT RoboRunner для управления роботами
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
![](https://habrastorage.org/webt/cd/kp/0z/cdkp0zoajfrxdfb2fhfejdusbic.jpeg)
Этот дайджест доступен в виде еженедельной рассылки. А ежедневно новости мы рассылаем в
![](https://habrastorage.org/webt/5e/k7/bf/5ek7bfhjzilma-pbharuioaa7lw.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• Как устроен счетчик ссылок в Swift
• Управление памятью в Swift
• Исправление неоднозначных ограничений без перезапуска приложения
• Умный дом iOS разработчика
• Бывших не бывает. Как опыт спортивного программирования влияет на работу с реальным кодом
• BottomSheet в iOS 15: возможности UISheetPresentationController
• Swift. Class && Struct (классы и структуры) ч.1
• Swift. Сборка данных из разных запросов
• Apple может получать комиссию с разработчиков, даже если они не используют платежную систему App Store
• Лучшие приложения для iPhone и iPad 2021
• YooIKit: UI в ЮMoney
• Начинается тестирование Swift Playgrounds 4, в котором можно будет публиковать приложения с iPad
•
![](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/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• Дело об исчезнувшем покрытии кода
• Android Developer Roadmap 2022: карта навыков и модель развития Android-разработчика
• Android 12: история поддержки
• Инструменты разработчика дл тестирования Android-приложений
• Как я тестировал Android-приложения с помощью Samsung Remote Test Lab
• Android Vitals — Сколько времени?
• Идеальный SDK для Android приложений: как выбрать и существует ли?
• Google готовит собственные умные часы на Wear OS
• Android Broadcast: новости
• Лучшие приложения и игры для Android 2021 по версии Google Play
• Google обновил информацию о распространении разных версий Android
•
![](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/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• Почему я пишу игры на Unity
• Первая игра за 4 месяца
• У Unity всё плохо
• Не пишем код целый месяц и нам нормально
• Почему Proxyman — сын маминой подруги в мире снифферов
• Разделяй и властвуй: детерминированный и скриптованный Match-3 движок
• Интерактивный объёмный туман с динамикой жидкости и произвольными границами
• Измеряем релизный цикл мобильных приложений
• Как взломать систему через тестовую среду
• Опыт разработки первой игры на Unity, часть 2 + Часть 1
• Производительность Unity C#: советы и приемы
• Как построить сетевой клиент в большом приложении, написать плагин на Kotlin и работать с UI-библиотекой
• Dart Code Metrics — мой первый pull request
• Обеспечение качества мобильной разработки в hh.ru
• Podlodka #243: геймдизайн
• Запустился Advent of Code 2021
• 11 вещей, которые я узнал после того, как стал проводить технические интервью
• Дизайн приложений: примеры для вдохновения #66
• Как устроиться на работу геймдизайнером?
• $15 млн в Серии А: Raycast — продуктивность повседневных задач для разработчиков
• Мобильной разработки не будет через 5 лет
• JetBrains представила легковесный редактор кода Fleet
• Каждый третий российский школьник хочет работать в сфере разработки игр
•
![](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/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• VeVe Collectibles лидирует в пространстве NFT со $100 млн потребительских расходов
• Что стоит за успехом приложений электронной коммерции в 2021 году?
• Бенчмарки iOS подписок 2021 в отчете Adapty
• Прибыль в 2,5 миллиарда за полгода для пост-апокалиптического сюжета: секрет успеха State of Survival
• Как за 18 секунд собрать кучу отзывов о приложении?
• Медитация — это Prosto: история самого прибыльного сервиса для заботы о ментальном здоровье
• Как создать приложение которое никому не нужно и достойно провести его в последний путь
• to Stories – приложение для создания сторис из ссылки, текста, фото или видео
• Как мы делаем установки приложений по 10р. из TikTok. Подробный гайд по креативам с примерами!
• Локализация страницы входа для приложений Mendix
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• Хочу жить в такой же: как мы научились искать квартиры по фотографиям
• Как я через ioBroker шлагбаумы в поле шатал
• Meta запускает PyTorch Live для мобильного ИИ
• AWS запускает бесплатный ML-сервис SageMaker Studio Lab
• Microsoft выпустила новогодний свитер с «Сапером»
• Amazon запустил IoT RoboRunner для управления роботами
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.