В этой подборке детективное расследование утечки памяти с Xcode и перегруженная Android-разработка, удовольствие и боль BDUI, $50K на простой AI-обертке, дейтинг для трезвых, конец миллиардных стартапов, поддерживаемых рекламой, и многое другое. Подключайтесь!
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Утечка памяти: детективная история с Xcode
• Изучаем WidgetKit: пишем виджет для Control Center в iOS 18
• Проверка доступности языка для перевода в фреймворке Translation
• Настоящая мощь Apple Intelligence проявится в сторонних приложениях
• iOS 18 выйдет 16 сентября
• Эволюция презентационных паттернов SwiftUI
• Jailbreak your Enemies with a Link: Remote Execution on iOS
• Making mistakes while learning Swift
• How to support tinted home screen widgets in iOS 18
• SwiftUI: Dynamically Add Images to View (Canvas vs ZStack)
• Swift Testing: Validate your code using expressive APIs
• Cheat sheet on VoiceOver gestures for iOS
• Security Best Practices in iOS
• Practical examples using The Composable Architecture (TCA)
• @discardableResult in Swift
• Converting an App from Obj-C
• EventBus | Facilitate seamless event notifications within the application
• MVC Template for Xcode: How It Can Accelerate Your Development Process
• Custom Keyboards SwiftUI
• SwiftUI — File / Folder & Architecture Setup for New Projects
• iOS 18 SystemFormatStyle and TimeDataSource
• SwiftUI Responsive UI Design — Adaptive Layout
• Heat — LLM-клиент
• DDLoggerSwift — работа с логами на устройстве
Android
• Android-разработка очень перегружена и в нее сложно вникнуть? — Обсуждение на Reddit
• Основы Jetpack Compose: как обеспечить стабильность вашего кода
• Избегаем ловушек автозавершения в Android Studio
• Ускоряем Android-приложения с помощью Baseline Profiles
• В Android блокируют установку приложений из сторонних источников. Почему это важно?
• Не слишком ли много мы разрешаем нашим приложениям?
• Пишем простенький DI для Android приложения
• Google Play Integrity API начал определять угрозы приложениям
• «Ленивый граф», или Как мы оптимизировали старт приложения
• В сетях сетевого слоя
• Coroutine Testing — Controlling time
• Creating a Custom Gauge Speedometer in Jetpack Compose
• Improve Compose UI with Spacing Constants
• Shimmer animations in Jetpack Compose without extra dependencies
• Preview and test your app’s edge-to-edge UI
• How to Create a Spinning Circles Loader in Jetpack Compose
• Jetpack Compose APIs for building adaptive layouts using Material guidance now stable
• Mastering TextDirection for Multi-Language Apps in Jetpack Compose
• Type safe navigation for Compose
• How we improved our 1Weather Android app cold startup time by over 70% and slow cold start sessions by over 24%+
• Android Studio Ladybug Feature Drop
• Jetpack Compose: Setup Retrofit and Ktor using Dagger Hilt for Dependency Injection
• How to Create a Clock Wipe Animation in Jetpack Compose
• How to Create a Custom Animated Hole Effect in Jetpack Compose
• How to Create a Rainbow Loader Animation in Jetpack Compose
• debounce vs sample in Kotlin flow
• Keep Your ViewModels Clean: A Guide to Event-Driven Architecture in Android
• Jetpack Compose custom navigation with KSP
• CameraX and Jetpack Compose: A Guide for Android Developers
• Streamlining Android authentication: Credential Manager replaces legacy APIs
• The val Property != Immutable in Kotlin
• Видео droidcon Berlin 24
• Compose animations — Android Developers Backstage
• Navigation Compose meet Type Safety
• Flow layouts — Jetpack Compose Tips
• Full Guide to Deep Linking With Type-Safe Jetpack Compose Navigation
• Upload a File With Progress Bar Using Ktor
• Building Responsive Applications with RxKotlin
• Peristyle — простой, но мощный менеджер обоев для Android
• Memory Guardian — очистка буфера обмена
• Learn Kotlin Coroutines — изучаем корутины на реальных примерах
Кроссплатформа
• База джуна на Flutter
• Как понятия Patterns и Records в языке Dart упрощают жизнь разработчикам
• Многомодульное приложение на Flutter
• Архитектура white-label на Flutter: тонем в абстракциях
• How to develop an AI app with a local model in Kotlin Multiplatform
• Best practices for optimizing Flutter web loading speed
• Flutter Go Router: The Crucial Guide
• Serverpod 2.1, “Expressionism” — A game changer for real-time communication
• Flutter Local Notification
• Flutter: Concurrency and Parallelism?
• 5 Best Flutter UI Templates
• Cleaner Flutter code with Dart 3
Разработка
• BDUI: удовольствие или боль
• Девайс-холдер: кто такой, зачем нужен и насколько хорошо держит устройства
• C идет на спад
• Дизайн интерфейсов в России и других странах. Бигтехи и супераппы
• Junior-разработчики — обучение программированию, тестовое задание
• Аутсорсинг в IT: взгляд изнутри
• Мобильные приложения — кто и как их создаёт?
• Тестовый скрининг с карьерным ментором + Какие софт-скиллы необходимы разработчику
• Your company needs Junior devs
• Tinder API Style Guide
• Design Patterns Are Temporary, Language Features Are Forever
• Carpentopod: A Walking Table Project
• Why Copilot is Making Programmers Worse at Programming
• Productivity as a Developer – Full Course
Аналитика, маркетинг и монетизация
• Как я заработал $50K на простой AI-обертке?
• В App Store заработали Win-back предложения
• Drybaby — дейтинг для трезвых
• Что такое сетевой эффект
• Конец миллиардных стартапов, поддерживаемых рекламой — приложения для вертикалей придут на смену
• Прощай Tinder, здравствуй Strava: стали ли приложения для «хобби» новыми социальными сетями?
• Sri Mandir помогает индуистам посещать храмы и делать пожертвования со своего телефона
• Самые скачиваемые и зарабатывающие приложения в России в августе 2024
• Лучшее лето Airbnb
• Monetizing Social Trends: TikTok and AI Fueling Beauty App Success
AI, Устройства, IoT
• Большие и чёрные (ящики): что мы знаем о том, как «думают» нейросети?
• Как мы учили Yandex Code Assistant помогать разработчикам с написанием кода и делать их счастливыми
• Как уменьшить образ Docker для работы с устройствами IoT
• Mojo: убийца Python и будущее Ai?
• Real-time-распознавание лиц: методы обучения быстрых и точных моделей для работы на мобильных девайсах
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Утечка памяти: детективная история с Xcode
• Изучаем WidgetKit: пишем виджет для Control Center в iOS 18
• Проверка доступности языка для перевода в фреймворке Translation
• Настоящая мощь Apple Intelligence проявится в сторонних приложениях
• iOS 18 выйдет 16 сентября
• Эволюция презентационных паттернов SwiftUI
• Jailbreak your Enemies with a Link: Remote Execution on iOS
• Making mistakes while learning Swift
• How to support tinted home screen widgets in iOS 18
• SwiftUI: Dynamically Add Images to View (Canvas vs ZStack)
• Swift Testing: Validate your code using expressive APIs
• Cheat sheet on VoiceOver gestures for iOS
• Security Best Practices in iOS
• Practical examples using The Composable Architecture (TCA)
• @discardableResult in Swift
• Converting an App from Obj-C
• EventBus | Facilitate seamless event notifications within the application
• MVC Template for Xcode: How It Can Accelerate Your Development Process
• Custom Keyboards SwiftUI
• SwiftUI — File / Folder & Architecture Setup for New Projects
• iOS 18 SystemFormatStyle and TimeDataSource
• SwiftUI Responsive UI Design — Adaptive Layout
• Heat — LLM-клиент
• DDLoggerSwift — работа с логами на устройстве
Android
• Android-разработка очень перегружена и в нее сложно вникнуть? — Обсуждение на Reddit
• Основы Jetpack Compose: как обеспечить стабильность вашего кода
• Избегаем ловушек автозавершения в Android Studio
• Ускоряем Android-приложения с помощью Baseline Profiles
• В Android блокируют установку приложений из сторонних источников. Почему это важно?
• Не слишком ли много мы разрешаем нашим приложениям?
• Пишем простенький DI для Android приложения
• Google Play Integrity API начал определять угрозы приложениям
• «Ленивый граф», или Как мы оптимизировали старт приложения
• В сетях сетевого слоя
• Coroutine Testing — Controlling time
• Creating a Custom Gauge Speedometer in Jetpack Compose
• Improve Compose UI with Spacing Constants
• Shimmer animations in Jetpack Compose without extra dependencies
• Preview and test your app’s edge-to-edge UI
• How to Create a Spinning Circles Loader in Jetpack Compose
• Jetpack Compose APIs for building adaptive layouts using Material guidance now stable
• Mastering TextDirection for Multi-Language Apps in Jetpack Compose
• Type safe navigation for Compose
• How we improved our 1Weather Android app cold startup time by over 70% and slow cold start sessions by over 24%+
• Android Studio Ladybug Feature Drop
• Jetpack Compose: Setup Retrofit and Ktor using Dagger Hilt for Dependency Injection
• How to Create a Clock Wipe Animation in Jetpack Compose
• How to Create a Custom Animated Hole Effect in Jetpack Compose
• How to Create a Rainbow Loader Animation in Jetpack Compose
• debounce vs sample in Kotlin flow
• Keep Your ViewModels Clean: A Guide to Event-Driven Architecture in Android
• Jetpack Compose custom navigation with KSP
• CameraX and Jetpack Compose: A Guide for Android Developers
• Streamlining Android authentication: Credential Manager replaces legacy APIs
• The val Property != Immutable in Kotlin
• Видео droidcon Berlin 24
• Compose animations — Android Developers Backstage
• Navigation Compose meet Type Safety
• Flow layouts — Jetpack Compose Tips
• Full Guide to Deep Linking With Type-Safe Jetpack Compose Navigation
• Upload a File With Progress Bar Using Ktor
• Building Responsive Applications with RxKotlin
• Peristyle — простой, но мощный менеджер обоев для Android
• Memory Guardian — очистка буфера обмена
• Learn Kotlin Coroutines — изучаем корутины на реальных примерах
Кроссплатформа
• База джуна на Flutter
• Как понятия Patterns и Records в языке Dart упрощают жизнь разработчикам
• Многомодульное приложение на Flutter
• Архитектура white-label на Flutter: тонем в абстракциях
• How to develop an AI app with a local model in Kotlin Multiplatform
• Best practices for optimizing Flutter web loading speed
• Flutter Go Router: The Crucial Guide
• Serverpod 2.1, “Expressionism” — A game changer for real-time communication
• Flutter Local Notification
• Flutter: Concurrency and Parallelism?
• 5 Best Flutter UI Templates
• Cleaner Flutter code with Dart 3
Разработка
• BDUI: удовольствие или боль
• Девайс-холдер: кто такой, зачем нужен и насколько хорошо держит устройства
• C идет на спад
• Дизайн интерфейсов в России и других странах. Бигтехи и супераппы
• Junior-разработчики — обучение программированию, тестовое задание
• Аутсорсинг в IT: взгляд изнутри
• Мобильные приложения — кто и как их создаёт?
• Тестовый скрининг с карьерным ментором + Какие софт-скиллы необходимы разработчику
• Your company needs Junior devs
• Tinder API Style Guide
• Design Patterns Are Temporary, Language Features Are Forever
• Carpentopod: A Walking Table Project
• Why Copilot is Making Programmers Worse at Programming
• Productivity as a Developer – Full Course
Аналитика, маркетинг и монетизация
• Как я заработал $50K на простой AI-обертке?
• В App Store заработали Win-back предложения
• Drybaby — дейтинг для трезвых
• Что такое сетевой эффект
• Конец миллиардных стартапов, поддерживаемых рекламой — приложения для вертикалей придут на смену
• Прощай Tinder, здравствуй Strava: стали ли приложения для «хобби» новыми социальными сетями?
• Sri Mandir помогает индуистам посещать храмы и делать пожертвования со своего телефона
• Самые скачиваемые и зарабатывающие приложения в России в августе 2024
• Лучшее лето Airbnb
• Monetizing Social Trends: TikTok and AI Fueling Beauty App Success
AI, Устройства, IoT
• Большие и чёрные (ящики): что мы знаем о том, как «думают» нейросети?
• Как мы учили Yandex Code Assistant помогать разработчикам с написанием кода и делать их счастливыми
• Как уменьшить образ Docker для работы с устройствами IoT
• Mojo: убийца Python и будущее Ai?
• Real-time-распознавание лиц: методы обучения быстрых и точных моделей для работы на мобильных девайсах
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
saipr
Для Android можно добавить еще и Androwish