В нашей новой еженедельной подборке чистая архитектура и MVVM в iOS, закан RxJava и критических оповещений на Android, опыт внедрения компонентной разработки, смартфон для джаваскриптера-олдфага, практическое руководство по запросу отзывов и многое другое. Подключайтесь!
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• О, вы из Англии? Локализация Ozon Seller на iOS
• Как быстро сделать файл PrivacyInfo.xcprivacy для вашего iOS-приложения
• Reflection в iOS: как посмотреть содержимое любой сущности
• Clean architecture и MVVM в iOS разработке
• SwiftUI уроки (часть 9)
• Импортирование картинок и звуков в Swift Package
• А так ли нужна Swift Modern Concurrency?
• Мгновенный фидбэк: как оперативно получать отзывы о приложении в App Store
• AltStore PAL заработал на iOS в Европе
• Apple в ЕС запускает загрузку приложений через веб-сайты
• Apple объяснила удаление первого эмулятора Game Boy из App Store
• Поваренная книга SwiftUI: изображения и иконки — Часть 1
• Creating Shapes from SVG in a SwiftUI app
• Custom Toggle Styling in SwiftUI
• Splitting Up a Monolith: From 1 to 25 Swift Packages
• Swift 6 upgrade Preparation
• Fetching OSLog Messages in Swift
• Bar Chart creation using Swift Charts
• Getting started with Benchmark package
• Defining Custom Errors With Advanced Descriptions In Swift
• How to do pagination in SwiftUI
• Common Mistakes to Avoid When Using Enums in Swift
• Is Dynamic Isolation Bad?
• How to use experimental Swift versions and features in Xcode?
• CountryKit: the framework Apple forgot to build
• Your guide to Metal ray tracing
• Integrate Screen-Sharing Into a SwiftUI App
• SwiftUI Custom Transitions
• Building Netflix UI Animations
• Gradiente — простые градиенты
• FontBlaster — программная загрузка шрифтов
Android
• RxJava — всё?
• Реализация Критических оповещений на Android
• Kodein DI для Android. Целостность графа и тесты на DI
• Генерируем отчеты PDF на Android с использованием HTML и WebView в фоне
• Устройство Android Music SDK или как мы встроили музыку в суперапп-приложение
• Интеграция MediaPipe в Android-приложение видеоконференцсвязи
• Google объединяет команды Android и аппаратного обеспечения ради скорости и искусственного интеллекта
• Android 15 может получить возможность помещать приложения в карантин
• В Android 15 может появиться NFC-зарядка
• Вопросы с собеседований: жизненный цикл View в Android
• Введение в Trio: часть 3
• Enhancing Jetpack Compose with Koin
• Focus as a state — new effective Android TV focus management system with Jetpack Compose
• Jetpack Compose Navigation, Ktor, and Koin DI Unlocking MAD Skills
• Speed Up Your Gradle Builds with the New Gradle Critical Path Analyzer
• Ktor for Android Networking: Moving Beyond Retrofit
• Learning about Android runtime
• Extending Coil
• Plotting Financial Data in Kotlin with Kandy
• Nested LazyColumn in Jetpack Compose
• Introduction to Foundational Tools in Android
• Some Best-Practices for State Management in Jetpack Compose
• Demystifying JNI: Boost Performance and Access Native Features
• Custom Navigation Drawer component with Jetpack Compose
• Now in Android: 103 — Android 15 Beta, Gemini in Android Studio, Google Drive improvements, & more
• MVVM vs. MVI — Understand the Difference Once and for All
• The ONLY Thing to MASTER as an Android Developer (And Why 99% FAIL!)
• Boosting Bazel adoption on Android with automation
• Inline Functions: inline, crossinline, and noinline
• Droid-ify — клиент F-Droid с материальным дизайном
• Kotlin Faker — генератор фейковых данных
• Pokedex Compose — современная Android-разработка
Кроссплатформа
• Где заканчивается Flutter и начинается платформа?
• 5 уроков после 5 лет разработки на Flutter
• Один репозиторий, чтобы править всеми
• Опыт внедрения компонентной разработки
• Рекуррентные платежи, или как мы доработали функционал платных подписок во Flutter приложении
• Разбираем генеративный SDK от Google — google_generative_ai. Часть 1
• Proactively Securing React Native Applications: Best Practices and Strategies
• Flutter Consent Messages with Google Admob
• Efficiency Unleashed: The Power of Automation in Our Flutter Adventure
• How to Find Memory Leaks in Flutter Apps?
• Stop using Flutter, it will die, sooner than you think
• Advanced Theming Techniques in Flutter: Leveraging Extensions for Dynamic UIs
• Accessibility in Flutter on the Web
Разработка
• Смартфон для джаваскриптера-олдфага: стоит ли гику брать дешманские девайсы на KaiOS? Смотрим на Nobby 240 LTE
• Инженерная культура BigTech: работа мечты или испытание на прочность?
• Как устроена мобильная разработка в Кинопоиске
• Пробить стеклянный потолок и стать сеньором
• ВКонтакте запустил бесплатный курс по разработке мини-приложений
• VK открывает набор на оплачиваемую летнюю стажировку
• How to write a code formatter
• Power of Blameless Culture in Software Engineering
• There is always something: Fighting distractions as a software developer
• Healthy Documentation
• Building Something Real in your spare time
• Using server-side Swift for machine learning processing
• Basic Things
Аналитика, маркетинг и монетизация
• Как повысить рейтинг приложения: практическое руководство по запросу отзывов
• Новое приложение Indaband позволяет создавать музыку вместе с людьми по всему миру
• Топ быстрорастущих приложений в России в апреле
• Airchat — социальная сеть, построенная вокруг голоса
AI, Устройства, IoT
• Как сделать умный офис на 300+ сотрудников? Свет, санузлы и душевые, переговорки и не только
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• О, вы из Англии? Локализация Ozon Seller на iOS
• Как быстро сделать файл PrivacyInfo.xcprivacy для вашего iOS-приложения
• Reflection в iOS: как посмотреть содержимое любой сущности
• Clean architecture и MVVM в iOS разработке
• SwiftUI уроки (часть 9)
• Импортирование картинок и звуков в Swift Package
• А так ли нужна Swift Modern Concurrency?
• Мгновенный фидбэк: как оперативно получать отзывы о приложении в App Store
• AltStore PAL заработал на iOS в Европе
• Apple в ЕС запускает загрузку приложений через веб-сайты
• Apple объяснила удаление первого эмулятора Game Boy из App Store
• Поваренная книга SwiftUI: изображения и иконки — Часть 1
• Creating Shapes from SVG in a SwiftUI app
• Custom Toggle Styling in SwiftUI
• Splitting Up a Monolith: From 1 to 25 Swift Packages
• Swift 6 upgrade Preparation
• Fetching OSLog Messages in Swift
• Bar Chart creation using Swift Charts
• Getting started with Benchmark package
• Defining Custom Errors With Advanced Descriptions In Swift
• How to do pagination in SwiftUI
• Common Mistakes to Avoid When Using Enums in Swift
• Is Dynamic Isolation Bad?
• How to use experimental Swift versions and features in Xcode?
• CountryKit: the framework Apple forgot to build
• Your guide to Metal ray tracing
• Integrate Screen-Sharing Into a SwiftUI App
• SwiftUI Custom Transitions
• Building Netflix UI Animations
• Gradiente — простые градиенты
• FontBlaster — программная загрузка шрифтов
Android
• RxJava — всё?
• Реализация Критических оповещений на Android
• Kodein DI для Android. Целостность графа и тесты на DI
• Генерируем отчеты PDF на Android с использованием HTML и WebView в фоне
• Устройство Android Music SDK или как мы встроили музыку в суперапп-приложение
• Интеграция MediaPipe в Android-приложение видеоконференцсвязи
• Google объединяет команды Android и аппаратного обеспечения ради скорости и искусственного интеллекта
• Android 15 может получить возможность помещать приложения в карантин
• В Android 15 может появиться NFC-зарядка
• Вопросы с собеседований: жизненный цикл View в Android
• Введение в Trio: часть 3
• Enhancing Jetpack Compose with Koin
• Focus as a state — new effective Android TV focus management system with Jetpack Compose
• Jetpack Compose Navigation, Ktor, and Koin DI Unlocking MAD Skills
• Speed Up Your Gradle Builds with the New Gradle Critical Path Analyzer
• Ktor for Android Networking: Moving Beyond Retrofit
• Learning about Android runtime
• Extending Coil
• Plotting Financial Data in Kotlin with Kandy
• Nested LazyColumn in Jetpack Compose
• Introduction to Foundational Tools in Android
• Some Best-Practices for State Management in Jetpack Compose
• Demystifying JNI: Boost Performance and Access Native Features
• Custom Navigation Drawer component with Jetpack Compose
• Now in Android: 103 — Android 15 Beta, Gemini in Android Studio, Google Drive improvements, & more
• MVVM vs. MVI — Understand the Difference Once and for All
• The ONLY Thing to MASTER as an Android Developer (And Why 99% FAIL!)
• Boosting Bazel adoption on Android with automation
• Inline Functions: inline, crossinline, and noinline
• Droid-ify — клиент F-Droid с материальным дизайном
• Kotlin Faker — генератор фейковых данных
• Pokedex Compose — современная Android-разработка
Кроссплатформа
• Где заканчивается Flutter и начинается платформа?
• 5 уроков после 5 лет разработки на Flutter
• Один репозиторий, чтобы править всеми
• Опыт внедрения компонентной разработки
• Рекуррентные платежи, или как мы доработали функционал платных подписок во Flutter приложении
• Разбираем генеративный SDK от Google — google_generative_ai. Часть 1
• Proactively Securing React Native Applications: Best Practices and Strategies
• Flutter Consent Messages with Google Admob
• Efficiency Unleashed: The Power of Automation in Our Flutter Adventure
• How to Find Memory Leaks in Flutter Apps?
• Stop using Flutter, it will die, sooner than you think
• Advanced Theming Techniques in Flutter: Leveraging Extensions for Dynamic UIs
• Accessibility in Flutter on the Web
Разработка
• Смартфон для джаваскриптера-олдфага: стоит ли гику брать дешманские девайсы на KaiOS? Смотрим на Nobby 240 LTE
• Инженерная культура BigTech: работа мечты или испытание на прочность?
• Как устроена мобильная разработка в Кинопоиске
• Пробить стеклянный потолок и стать сеньором
• ВКонтакте запустил бесплатный курс по разработке мини-приложений
• VK открывает набор на оплачиваемую летнюю стажировку
• How to write a code formatter
• Power of Blameless Culture in Software Engineering
• There is always something: Fighting distractions as a software developer
• Healthy Documentation
• Building Something Real in your spare time
• Using server-side Swift for machine learning processing
• Basic Things
Аналитика, маркетинг и монетизация
• Как повысить рейтинг приложения: практическое руководство по запросу отзывов
• Новое приложение Indaband позволяет создавать музыку вместе с людьми по всему миру
• Топ быстрорастущих приложений в России в апреле
• Airchat — социальная сеть, построенная вокруг голоса
AI, Устройства, IoT
• Как сделать умный офис на 300+ сотрудников? Свет, санузлы и душевые, переговорки и не только
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.