В нашем новом дайджесте виджеты iOS 18 и шаблоны проектирования SwiftUI, Flappy Bird на Си для Android и заблуждение UseCase, магия ссылок, нативный Swift на Android, крадем впрок как художники и многое другое. Подключайтесь!
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

iOS
• Готовый компонент UI свайп-панели c добавлением scrollView, и других элементов ui. (iOS Swift)
• Шаблоны проектирования для SwiftUI
• Использование трейтов для аннотирования и настройки поведения тестов
• Виджеты iOS 18: добавляем поддержку tint color
• ЕС укажет Apple, как обеспечить совместимость с DMA
•
The weirdest Core Data crash I have seen
•
Efficient Multithreading in iOS with Swift
•
Notifications Your App can use to Increase Activation and Retention
•
Thread safety with Mutex in Swift 6
•
Optimizing Your iOS Project Setup with Xcodegen and SwiftGen
•
Using Traits to annotate and customize test behavior
•
+The Power of Custom ShapeStyle for SwiftUI Theming
•
Recreating Readable Content Guide Sizing in SwiftUI
•
What’s New in SwiftUI for iOS 18
•
Announcing Swift 6
•
Mastering Data Binning with Swift Charts
•
Discovering app features with TipKit. Groups
•
AVAudioEffectNode: painless low level audio effects written in Swift
•
Integrating 3rd-Party AI on Apple Platforms
•
Building Intelligent Apps with Apple AI Models
•
Let’s Create Chips UI With iOS 18 APIs
•
So, Let’s create a Splash Screen | SwiftUI
•
Discover 3 new features of Xcode 16
•
SwiftData Previews: PreviewModifier in SwiftUI (iOS 18)
•
Color Mixing in iOS 18
•
Enhance App UI Animations with these 4 Modifiers
•
AppState — эффективное управление состоянием и инъекция зависимостей для Swift 6
•
LinkNavigator — простая и мощная навигация для SwiftUI
•
AnimatedImage — анимация изображений в Swift и SwiftUI
Android
• Flappy Bird на Си для Android весом APK всего 92 Килобайта
• Заблуждение UseCase: что нужно знать Android-разработчикам
• Магия ссылок Системы быстрых платежей
• Создаем мерцающий текст в Jetpack Compose
• Gradle Convention Plugins: как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах
• Взаимодействие с клавиатурой в Compose: особенности и подводные камни
• Улучшаем автокомплит в смешанных Java-Kotlin проектах
• Приложение, идентичное натуральному: 7 способов прокачать свой pet-проект
• Создание плагинов и переиспользуемых частей в .gradle.kts-файлах и Kotlin extension-функциях
• Нативные библиотеки для Android
• Заработок на Open Source. Decompose. Будущее KMP. Аркадий Иванов
• Бессмертное приложение
• Укрощаем UDF state-based архитектуры. Реальные кейсы в больших приложениях
•
Exploring Lifecycle-Aware Service and FirebaseMessagingService on Android
•
Android 15: New Features for Android Developers
•
Top 10 MVVM Mistakes We All Have Made
•
How to build fully custom Jetpack Compose Bottom Sheets without using Material Compose
•
Android: Catching NDK crashes
•
RxJava to Kotlin Coroutines: The Ultimate Migration Guide
•
View State Management & Coordination with Compose on Android
•
Forecasting weather with Open-Meteo API using Jetpack Compose
•
Clean Strings Handling in Android
•
Design Server-Driven UI with Jetpack Compose and Firebase
•
Android App Security Checklist for Developers
•
How We Managed to Send Events Sequentially with Rate Limiting And Controlling Each Event?
•
Complement your media editing pipeline with Jetpack Media3
•
Android 15 Launch, a special guest spotlight, and more — Google Developer News September 2024
•
The ONLY Correct Way to Load Initial Data In Your Android App?
•
Save User Credentials With the Google Credential Manager — Android Studio Tutorial
•
Overcoming Unsecurities in WebViews
•
Beyond The Success Of Kotlin
•
Jetpack Compose For Beginners — Crash Course 2024
•
Accrescent — безопасный магазин приложений для Android
•
Measure — мониторинг мобильных приложений.
Кроссплатформа
Нативный Swift на Android: установка, компиляция, запуск и тестирование
• Анализ InheritedWidget'а в Flutter
• Flutter Hot Reload: Что под капотом?
• Compute — волшебная пилюля?
• Ещё одна статья про макросы. Часть 2 + Часть 1
• React Native Splash Screen — поддержка разных тем
• Упрощение управления формами во Flutter с помощью пакета FForm
• Flutter Dev Podcast #47: CrossConf Awards
•
How to Add a Splash Screen to a Compose Multiplatform App
•
Garbage Collector in KMP
•
Flutter vs Native: Why Flutter Wins for TV App Development
•
Garbage Collector in KMP
•
A Startup Guide to Ship Mobile App Faster Using Flutter
•
Exploring Kotlin Multiplatform: A Visual Guide
•
KMP (Kotlin Multiplatform) AndroidX Room setup and more
•
Building A Custom Design System in Compose Multiplatform
•
10 Common Flutter Mistakes and How to Avoid Them
•
Extracting Original Values from CValue in Kotlin Multiplatform: The Power of memScope
Разработка
• Основы BDUI для продуктовых дизайнеров. Шпаргалка
• Вашей компании нужны junior разработчики
• Как следить за состоянием мобильного приложения?
• Реализация push-уведомлений из web в мобильное приложение для новичков
• Что можно улучшить в приложении? Часть 3. Крадем как художники у Впрок
• Почему надо «проектировать дважды»
• Грейд в IT
• Как устроен Yandex Mobile Ads SDK
• Паттерны SDUI
• Почему мы продолжаем срывать сроки проектов
• Какая JVM лучшее всех? Java, JVM Architecture, GraalVM, HotSpot JVM
•
Using feature flags in GraphQL
•
Decoding Mobile Crashes: A Comparative Guide for Android and iOS
•
Good software development habits
•
You’ve only added two lines — why did that take two days!
•
Should we decompose our monolith?
•
How to Measure Progress in a Software Project
•
Stop Designing Your Web Application for Millions of Users When You Don’t Even Have 100
•
How Optimizations made Mario 64 SLOWER
•
Securing API Servers Course
Аналитика, маркетинг и монетизация
• Photon Library за $5 возвращает старые «Фото» для iOS
• Nurture обучает детей важным жизненным навыкам с помощью интерактивных игр и развлечений
• SocialAI — ИИ-социальная сеть для одного человека
• Продвижение побочных проектов с помощью контент-ориентированной разработки
• Soundiiz — простой инструмент для передачи плейлистов между музыкальными сервисами
• Самые скачиваемые и зарабатывающие приложения в мире в августе 2024
• Как не заблудиться в четырех соснах: выбираем способ найти причинно-следственную связь без экспериментов
•
How to Improve Retention: The Ultimate Guide for Product Managers and Leaders
AI, Устройства, IoT
• Как эволюционировало машинное зрение автономного транспорта. Доклад Яндекса
• Bluetooth-маяки, есть ли от них польза?
• Mistral запускает бесплатный уровень для разработчиков
• Новые очки Spectacles стали немного ближе к хорошему AR
• Slack превращается в хаб для ИИ-агентов
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.


• Готовый компонент UI свайп-панели c добавлением scrollView, и других элементов ui. (iOS Swift)
• Шаблоны проектирования для SwiftUI
• Использование трейтов для аннотирования и настройки поведения тестов
• Виджеты iOS 18: добавляем поддержку tint color
• ЕС укажет Apple, как обеспечить совместимость с DMA
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Flappy Bird на Си для Android весом APK всего 92 Килобайта
• Заблуждение UseCase: что нужно знать Android-разработчикам
• Магия ссылок Системы быстрых платежей
• Создаем мерцающий текст в Jetpack Compose
• Gradle Convention Plugins: как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах
• Взаимодействие с клавиатурой в Compose: особенности и подводные камни
• Улучшаем автокомплит в смешанных Java-Kotlin проектах
• Приложение, идентичное натуральному: 7 способов прокачать свой pet-проект
• Создание плагинов и переиспользуемых частей в .gradle.kts-файлах и Kotlin extension-функциях
• Нативные библиотеки для Android
• Заработок на Open Source. Decompose. Будущее KMP. Аркадий Иванов
• Бессмертное приложение
• Укрощаем UDF state-based архитектуры. Реальные кейсы в больших приложениях
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


Нативный Swift на Android: установка, компиляция, запуск и тестирование
• Анализ InheritedWidget'а в Flutter
• Flutter Hot Reload: Что под капотом?
• Compute — волшебная пилюля?
• Ещё одна статья про макросы. Часть 2 + Часть 1
• React Native Splash Screen — поддержка разных тем
• Упрощение управления формами во Flutter с помощью пакета FForm
• Flutter Dev Podcast #47: CrossConf Awards
•

•

•

•

•

•

•

•

•

•


• Основы BDUI для продуктовых дизайнеров. Шпаргалка
• Вашей компании нужны junior разработчики
• Как следить за состоянием мобильного приложения?
• Реализация push-уведомлений из web в мобильное приложение для новичков
• Что можно улучшить в приложении? Часть 3. Крадем как художники у Впрок
• Почему надо «проектировать дважды»
• Грейд в IT
• Как устроен Yandex Mobile Ads SDK
• Паттерны SDUI
• Почему мы продолжаем срывать сроки проектов
• Какая JVM лучшее всех? Java, JVM Architecture, GraalVM, HotSpot JVM
•

•

•

•

•

•

•

•

•


• Photon Library за $5 возвращает старые «Фото» для iOS
• Nurture обучает детей важным жизненным навыкам с помощью интерактивных игр и развлечений
• SocialAI — ИИ-социальная сеть для одного человека
• Продвижение побочных проектов с помощью контент-ориентированной разработки
• Soundiiz — простой инструмент для передачи плейлистов между музыкальными сервисами
• Самые скачиваемые и зарабатывающие приложения в мире в августе 2024
• Как не заблудиться в четырех соснах: выбираем способ найти причинно-следственную связь без экспериментов
•


• Как эволюционировало машинное зрение автономного транспорта. Доклад Яндекса
• Bluetooth-маяки, есть ли от них польза?
• Mistral запускает бесплатный уровень для разработчиков
• Новые очки Spectacles стали немного ближе к хорошему AR
• Slack превращается в хаб для ИИ-агентов
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.