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

iOS
• Swift и Objective-C в одном SDK. Стерпится, слюбится
• Примеры анимации SF-символов в SwiftUI
• Анализ производительности для ускорения сборок в Xcode
• Как не забросить свой пет-проект. Мой кейс запуска приложения в App Store
• Проверяем ваш код на API, использование которых нужно будет объяснять
• Подводные камни тестирования кода в Swift Concurrency
• Эластичная анимация
• Декларативная навигация в iOS-приложении
• История «Сбербанк Онлайн» на iOS
• Вопросы с собеседований: классы и структуры в Swift
•
Getting Started with Xcode Server: A Practical Guide for Simplifying CI/CD for iOS Apps
•
Improve the build times of your SPM Packages and your apps
•
How to Automate Memory Leak Detection in Your Swift Code with XCTest
•
iOS app setup for remote push notifications
•
Adapting an App to visionOS
•
Scrollable lists using Protocol-Oriented Programming and UICollectionViewFlowLayout
•
Swift 6: Preparing your Xcode projects for the future
•
Add Live Activities to your iOS app in 4 steps
•
Elm architecture in iOS
•
Developing Apps for iOS — Stanford course CS193p
•
Learn how to utilize the Scan and Reduce operators in SwiftUI with Combine
•
Xcode Breakpoints 101
•
Mastering iOS Code Quality: 12 Essential Strategies for Developers
•
Use Periphery to find unused code
•
How to set up Gitlab CI/CD with Fastlane for iOS-project on a Mac mini
•
Mastering StoreKit 2. SubscriptionStoreView in SwiftUI
•
Stop prefixing your UserDefaults keys
•
SwiftUI — Circular Loader Animation
•
Beyond Basics: Can SwiftUI Handle the Challenge of Complex macOS Apps?
•
Debugging Macros in Swift with the AST Explorer
•
Accessibility in Swift: Dynamic Colors
•
Creating Bottom Sheets like in the «Find My» app using SwiftUI
•
Parallax Carousel Scroll Animation Using SwiftUI
•
iOS 17 Data Flow with Observation Framework
•
English Pronunciation App: изучение английских слов и их произношения
•
Braze: криптовалюты с SwiftUI и MVVM
Android
• Как тестировщики с помощью пользовательского десктопа и видеокарты инфраструктуру строили
• Миграция приложения на Jetpack Compose
• Ускоряем сборку за счёт миграции с kapt на ksp
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Добавляем анимации встряхивания в Composable
•
NetMock: простой подход к тестированию HTTP-запросов в Java, Android и Kotlin Multiplatform
•
Kotlin and Java interoperability: Useful annotations
•
Let Kotlin do the code for you — Part II: Retrofit and Proxy
•
Unleashing Creativity with Custom Modifiers in Android Jetpack Compose
•
Kotlin Exhaustive when
•
Migrate your Android Build from Groovy to Version Catalog
•
Script for auto-build Android applications
•
Solving the mystery of recompositions in Compose’s LazyList
•
Jetpack Compose Tricks: Conditionally Applying Modifiers for Dynamic UIs
•
Ultron — simple, stable, maintainable Android UI tests
•
Walkthrough Kotlin Flows and Channels with Message Bubbles
•
Latest ARTwork on hundreds of millions of devices
•
Introducing Konsist: A Cutting-Edge Kotlin Linter
•
Unleashing Creativity with Custom Modifiers in Android Jetpack Compose
•
Implementing Advanced RecyclerView Techniques for Efficient List Rendering
•
SOLID Design Principles with Kotlin Android
•
Best practices for error handling in Kotlin
•
FloatingActionButton with Sub Floating Items in Jetpack Compose
•
Profile your build
•
Now in Android: 89 — Android 14 Beta 5, Compose for Wear OS, WebGPU, and more!
•
Full Guide to Bottom Sheets — UX With Material3
•
Konsist: тестирование архитектуры и соглашений языка Kotlin
•
JsonTree: красивый Json в Compose
Кроссплатформа
• Одно PWA, чтоб править всеми
• Фишки React Native для реализации личного кабинета
• Под капотом анимаций в React Native. Часть 2/2: Reanimated and JSI
• Flutter 3.13. Что нового?
•
Building Offline-First React Native Apps with React Query and TypeScript
•
How I became a Google Developer Expert in Flutter
•
Demystifying Code Splitting in React: Improving Performance and User Experience
•
A new way of listening to the app lifecycle events in Flutter
•
Building a Chrome Extension with Flutter: A Step-by-Step Guide
•
Creating Custom Dropdowns with OverlayPortal in Flutter
•
Better with bloc
•
Hive Database in Flutter: Building a Simple Movie App
•
3 Flutter Open Source Projects That Improve Your Skills
•
Simplify Your iOS Brownfield Integration with React Native Host
•
Home Automation in Flutter
•
Appyx: навигация + UI компоненты для Compose Multiplatform
Разработка
• Мобильное приложение для сотрудников: спорт, игрушечное казино и собственный Twitter
• Рецепт юзабилити-тестирования
• Как отдать технический долг
• Trunk based development в мобильной разработке
• В Excel появляется Python
•
The Next Next Job, a framework for making big career decisions
•
Fuzz Testing Is the Best Thing To Happen to Our Application Tests
•
Slack’s Migration to a Cellular Architecture
•
The Future is Now: Integrating AI in Software Development
•
Why Scrum Fails
•
Discover the Magic Working Behind our New Mobile App Rebranding
•
Design With Me — Flight Tracker App
•
Fitting AI models in your pocket with quantization
•
How to unblock your mobile app development while the backend isn’t ready
•
The Quest for Reliable Code
•
Text Rendering Hates You
Аналитика, маркетинг и монетизация
• В рамках программы First Run Epic предлагает издателям 100% прибыли
• Нейросети vs дизайнеры: может ли ИИ выполнять работу креативного продакшна?
• Кейс SB-Games: как увеличить APRU 18 приложений на 40%
• Глобальный охват китайских приложений: исследование прибыльных рынков и вертикалей
• Сколько приложений в App Store предлагают подписку?
•
Dynamic Pricing with Multi-Armed Bandit: Learning by Doing
•
How to Fuel Your Startup’s Growth Engine
AI, Устройства, IoT
• Kaggle для футболистов. Разбираем подходы призеров соревнований по детекции столкновений (1 и 2 место)
• Как передать данные с IoT-датчиков и сэкономить на трафике
• $235 млн в Серии D: Hugging Face — ИИ-сообщество и инструменты MLOps
• **** запускает собственный инструмент для написания кода на основе искусственного интеллекта: Code Llama
• IBM предлагает ИИ для перевода кода COBOL в Java
• Разработчики используют ИИ для создания text-to-music приложений
•
Project IDX: Full-stack application development with generative AI
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!

iOS• Swift и Objective-C в одном SDK. Стерпится, слюбится
• Примеры анимации SF-символов в SwiftUI
• Анализ производительности для ускорения сборок в Xcode
• Как не забросить свой пет-проект. Мой кейс запуска приложения в App Store
• Проверяем ваш код на API, использование которых нужно будет объяснять
• Подводные камни тестирования кода в Swift Concurrency
• Эластичная анимация
• Декларативная навигация в iOS-приложении
• История «Сбербанк Онлайн» на iOS
• Вопросы с собеседований: классы и структуры в Swift
•
Getting Started with Xcode Server: A Practical Guide for Simplifying CI/CD for iOS Apps•
Improve the build times of your SPM Packages and your apps•
How to Automate Memory Leak Detection in Your Swift Code with XCTest•
iOS app setup for remote push notifications•
Adapting an App to visionOS•
Scrollable lists using Protocol-Oriented Programming and UICollectionViewFlowLayout•
Swift 6: Preparing your Xcode projects for the future•
Add Live Activities to your iOS app in 4 steps•
Elm architecture in iOS•
Developing Apps for iOS — Stanford course CS193p•
Learn how to utilize the Scan and Reduce operators in SwiftUI with Combine•
Xcode Breakpoints 101•
Mastering iOS Code Quality: 12 Essential Strategies for Developers•
Use Periphery to find unused code•
How to set up Gitlab CI/CD with Fastlane for iOS-project on a Mac mini•
Mastering StoreKit 2. SubscriptionStoreView in SwiftUI•
Stop prefixing your UserDefaults keys•
SwiftUI — Circular Loader Animation•
Beyond Basics: Can SwiftUI Handle the Challenge of Complex macOS Apps?•
Debugging Macros in Swift with the AST Explorer•
Accessibility in Swift: Dynamic Colors•
Creating Bottom Sheets like in the «Find My» app using SwiftUI•
Parallax Carousel Scroll Animation Using SwiftUI•
iOS 17 Data Flow with Observation Framework•
English Pronunciation App: изучение английских слов и их произношения•
Braze: криптовалюты с SwiftUI и MVVM
Android• Как тестировщики с помощью пользовательского десктопа и видеокарты инфраструктуру строили
• Миграция приложения на Jetpack Compose
• Ускоряем сборку за счёт миграции с kapt на ksp
• Как узнать кто вызывал функцию? StackTrace стек вызовов в Kotlin & Java
• Универсальные пуши для Android. FCM, HMS и RuStore в одном месте
• Добавляем анимации встряхивания в Composable
•
NetMock: простой подход к тестированию HTTP-запросов в Java, Android и Kotlin Multiplatform•
Kotlin and Java interoperability: Useful annotations•
Let Kotlin do the code for you — Part II: Retrofit and Proxy•
Unleashing Creativity with Custom Modifiers in Android Jetpack Compose•
Kotlin Exhaustive when•
Migrate your Android Build from Groovy to Version Catalog•
Script for auto-build Android applications•
Solving the mystery of recompositions in Compose’s LazyList•
Jetpack Compose Tricks: Conditionally Applying Modifiers for Dynamic UIs•
Ultron — simple, stable, maintainable Android UI tests•
Walkthrough Kotlin Flows and Channels with Message Bubbles•
Latest ARTwork on hundreds of millions of devices•
Introducing Konsist: A Cutting-Edge Kotlin Linter•
Unleashing Creativity with Custom Modifiers in Android Jetpack Compose•
Implementing Advanced RecyclerView Techniques for Efficient List Rendering•
SOLID Design Principles with Kotlin Android•
Best practices for error handling in Kotlin•
FloatingActionButton with Sub Floating Items in Jetpack Compose•
Profile your build•
Now in Android: 89 — Android 14 Beta 5, Compose for Wear OS, WebGPU, and more!•
Full Guide to Bottom Sheets — UX With Material3•
Konsist: тестирование архитектуры и соглашений языка Kotlin•
JsonTree: красивый Json в Compose
Кроссплатформа• Одно PWA, чтоб править всеми
• Фишки React Native для реализации личного кабинета
• Под капотом анимаций в React Native. Часть 2/2: Reanimated and JSI
• Flutter 3.13. Что нового?
•
Building Offline-First React Native Apps with React Query and TypeScript•
How I became a Google Developer Expert in Flutter•
Demystifying Code Splitting in React: Improving Performance and User Experience•
A new way of listening to the app lifecycle events in Flutter•
Building a Chrome Extension with Flutter: A Step-by-Step Guide•
Creating Custom Dropdowns with OverlayPortal in Flutter•
Better with bloc•
Hive Database in Flutter: Building a Simple Movie App•
3 Flutter Open Source Projects That Improve Your Skills•
Simplify Your iOS Brownfield Integration with React Native Host•
Home Automation in Flutter•
Appyx: навигация + UI компоненты для Compose Multiplatform
Разработка• Мобильное приложение для сотрудников: спорт, игрушечное казино и собственный Twitter
• Рецепт юзабилити-тестирования
• Как отдать технический долг
• Trunk based development в мобильной разработке
• В Excel появляется Python
•
The Next Next Job, a framework for making big career decisions•
Fuzz Testing Is the Best Thing To Happen to Our Application Tests•
Slack’s Migration to a Cellular Architecture•
The Future is Now: Integrating AI in Software Development•
Why Scrum Fails•
Discover the Magic Working Behind our New Mobile App Rebranding•
Design With Me — Flight Tracker App•
Fitting AI models in your pocket with quantization•
How to unblock your mobile app development while the backend isn’t ready•
The Quest for Reliable Code•
Text Rendering Hates You
Аналитика, маркетинг и монетизация• В рамках программы First Run Epic предлагает издателям 100% прибыли
• Нейросети vs дизайнеры: может ли ИИ выполнять работу креативного продакшна?
• Кейс SB-Games: как увеличить APRU 18 приложений на 40%
• Глобальный охват китайских приложений: исследование прибыльных рынков и вертикалей
• Сколько приложений в App Store предлагают подписку?
•
Dynamic Pricing with Multi-Armed Bandit: Learning by Doing•
How to Fuel Your Startup’s Growth Engine
AI, Устройства, IoT• Kaggle для футболистов. Разбираем подходы призеров соревнований по детекции столкновений (1 и 2 место)
• Как передать данные с IoT-датчиков и сэкономить на трафике
• $235 млн в Серии D: Hugging Face — ИИ-сообщество и инструменты MLOps
• **** запускает собственный инструмент для написания кода на основе искусственного интеллекта: Code Llama
• IBM предлагает ИИ для перевода кода COBOL в Java
• Разработчики используют ИИ для создания text-to-music приложений
•
Project IDX: Full-stack application development with generative AI← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.