В новом дайджесте ковка Metal и поиск регрессий в Compose, полностью переделанный React Native и форк Flutter, тактильный отклик в мобильных приложениях, сравнение размеров iOS и Android приложений, самые скачиваемые и зарабатывающие приложения в России в октябре и многое другое. Подключайтесь!
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

iOS
• Делаем в SwiftUI размытие экрана при переключении задачи
• Реализуем Face ID аутентификацию в iOS-приложении
• Малоизвестные фичи SwiftUI
• Swift TaskGroup на примерах
• Apple купила Pixelmator
• Как устроена библиотека AppMetrica
• Здесь куют Metal
• Как iOS-разработчику выжить на проекте с KMP?
• App Store будет показывать сводку отзывов, сделанную ИИ
• Copilot появился в Apple Xcode
•
App development on iPad
•
Why is xcodebuild slower than the Xcode GUI?
•
Understanding actors in Swift
•
Simplify Your iOS CI with Makefiles
•
Making illegal states unrepresentable
•
Measuring View Visibility Percentage in SwiftUI Using PreferenceKeys
•
Using the #require macro for Swift Testing
•
Coordinators & SwiftUI
•
Installing and Using Copilot in Xcode: AI Code Completion
•
The Strategy Pattern
•
Problematic Swift Concurrency Patterns
•
Introducing Swift Testing. Lifecycle.
•
Improving test coverage with parameterized tests in Swift testing
•
How to automatically update build and version numbers in your app using Fastlane
•
Preview Driven Development
•
Convert a SwiftUI view to an image
•
Translation API
•
Accessibility — The clock is ticking
•
SwiftUI Bottom Sheet like Apple Music App
•
Geometrize — изображения из примитивов
•
Paralayout — пиксельно идеальная верстка в iOS
•
CoreDataEvolution — безопасная многопоточность для Core Data
Android
• Главный метод Android-приложения
• Поиск регрессий в Compose
• Пятый элемент: разбираемся с Separated apps в KNOX Service Plugin (KSP)
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 5
• Внедрение электронной цифровой подписи в мобильное приложение на Android
• Как написать Android приложение, которое не будет стыдно положить в портфолио. Гайд для новичков в Android разработке
• Кастомный Date and Time picker как в Telegram на Kotlin Jetpack Compose
• Android cookbook: готовим WebView правильно
• Kotlin Coroutines. Устройство и возможности использования
• Фреш на полке, фреш в стеке
• Более частые выпуски Android SDK: более быстрые инновации и высокое качество
• Google работает над аналогом Dynamic Island для Android
•
Gemini on Android, The story so far
•
How To Create a Parallax Movie Pager In Jetpack Compose
•
Koin Annotations 1.4 stable & First 2.0 beta version
•
Automating Versioning and APK Naming in Gradle for Android Projects
•
Generating Code Coverage Report with JaCoCo: A Complete Guide for Android
•
Mastering DisposableEffect in Jetpack Compose: Managing Side Effects Effectively
•
Gradle Modularisation
•
Tips to Improve Frame Rates in Android Apps
•
Android interview questions about Activity component
•
The beauty of Kotlin Type System
•
Elevate Your Dependency Injection Game: Koin 4.0 Unveiled for Kotlin Developers
•
Google confirms the Android 16 dessert code-name is Baklava
•
Navigation In Multi-Module Android Apps
•
The Ultimate Beginner’s Roadmap to Android App Architecture
•
Dangerous Minds: How we’re getting developer education wrong
•
Droidcon Lisbon 2024
•
Compose Unstyled — UI-компоненты Compose Multiplatform
•
Lawnchair — лаунчер для Android
Кроссплатформа
• React Native полностью переделан
• Создан Flock — форк Flutter
• Как начать создавать Flutter-приложения на Авроре: полная инструкция
• Три пути к Flutter: истории разработчиков, которые справились
• Пробуем Flutter в Telegram Mini Apps: Насколько хорошее решение для разработки?
• Оптимизация архитектуры: делим крупные классы с помощью миксинов
• Шеринг файлов локализации между несколькими пакетами в Flutter
•
Flutter RAII: Simplifying Resource Management in Your Apps
•
How to Migrate from Dagger 2 / Hilt to Koin for KMP
•
Architect Your React Native app to handle Millions of Users and Large Development Teams
•
Inspektor — Multiplatform HTTP inspection library for KTOR
•
Kotlin Multiplatform Development Roadmap for 2025
•
Using Vertex AI in a Compose/Kotlin Multiplatform project
•
I built a web app with Flutter and this is how I feel about it
•
Breaking Up with GetX: Know the Facts Before You Judge
•
React Native, and «the native feel»
Разработка
• Правда ли, что приложения для Android намного меньше, чем для iOS?
• Тактильный отклик в мобильных приложениях: что это такое, когда использовать и зачем?
• Octoverse 2024: ежегодный отчет от GitHub
• Битва титанов: натив, кроссплатформа и PWA — ищем плюсы и минусы на каждом этапе разработки
• Без теории к практике: как уловить радиоволну инклюзивного дизайна, опираясь на опыт реальных людей
• Самые высокооплачиваемые вакансии октября в сфере разработки приложений
• Задачи с собеседований: Leetcode — Наибольший общий префикс
• От натива до SDUI через гибрид
• Карьера мобильного разработчика 2024
• Разработка в робототехнике — Автоматизация, Автопилоты
•
Investigation of a Workbench UI Latency Issue
•
How to build the perfect mobile release train
•
Amphion: OS audio, music & speech generation toolkit
•
Using an 8K TV as a monitor
•
On One-on-Ones — Insights From 1,500 Meetings
•
Decoupling Design From Engineering
•
Why Pascal Deserves a Second Look
•
Why sprints are taking the joy out of building software
•
Google Cloud Digital Leader Certification Course 2024
Аналитика, маркетинг и монетизация
• Самые скачиваемые и зарабатывающие приложения в России в октябре 2024
• Рынок iOS-приложений в Европе — отчет Setapp
• VK Реклама упростила продвижение приложений из RuStore
• Nintendo выпустила стриминговое приложение с музыкой из своих игр
• Маркетологи в мобайле: Любовь Бондарева (Rostic’s)
• Как я использовал Keynote для создания скриншотов и роликов для App Store
• Приложение Screenable превращает любой iPhone в стартовый телефон для детей
•
My 9 Favorite Growth Framework
•
How DreamPlus Games Makes $2M Per Month On Twilight Hype
AI, Устройства, IoT
• Опыты с акселерометром и гироскопом на платформе S7V30
• Тестируем Pixtral12B и LLaMA 3.2 11B на народных Tesla P100 и P40
• Как я занял первое место в AI Journey Contest 2023 (трек Personal AI)
• Распознавание ж/д пикетных столбиков по фотографиям с беспилотника на основе PyTorch и YOLOv5
• Как «ДубльДом» хочет сделать свои дома умными
• Как учёные начали расшифровывать пение птиц
• Архитектура и основы безопасности Zigbee
• Лучшие клавиатуры 2024
• GitHub обновляет Copilot
• Более четверти нового кода в Google создается ИИ
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на мой Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.


• Делаем в SwiftUI размытие экрана при переключении задачи
• Реализуем Face ID аутентификацию в iOS-приложении
• Малоизвестные фичи SwiftUI
• Swift TaskGroup на примерах
• Apple купила Pixelmator
• Как устроена библиотека AppMetrica
• Здесь куют Metal
• Как iOS-разработчику выжить на проекте с KMP?
• App Store будет показывать сводку отзывов, сделанную ИИ
• Copilot появился в Apple Xcode
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Главный метод Android-приложения
• Поиск регрессий в Compose
• Пятый элемент: разбираемся с Separated apps в KNOX Service Plugin (KSP)
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 5
• Внедрение электронной цифровой подписи в мобильное приложение на Android
• Как написать Android приложение, которое не будет стыдно положить в портфолио. Гайд для новичков в Android разработке
• Кастомный Date and Time picker как в Telegram на Kotlin Jetpack Compose
• Android cookbook: готовим WebView правильно
• Kotlin Coroutines. Устройство и возможности использования
• Фреш на полке, фреш в стеке
• Более частые выпуски Android SDK: более быстрые инновации и высокое качество
• Google работает над аналогом Dynamic Island для Android
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• React Native полностью переделан
• Создан Flock — форк Flutter
• Как начать создавать Flutter-приложения на Авроре: полная инструкция
• Три пути к Flutter: истории разработчиков, которые справились
• Пробуем Flutter в Telegram Mini Apps: Насколько хорошее решение для разработки?
• Оптимизация архитектуры: делим крупные классы с помощью миксинов
• Шеринг файлов локализации между несколькими пакетами в Flutter
•

•

•

•

•

•

•

•

•


• Правда ли, что приложения для Android намного меньше, чем для iOS?
• Тактильный отклик в мобильных приложениях: что это такое, когда использовать и зачем?
• Octoverse 2024: ежегодный отчет от GitHub
• Битва титанов: натив, кроссплатформа и PWA — ищем плюсы и минусы на каждом этапе разработки
• Без теории к практике: как уловить радиоволну инклюзивного дизайна, опираясь на опыт реальных людей
• Самые высокооплачиваемые вакансии октября в сфере разработки приложений
• Задачи с собеседований: Leetcode — Наибольший общий префикс
• От натива до SDUI через гибрид
• Карьера мобильного разработчика 2024
• Разработка в робототехнике — Автоматизация, Автопилоты
•

•

•

•

•

•

•

•

•


• Самые скачиваемые и зарабатывающие приложения в России в октябре 2024
• Рынок iOS-приложений в Европе — отчет Setapp
• VK Реклама упростила продвижение приложений из RuStore
• Nintendo выпустила стриминговое приложение с музыкой из своих игр
• Маркетологи в мобайле: Любовь Бондарева (Rostic’s)
• Как я использовал Keynote для создания скриншотов и роликов для App Store
• Приложение Screenable превращает любой iPhone в стартовый телефон для детей
•

•


• Опыты с акселерометром и гироскопом на платформе S7V30
• Тестируем Pixtral12B и LLaMA 3.2 11B на народных Tesla P100 и P40
• Как я занял первое место в AI Journey Contest 2023 (трек Personal AI)
• Распознавание ж/д пикетных столбиков по фотографиям с беспилотника на основе PyTorch и YOLOv5
• Как «ДубльДом» хочет сделать свои дома умными
• Как учёные начали расшифровывать пение птиц
• Архитектура и основы безопасности Zigbee
• Лучшие клавиатуры 2024
• GitHub обновляет Copilot
• Более четверти нового кода в Google создается ИИ
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.