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

iOS
• Расширяем возможности мобильного приложения на WebView. Опыт Ozon Банк
• Постепенный перенос проектов и пакетов на Swift 6
• Пишем виджет в Control Center (iOS 18)
• Изучаем новые структуры данных для iOS разработчика
• Куб для ваших сторис*
• Что нового в Swift 6?
• По оценкам IDC, в 2024 году Apple продаст менее 500 тысяч устройств Vision Pro
• Как работает AdAttributionKit
• Поваренная книга SwiftUI: кнопки — Часть 1
•
Mastering Animatable and AnimatablePair in SwiftUI
•
SwiftUI can be a bit… eager
•
Zoom transitions
•
Backpressure in Combine
•
Building a custom application UI with SwiftUI & iOS 18 API
•
Building the inverted scroll of a messaging app
•
Mobile Deployment Pipelines for $0
•
5 Strategies for Managing Image Resources Effectively in iOS
•
Automating pre-production iOS app builds
•
Running a package from Xcode Build phase
•
XCUITest (iOS) Automation with POM Techniques
•
Write Clean and Maintainable XCUITests with Screen Chaining
•
AI features in Xcode 16: is it good?
•
Check if your app has a newer version on the App Store using Swift
•
Streamlining Menu Browsing with OCR Text Recognition
•
Utilizing Apple’s oslog for Enhanced Logging in Xcode
•
Zoom Transitions — SwiftUI
•
AI Features in Xcode 16: is it Good or Bad?
•
Laying out views with ContainerRelativeFrame in SwiftUI
•
Animated Scroll Wheel Picker — SwiftUI
•
Removing More Button from Tab bar — SwiftUI
•
Create Interactive In-App Polls With SwiftUI
•
StreamUI — генерация видео в SwiftUI
•
DSFDropFilesView — NSView для drag-and-drop файлов
Android
• Развенчиваем 6 мифов про современную Android-разработку
• Kotlin Coroutines под капотом
• Strong Skipping Mode — новый способ оптимизации стабильности в Jetpack Compose
• Создавай и упрощай: оптимизируем Android-приложение с видеоконтентом
• Видео с прозрачностью на Jetpack Compose – запросто
• Как обойти множественное наследование в Kotlin и Java. Агрегация и композиция
•
Architecture related decisions in Android — Error handling and Monads
•
Kotlin’s @Keep Annotation: Keeping Your Code Safe and Sound
•
Let’s clarify some misconceptions around android development these days
•
Declarative Gradle
•
Top 5 Android Studio Plugins
•
Which Map Transformation Should I Use?
•
Kotlin Builder Inference Explained
•
RxJava to Kotlin Coroutines: The Ultimate Migration Guide
•
How to Configure Android Build System?
•
Kotlin Code Reuse: Composing like you’re Inheriting
•
Android MVVM Architecture for A Production Ready App
•
Leveraging BFF and Dynamic UI in Android Applications with Jetpack Compose
•
Safe your API Keys via Secrets Gradle plugin
•
Ticket UI Using compose
•
Improving Perceived Performance with Delayed Visibility
•
From Zero to Billions: Building a High-Performance Kotlin App in Two Months
•
The Top 5 Practices That Make My Android Architecture More Scalable
•
Generating Kotlin SDKs with Smithy
•
Kotlin/Native BigDecimal: A drop-in replacement for java.math.BigDecimal
•
K2: How to Make a Better Compiler but Keep Kotlin the Same
•
It’s Compose O’Clock, Draw on My Watch!
•
Crashlytics for your Android apps
•
Kotlin Code Reuse: Composing like you’re Inheriting
•
Exploring Material3 Adaptive Layout
•
Valkyrie — генерация Compose ImageVector из SVG/XML
•
Fig — Google Таблицы в качестве удаленного конфига
Кроссплатформа
• Первый взгляд на переход с Xamarin Native на Flutter
• Как мы переходили с Xamarin на Flutter
• Rive-анимация для Flutter-приложений: почему мы любим ее больше Lottie, когда ее применять и какие фишки использовать
•
Mastering Date and Time Management in iOS with Kotlinx DateTime: A Step-by-Step Guide
•
Build Android and iOS apps with SwiftUI
•
Google Pay Integration in Flutter App
•
Codemagic setup with flavors. Flutter CI/CD
•
HTTP Requests in Kotlin Multiplatform With Ktor — KMP for Beginners
•
Compose Multiplatform performance on iOS
•
Code push for Flutter
•
Rewriting freezed with Macros
•
FlowMVI — архитектурный фреймворк Kotlin Multiplatform на основе корутинов
•
Colors AI — генератор цветовых схем с ИИ на Flutter
Разработка
• Новый опрос Developer Nation
• Сам написал, сам полетал: как и зачем я разработал 3D-игру с нуля под компьютеры из 90-х в 2024 году?
• Важные вещи в программировании 2024
• Моё тестовое в Билайн на позицию стажёра
• РКН по ошибке снес безобидное приложение в AppStore, на волне последних чисток
• 5 советов по разработке игр от соло-разработчика
• System Design-интервью для практиков
• 10 тупых вопросов на собеседовании (и как на них отвечать) + все собеседования
• Локальная разработка в Авито
• Rust и Kotlin растут в TIOBE Index
• ChatGPT хорошо программирует в задачах, существовавших до 2021 года, но испытывает трудности с новыми
•
Building and scaling Notion’s data lake
•
MobileLLM — Language Models for On-Device Use Cases
•
How to set priorities?
•
Weird things I learned while writing an x86 emulator
•
AI on Mac Made Easy: How to run LLMs locally with OLLAMA in Swift/SwiftUI
•
Learn TypeScript — Full Course for Beginners
Аналитика, маркетинг и монетизация
• Sekai получил лицензию на «Наруто» для разработки приложений для фанатов аниме
• 76% приложений и сайтов с подпиской использует темные паттерны
• Приложение для арт-терапии Scribble Journey позволяет выразить эмоции с помощью зарисовок
• Самые скачиваемые и зарабатывающие приложения в России в июне 2024
• Apple «временно» одобрила Epic Games Store, но потребовала изменений
• Pokemon Go: история революции в дополненной реальности
• Lamoda Tech Analytics Party: материалы встречи
• Wayther — приложение с прогнозом погоды, разработанное специально для автопутешествий
• Карты Google на iOS начали показывать спидометр (через 5 лет после Android)
•
How to improve funnel conversion
•
How apps can innovate
AI, Устройства, IoT
• Обзор нейросетей для создания иллюстраций и артов
• Как жить в загородной бане, пока строится умный дом
• Как выбрать контроллер для DIY (сводная таблица по 30++ моделям с комментариями)
• Сравниваем новые чипы Qualcomm с процессорами Apple, Intel и AMD
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

iOS• Расширяем возможности мобильного приложения на WebView. Опыт Ozon Банк
• Постепенный перенос проектов и пакетов на Swift 6
• Пишем виджет в Control Center (iOS 18)
• Изучаем новые структуры данных для iOS разработчика
• Куб для ваших сторис*
• Что нового в Swift 6?
• По оценкам IDC, в 2024 году Apple продаст менее 500 тысяч устройств Vision Pro
• Как работает AdAttributionKit
• Поваренная книга SwiftUI: кнопки — Часть 1
•
Mastering Animatable and AnimatablePair in SwiftUI•
SwiftUI can be a bit… eager•
Zoom transitions•
Backpressure in Combine•
Building a custom application UI with SwiftUI & iOS 18 API•
Building the inverted scroll of a messaging app•
Mobile Deployment Pipelines for $0•
5 Strategies for Managing Image Resources Effectively in iOS•
Automating pre-production iOS app builds•
Running a package from Xcode Build phase•
XCUITest (iOS) Automation with POM Techniques•
Write Clean and Maintainable XCUITests with Screen Chaining•
AI features in Xcode 16: is it good?•
Check if your app has a newer version on the App Store using Swift•
Streamlining Menu Browsing with OCR Text Recognition•
Utilizing Apple’s oslog for Enhanced Logging in Xcode•
Zoom Transitions — SwiftUI•
AI Features in Xcode 16: is it Good or Bad?•
Laying out views with ContainerRelativeFrame in SwiftUI•
Animated Scroll Wheel Picker — SwiftUI•
Removing More Button from Tab bar — SwiftUI•
Create Interactive In-App Polls With SwiftUI•
StreamUI — генерация видео в SwiftUI•
DSFDropFilesView — NSView для drag-and-drop файлов
Android• Развенчиваем 6 мифов про современную Android-разработку
• Kotlin Coroutines под капотом
• Strong Skipping Mode — новый способ оптимизации стабильности в Jetpack Compose
• Создавай и упрощай: оптимизируем Android-приложение с видеоконтентом
• Видео с прозрачностью на Jetpack Compose – запросто
• Как обойти множественное наследование в Kotlin и Java. Агрегация и композиция
•
Architecture related decisions in Android — Error handling and Monads•
Kotlin’s @Keep Annotation: Keeping Your Code Safe and Sound•
Let’s clarify some misconceptions around android development these days•
Declarative Gradle•
Top 5 Android Studio Plugins•
Which Map Transformation Should I Use?•
Kotlin Builder Inference Explained•
RxJava to Kotlin Coroutines: The Ultimate Migration Guide•
How to Configure Android Build System?•
Kotlin Code Reuse: Composing like you’re Inheriting•
Android MVVM Architecture for A Production Ready App•
Leveraging BFF and Dynamic UI in Android Applications with Jetpack Compose•
Safe your API Keys via Secrets Gradle plugin•
Ticket UI Using compose•
Improving Perceived Performance with Delayed Visibility•
From Zero to Billions: Building a High-Performance Kotlin App in Two Months•
The Top 5 Practices That Make My Android Architecture More Scalable•
Generating Kotlin SDKs with Smithy•
Kotlin/Native BigDecimal: A drop-in replacement for java.math.BigDecimal•
K2: How to Make a Better Compiler but Keep Kotlin the Same•
It’s Compose O’Clock, Draw on My Watch!•
Crashlytics for your Android apps•
Kotlin Code Reuse: Composing like you’re Inheriting•
Exploring Material3 Adaptive Layout•
Valkyrie — генерация Compose ImageVector из SVG/XML•
Fig — Google Таблицы в качестве удаленного конфига
Кроссплатформа• Первый взгляд на переход с Xamarin Native на Flutter
• Как мы переходили с Xamarin на Flutter
• Rive-анимация для Flutter-приложений: почему мы любим ее больше Lottie, когда ее применять и какие фишки использовать
•
Mastering Date and Time Management in iOS with Kotlinx DateTime: A Step-by-Step Guide•
Build Android and iOS apps with SwiftUI•
Google Pay Integration in Flutter App•
Codemagic setup with flavors. Flutter CI/CD•
HTTP Requests in Kotlin Multiplatform With Ktor — KMP for Beginners•
Compose Multiplatform performance on iOS•
Code push for Flutter•
Rewriting freezed with Macros•
FlowMVI — архитектурный фреймворк Kotlin Multiplatform на основе корутинов•
Colors AI — генератор цветовых схем с ИИ на Flutter
Разработка• Новый опрос Developer Nation
• Сам написал, сам полетал: как и зачем я разработал 3D-игру с нуля под компьютеры из 90-х в 2024 году?
• Важные вещи в программировании 2024
• Моё тестовое в Билайн на позицию стажёра
• РКН по ошибке снес безобидное приложение в AppStore, на волне последних чисток
• 5 советов по разработке игр от соло-разработчика
• System Design-интервью для практиков
• 10 тупых вопросов на собеседовании (и как на них отвечать) + все собеседования
• Локальная разработка в Авито
• Rust и Kotlin растут в TIOBE Index
• ChatGPT хорошо программирует в задачах, существовавших до 2021 года, но испытывает трудности с новыми
•
Building and scaling Notion’s data lake•
MobileLLM — Language Models for On-Device Use Cases•
How to set priorities?•
Weird things I learned while writing an x86 emulator•
AI on Mac Made Easy: How to run LLMs locally with OLLAMA in Swift/SwiftUI•
Learn TypeScript — Full Course for Beginners
Аналитика, маркетинг и монетизация• Sekai получил лицензию на «Наруто» для разработки приложений для фанатов аниме
• 76% приложений и сайтов с подпиской использует темные паттерны
• Приложение для арт-терапии Scribble Journey позволяет выразить эмоции с помощью зарисовок
• Самые скачиваемые и зарабатывающие приложения в России в июне 2024
• Apple «временно» одобрила Epic Games Store, но потребовала изменений
• Pokemon Go: история революции в дополненной реальности
• Lamoda Tech Analytics Party: материалы встречи
• Wayther — приложение с прогнозом погоды, разработанное специально для автопутешествий
• Карты Google на iOS начали показывать спидометр (через 5 лет после Android)
•
How to improve funnel conversion•
How apps can innovate
AI, Устройства, IoT• Обзор нейросетей для создания иллюстраций и артов
• Как жить в загородной бане, пока строится умный дом
• Как выбрать контроллер для DIY (сводная таблица по 30++ моделям с комментариями)
• Сравниваем новые чипы Qualcomm с процессорами Apple, Intel и AMD
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
error911
Полезно, спасибо!