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

Хотим в очередной раз пригласить вас в опрос Developer Nation. Расскажите, что вам нравится или не нравится в популярных инструментах и платформах. Опрос охватывает 13 направлений: мобильные, десктопные, облачные и веб-приложения, промышленный Интернет вещей, игры, машинное обучение, искусственный интеллект и т.п. Опрос доступен на 10 языках, в том числе и на русском. Можно начать и сохранить для продолжения. Можно выиграть призы. Главное — внести свой вклад в развитие сообщества разработчиков.
iOS
• Как повысить скорость работы цикла в Swift на 87%
• Share extension как общий компонент
• Однонаправленный поток в Swift
• Логи Xcode — читаем самостоятельно?
• MVP with Router
• Как работает Code Signing в iOS
• Apple тестирует cвой чат-бот в стиле ChatGPT
• Руководитель Flutter переходит в Apple
• Apple отложит изменения в App Store для подачи жалобы в Верховный суд
•
Where are Xcode bookmarks stored?
•
Mastering ScrollView in SwiftUI. Transitions
•
Designing a Weather app for visionOS
•
Unleash Your Creativity: Building Your Own Music App with SwiftUI for VisionPro
•
Stop repeating DispatchQueue.main.async
•
How to Create Callback-like Behavior Using AsyncStream in Swift
•
OSLog and Unified logging as recommended by Apple
•
Effective Swift Package Manager caching with Fastlane and Github Actions
•
Mastering MVVM
•
10 quick tips to increase your iOS code quality
•
I screwed up one key accessibility behavior, and now I’m on a mission to do better
•
iOS Development with Factory
•
Fun with flags in Swift
•
I moved my project from Cocoapods to SPM… Why?
•
Custom Selector in SwiftUI with Animations
•
Push Notifications Options in SwiftUI
•
Mastering charts in SwiftUI. Selection.
•
Thread’s iOS Interface in SwiftUI
•
Creating tuples dynamically and refactoring Generics with Swift’s Parameter Packs
•
SwiftUI Drag and Drop with Transferable Custom Object
•
CocoaHeadsNL Meetup
•
Kanban Drag & Drop — Moving Items between Section/List
•
Easily Preload SwiftData Using JSON On Your App’s First Launch
•
Prevent Screenshot — SwiftUI
•
SwiftyMarvel: лучшие практики iOS-разработки
•
Swift Markdown: парсинг, создание, редактирование и анализ Markdown
Android
• Как мы запускали демоприложения
• Развлечение на выходные: собираем Android для Raspberry Pi из исходного кода
• Работа с асинхронными операциями с помощью Kotlin Coroutines
• Android-разработка для самых маленьких
• Убираем дублирование конфигурации Gradle и при чём здесь косы и горы
• Авторизация по биометрии — Kotlin
• Обзор библиотек для скриншот-тестирования Android проектов. Часть 2 + Часть 1
• Упрощаем и укрощаем UI для Android с помощью аннотаций
•
Kotlin Anti-Patterns – Also this is Null
•
Improving Android Accessibility with Modifiers in Jetpack Compose
•
Android app performance: optimize startup time with «above the fold» technique
•
Tracking Android App Launch in production
•
Oof – look, that’s a legacy codebase!
•
Kotlin Enums — Replace values() with entries
•
Helper Utility for Jetpack Compose’s Pointer Input Scope
•
The Hottest Jetpack Compose Projects And Libraries on GitHub in 2023
•
Lottie Android 6.1 -Lottie goes multithreaded
•
Eliminating Common Pitfalls in Clean Architecture Implementation for Android
•
Customising Android app UI with themes
•
Unlocking the Power of Mappers in Android
•
5 Kotlin Tips for a Cleaner Codebase
•
Preventing Font Scaling in Jetpack Compose
•
How and when to use Sealed classes in Kotlin and Android
•
Build Android apk from command line without Gradle
•
Slaying the monolith: API/Implementation modularisation pattern in Android development
•
Droidcon San Francisco 23 Videos
•
Compose performance – Android Developers Backstage
•
Beginning your Android development journey in Unity
•
Content Providers — Android Basics 2023
•
Uris (Unique Resource Identifier) — Android Basics 2023
•
Learn Kotlin Flow: изучаем Kotlin Flow на реальных примерах
•
Android Developer Roadmap 2022: обучение Android-разработке
•
Wavy Slider: волнистый слайдер
Кроссплатформа
• Прокрутка во Flutter: меняем законы физики
• Как мы WASM в PWA на Flutter прикручивали
•
Best Architecture In Kotlin Multiplatform
•
Multiplatform image loading: Coil 3.0
•
Implementing Deep Links in Flutter: A Comprehensive Guide to Enhance Mobile User Experience
•
How to Parse JSON in Dart/Flutter: The Ultimate Guide
•
Server-Driven UI Implementation from Scratch in Flutter
•
Build the Apple Stocks App Using Flutter
•
Web and desktop support for file upload and download in Flutter
•
Parsing JSON in Flutter
•
Custom Fonts in Android and iOS Applications using Kotlin Multiplatform and Jetpack Compose
Разработка
• Идеальное собеседование. Мой опыт тимлида, как нанимать с помощью бизнес-кейсов
• Фальшивая аура заботы в UX
• Здоровое трение в UX: создание слайдера оплаты
• Волшебный шкаф тестировщика: как мы победили человеческий фактор в учёте девайсов
• Архитектура сложных клиентских приложений
• Особенности разработки автотестов различными инструментами, а также статистика по использованию
• Носим автотесты на руках
• Спрос на разработчиков игр в России упал почти на 40%
• Podlodka #327: Event-Driven архитектура
• Qodana вышла из предварительной версии
• Аутсорсеры в Индии потеряют работу в ближайшие год-два
• Бесплатный курс «LangChain и векторные базы данных в продакшене»
•
Stick to boring architecture for as long as possible
•
How Canva saves millions annually in Amazon S3 costs
•
Finding a buddy when you’re a team of one
•
What The New Firebase AI Extensions Can Do For Your Apps
•
How to Write a Great README
•
You can’t stop the business, or why rewrites fail
Аналитика, маркетинг и монетизация
• Мобайл вернулся к росту — траты пользователей в 1 полугодии 2023 поставили новый рекорд
• Прогноз развития мобильного рынка 2027 от Sensor Tower
• В Teams появился цифровой макияж Maybelline
• DSP: инструкция по применению. Использование неатрибуцированных данных для улучшения предиктивных алгоритмов. Часть #1
• Как работает мозг пользователя и формируется привязанность
• Google выпустил новую AR-игру Space Invaders
• Threads, альтернатива Slack, получил около 1 млн загрузок после запуска Threads
• На волне успеха в TikTok приложение Remini увеличило доходы в 5 раз
• Клуб миллионеров в App Store — 0.5% приложений получают более 1 млн загрузок
•
Bumble, Hinge, Tinder, and Match — which dating app has the best marketing? A study.
AI, Устройства, IoT
• Визуализация реальных масштабов проклятия размерности
• Как мы кибериммуннизировали IoT-контроллер
• GitHub запустил Copilot Chat
•
The Dawn of a New Era: ChatGPT’s Code Interpreter
•
List of Open Source Alternatives to ChatGPT That Can Be Used to Build Your Own Clone
•
What we don’t talk about when we talk about building AI apps
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!

Хотим в очередной раз пригласить вас в опрос Developer Nation. Расскажите, что вам нравится или не нравится в популярных инструментах и платформах. Опрос охватывает 13 направлений: мобильные, десктопные, облачные и веб-приложения, промышленный Интернет вещей, игры, машинное обучение, искусственный интеллект и т.п. Опрос доступен на 10 языках, в том числе и на русском. Можно начать и сохранить для продолжения. Можно выиграть призы. Главное — внести свой вклад в развитие сообщества разработчиков.
iOS• Как повысить скорость работы цикла в Swift на 87%
• Share extension как общий компонент
• Однонаправленный поток в Swift
• Логи Xcode — читаем самостоятельно?
• MVP with Router
• Как работает Code Signing в iOS
• Apple тестирует cвой чат-бот в стиле ChatGPT
• Руководитель Flutter переходит в Apple
• Apple отложит изменения в App Store для подачи жалобы в Верховный суд
•
Where are Xcode bookmarks stored?•
Mastering ScrollView in SwiftUI. Transitions•
Designing a Weather app for visionOS•
Unleash Your Creativity: Building Your Own Music App with SwiftUI for VisionPro•
Stop repeating DispatchQueue.main.async•
How to Create Callback-like Behavior Using AsyncStream in Swift•
OSLog and Unified logging as recommended by Apple•
Effective Swift Package Manager caching with Fastlane and Github Actions•
Mastering MVVM•
10 quick tips to increase your iOS code quality•
I screwed up one key accessibility behavior, and now I’m on a mission to do better•
iOS Development with Factory•
Fun with flags in Swift•
I moved my project from Cocoapods to SPM… Why?•
Custom Selector in SwiftUI with Animations•
Push Notifications Options in SwiftUI•
Mastering charts in SwiftUI. Selection.•
Thread’s iOS Interface in SwiftUI•
Creating tuples dynamically and refactoring Generics with Swift’s Parameter Packs•
SwiftUI Drag and Drop with Transferable Custom Object•
CocoaHeadsNL Meetup•
Kanban Drag & Drop — Moving Items between Section/List•
Easily Preload SwiftData Using JSON On Your App’s First Launch•
Prevent Screenshot — SwiftUI•
SwiftyMarvel: лучшие практики iOS-разработки•
Swift Markdown: парсинг, создание, редактирование и анализ Markdown
Android• Как мы запускали демоприложения
• Развлечение на выходные: собираем Android для Raspberry Pi из исходного кода
• Работа с асинхронными операциями с помощью Kotlin Coroutines
• Android-разработка для самых маленьких
• Убираем дублирование конфигурации Gradle и при чём здесь косы и горы
• Авторизация по биометрии — Kotlin
• Обзор библиотек для скриншот-тестирования Android проектов. Часть 2 + Часть 1
• Упрощаем и укрощаем UI для Android с помощью аннотаций
•
Kotlin Anti-Patterns – Also this is Null•
Improving Android Accessibility with Modifiers in Jetpack Compose•
Android app performance: optimize startup time with «above the fold» technique•
Tracking Android App Launch in production•
Oof – look, that’s a legacy codebase!•
Kotlin Enums — Replace values() with entries•
Helper Utility for Jetpack Compose’s Pointer Input Scope•
The Hottest Jetpack Compose Projects And Libraries on GitHub in 2023•
Lottie Android 6.1 -Lottie goes multithreaded•
Eliminating Common Pitfalls in Clean Architecture Implementation for Android•
Customising Android app UI with themes•
Unlocking the Power of Mappers in Android•
5 Kotlin Tips for a Cleaner Codebase•
Preventing Font Scaling in Jetpack Compose•
How and when to use Sealed classes in Kotlin and Android•
Build Android apk from command line without Gradle•
Slaying the monolith: API/Implementation modularisation pattern in Android development•
Droidcon San Francisco 23 Videos•
Compose performance – Android Developers Backstage•
Beginning your Android development journey in Unity•
Content Providers — Android Basics 2023•
Uris (Unique Resource Identifier) — Android Basics 2023•
Learn Kotlin Flow: изучаем Kotlin Flow на реальных примерах•
Android Developer Roadmap 2022: обучение Android-разработке•
Wavy Slider: волнистый слайдер
Кроссплатформа• Прокрутка во Flutter: меняем законы физики
• Как мы WASM в PWA на Flutter прикручивали
•
Best Architecture In Kotlin Multiplatform•
Multiplatform image loading: Coil 3.0•
Implementing Deep Links in Flutter: A Comprehensive Guide to Enhance Mobile User Experience•
How to Parse JSON in Dart/Flutter: The Ultimate Guide•
Server-Driven UI Implementation from Scratch in Flutter•
Build the Apple Stocks App Using Flutter•
Web and desktop support for file upload and download in Flutter•
Parsing JSON in Flutter•
Custom Fonts in Android and iOS Applications using Kotlin Multiplatform and Jetpack Compose
Разработка• Идеальное собеседование. Мой опыт тимлида, как нанимать с помощью бизнес-кейсов
• Фальшивая аура заботы в UX
• Здоровое трение в UX: создание слайдера оплаты
• Волшебный шкаф тестировщика: как мы победили человеческий фактор в учёте девайсов
• Архитектура сложных клиентских приложений
• Особенности разработки автотестов различными инструментами, а также статистика по использованию
• Носим автотесты на руках
• Спрос на разработчиков игр в России упал почти на 40%
• Podlodka #327: Event-Driven архитектура
• Qodana вышла из предварительной версии
• Аутсорсеры в Индии потеряют работу в ближайшие год-два
• Бесплатный курс «LangChain и векторные базы данных в продакшене»
•
Stick to boring architecture for as long as possible•
How Canva saves millions annually in Amazon S3 costs•
Finding a buddy when you’re a team of one•
What The New Firebase AI Extensions Can Do For Your Apps•
How to Write a Great README•
You can’t stop the business, or why rewrites fail
Аналитика, маркетинг и монетизация• Мобайл вернулся к росту — траты пользователей в 1 полугодии 2023 поставили новый рекорд
• Прогноз развития мобильного рынка 2027 от Sensor Tower
• В Teams появился цифровой макияж Maybelline
• DSP: инструкция по применению. Использование неатрибуцированных данных для улучшения предиктивных алгоритмов. Часть #1
• Как работает мозг пользователя и формируется привязанность
• Google выпустил новую AR-игру Space Invaders
• Threads, альтернатива Slack, получил около 1 млн загрузок после запуска Threads
• На волне успеха в TikTok приложение Remini увеличило доходы в 5 раз
• Клуб миллионеров в App Store — 0.5% приложений получают более 1 млн загрузок
•
Bumble, Hinge, Tinder, and Match — which dating app has the best marketing? A study.
AI, Устройства, IoT• Визуализация реальных масштабов проклятия размерности
• Как мы кибериммуннизировали IoT-контроллер
• GitHub запустил Copilot Chat
•
The Dawn of a New Era: ChatGPT’s Code Interpreter•
List of Open Source Alternatives to ChatGPT That Can Be Used to Build Your Own Clone•
What we don’t talk about when we talk about building AI apps← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.