Маркетинг и монетизация
Мобильная разработка за неделю #464: осваиваем умирающий Windows Phone
В этом выпуске зарубы с Apple и Ui-тесты для поиска утечек памяти, вторая жизнь Windows Phone и новая социальная сеть с ИИ, игровой рынок 2023, StoreKit 2, советы для прохождения кодинг-интервью и многое другое.

Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
Пройдите наш опрос про архитектурные шаблоны. Опрос займет несколько минут. Доступен здесь.



iOS


- Осваиваем StoreKit 2 + ProductView и StoreView + SubscriptionStoreView
- Месячная заруба с Apple. Рефакторим бридж. Часть 2 + Часть 1
- Простая анимация для всплывающего окна
- Как мы делали новую iOS-камеру ВКонтакте и VK Клипов
- Показываем красивое с помощью видеоредактора в VK Клипах на iOS
Making your SwiftData models Codable Introducing ObservableConverter Scrollable lists using Protocol-Oriented Programming and UICollectionViewCompositionalLayout SwiftData Background Tasks Mastering SwiftUI’s zIndex: A Comprehensive Guide Swift High Performance: Dictionary Keys Park API — Server-Side Swift With Hummingbird Transitioning from MVVM to MV: A Journey of Simplifying App Architecture Jump 🐒 SwiftUI Coordinator with Router A Beginner’s Guide to Clean Architecture in SwiftUI: Building Better Apps Step by Step 10 Lesser Known LLDB Commands used in iOS App development Common Pitfalls Caused by Delayed State Updates in SwiftUI iOS Deeplink Handling: The Asynchronous Way Enabling drag reordering in SwiftUI lazy grids and stacks Xcode 15: Automated accessibility audits An Unusual Rail Adventure Advanced text validation in UIKit with Combine Optionals in Swift Implementing Polling in SwiftUI Mastering SwiftUI Custom Modifiers Enabling drag reordering in SwiftUI lazy grids and stacks Functions and Closures in Swift SwiftUI Animated Tab Icons — Animated SF Symbols Build Switcher: Local Build Caching for Xcode How to Save and Manage Data with Core Data in Swift Using @_exported attribute for Simplified Module Imports Enhancements to ScrollView in iOS 17 Crush: работа с CoreData RxSwift: реактивное расширение для Swift GRDB: удобная работа с SQLite



Android


- Запускаем IDEA и CLion на Android
- Как повысить яркость экрана в Android-приложении без запроса разрешения
- Использование Compose для ТВ-версии приложения Иви: мощный фреймворк для создания эффективных Android-приложений
- Используем UI-тесты для поиска утечек
- История разработки приложения для складных смартфонов Samsung. Часть 1
- Библиотека Jetpack Compose для начинающего Android-разработчика
- Кодогенерация. KAPT. KSP. Manual DI
- Что такое Kotlin Symbol Processing (KSP)
- Android-разработчик: Middle за 1 год в Казахстане
Empowering Code with High-Order Functions An update on Jetpack Compose Accompanist libraries Set Activity Screen Brightness without Permission A World Beyond Libraries: Cross-Library screenshot tests on Android Building a widget using Jetpack Glance Recreating UseCase: Embracing a Fluent and Fun Approach Dark mode on android with Jetpack Compose using dataStore with Hilt Kotlin’s Reactive Tools: A Deep Dive into RxKotlin and Flow Seeing your composable in shades of grey Become More Senior Android Developer with these 15 Android Studio Tips & Tricks Why Build a Pattern Library in Jetpack Compose? Dagger 2.48 with Dagger and Hilt KSP processors Getting Better with Kotlin — Exploring Advanced Features and Effective Coding Strategies @Preview Driven Development with Compose Mutable State vs. State Management Libraries in Android Top 100 Kotlin Interview Questions and Answers At your Service(Android) Full Guide to Manual Dependency Injection + Removing Dagger How to create an advanced text validation with Combine Using the Gradle Version Catalog in Android projects RemoteCam: веб-камера для Android Ivy Wallet: открытый трекер финансов



Кроссплатформа


- Вложенная навигация во Flutter: что такое декларативный роутер и зачем он нужен
- Полное руководство по использованию FVM (Flutter Version Management) – жонглируйте версиями Flutter sdk в своих проектах
- 4.0 Асинхронность. Isolates, потоки, процессы
Flutter Chopper Authentication + Retry on 401 Unauthorized KMP: Work with existing project Hydrated Bloc in Flutter: Simplifying State Management Top 10 Flutter Apps You Must Make as a Beginner Don’t pass TextStyle to Widgets Compose Multiplatform 1.5.0 Release Dart 3.1 & a retrospective on functional style programming in Dart 3 Recreating the Telegram Collapsable Header on iOS using Reanimated Expected and Actual Mechanism in Kotlin Multiplatform Mobile Rare cases When to use RN over Native Dart Programming list collection tips & tricks



Разработка


- Не дадим Windows Phone умереть! Как я написал свои клиенты VK, YouTube для Nokia Lumia? Сам себе экосистема ч.2
- Как пройти кодинг интервью со мной
- Новый взгляд на аналитику ошибок в production, или работающая альтернатива Crashlytics
- Как мы разрабатывали приложение с сибирским характером для суровых дальнобойщиков (и победили Яндекс Карты)
- VR: как это работает
- Почему стоит вкладываться в опенсорс
- Мобильные виджеты
- 5 проектов выходного дня, которые значительно повысят ваши навыки кодинга
- Podlodka #334: стартап-акселераторы
- Главные языки программирования 2023
- Microsoft закрывает Visual Studio для Mac
- Треть программистов теряет свои профнавыки на текущем месте работы
- Где платят больше всего в Big Tech: исследование Blind
- Google открывает API о солнечных возможностях, качестве воздуха и уровне пыльцы
How Grab uses Graph Databases to Reduce Fraud Ask HN: Where do I find good code to read? 8 Reasons Why WhatsApp Was Able to Support 50 Billion Messages a Day With Only 32 Engineers