Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
- Работаем с сетчатыми градиентами в iOS 18
- SwiftUI: адаптация UI к различным размерам экрана (с примерами кода)
- Ускоряем SwiftUI с Observable
- Как укротить виджеты в супераппе?
- UICollectionViewLayout с самого начала
- UITableView с различными типами ячеек
Previews in Xcode Playgrounds MoveMe — SwiftUI Edition Xcode Folders & Groups Parsing Beyond JSON with swift-parsing Introduction to Communication Patterns in SwiftUI Point-Free is Xcode 16 ready From Swift beginner to an app in the App Store in a few months Rotating Characters Loader Tutorial Creating a Dynamic Draggable ScrollView with UIKit for SwiftUI How to build a Safari extension with SwiftUI Mastering container views in SwiftUI. Basics. Using the zoom navigation transition in SwiftUI The 2024 iOS Developer RoadMap Let’s Integrate SwiftData CRUD into the Notes App SwiftUI — Rotating Characters Loader Tutorial Deep Dive into TabView Changes in iOS18 Let’s Make Notes App With Complex Transitions | SwiftData | SwiftUI Testing 101: What Are Integration Tests & How to Write Them in Swift SwiftUI — Image Presentation Animation Tutorial WWDC22: The SwiftUI cookbook for navigation HotReloading — горячая перезагрузка для Swift, Objective-C и C++ MIDIKit — обертка CoreMIDI
Android
- Android сломался или я чего-то не понимаю? — Обсуждение на Reddit
- ByteWeaver в Open Source: инструментирование байт-кода Java во имя великого блага
- Впечатления от доработки Telegram Android
- Создание Convention Plugin-ов на базе Kotlin-классов
- Остерегайтесь Rounds.com — Обсуждение на Reddit
- Превращаем планшет в терминал самообслуживания: осваиваем режим Kiosk в KNOX сервисах
- Прочие оптимизации кода Gradle Convention Plugins, выводы по результатам использования подхода
- Декларативный подход в организации gradle зависимостей в Android-проектах
- Троян Necro продолжает преследовать пользователей Android
- Размер имеет значение: как измерить и уменьшить вес Android-приложения
- Установка Android-приложений от доисторических времен до наших дней
- Rust избавляет Android от ошибок и помогает существенно сократить количество небезопасного кода
Bottom Sheets that… just work PDFViewerFragment — AndroidX Tools, not Rules: become a better Android developer with Compiler Explorer Testing Android App Accessibility: Clue Using Kotlin 2.0 for Android Development Kotlin Exception Handling: Why Singleton Exceptions are a bad idea Design Server-Driven UI with Jetpack Compose and Firebase Metaspace in JVM Builds Android Studio Ladybug | 2024.2.1 RC 1 now available Expandable FlowRow with Indicator AllTrails gains over 1 million downloads after implementing its Wear OS app Rendering the Java heap as a Treemap Kotlin JVM args: Inheritance & Defaults Koin 4.0 — Official Release Loading Initial Data on Android Part 2: Clear All Your Doubts Understanding the “suspend” Keyword in Kotlin Coroutines and Why It Matters for Android Development How Can MVI Architecture Revolutionize Your Compose Multiplatform Development? Room Renovations — Android Conference Talks How to Implement a Custom Swipe to Reveal in Jetpack Compose Keyboard & Focus Management In Jetpack Compose How easy is it to draw on GoogleMaps using Compose? How to Make HTTP Requests With Retrofit - Android Raw Ddraw Android — создание Android-приложений с C и Make Rush — слова песен как на Spotify
Кроссплатформа
- Как мы успешно внедрили Единую Биометрическую Систему во Flutter-приложение
- ООП в Dart
- React Native перевернул игру
- Темная сторона изолятов в Dart
Example of a Cross-Platform macOS/Windows Application Developed Using Swift 6 Exploring Kotlin Multiplatform: A Visual Guide Better Error Handling for Flutter — Error Stack Pushing the Boundaries of Compose Multiplatform with AGSL Shaders A practical guide on CPU architectures for Flutter developers Common mistakes with OAuth in Flutter Packages to improve UI/UX of your app Is Kotlin Multiplatform killing Flutter?
Разработка
- Как энтузиасты на мобильную систему «Аврора» портировали игры
- Как делать простые анимированные онбординги в Lottie без After Effects
- Не разрабатывайте приложения для миллионов пользователей, когда у вас нет и ста
- Как мы сделали приложение для партнёрской платформы, с которым любой может зарабатывать на туризме. Кейс Travelpayouts
- Идеальный продукт и его UX/UI дизайн
- Пишем свой генератор ID для мобильных приложений
- Discord запустил SDK для создания Активностей на платформе
- Как технический долг испортил приложение Sonos
- VK Education запускает базу учебных проектов для студентов
- Интероп – неизбежность в больших системах: C и C++, JNI, WinAPI
- Что делать, если разработчики бесят
- Процесс CI/CD в Авито: от комита до релиза
- Clean Architecture (чистая архитектура, все для проекта любого размера, принципы, мышление)
How I Designed a Dieter Rams inspired iPhone Dock What 10,000 Hours of Coding Taught Me: Don’t Ship Fast How I Hire Programmers Avoiding if-else Hell: The Functional Style Mobile teams are second class citizens, but not on purpose End-to-End Machine Learning Project – AI, MLOps LiveKit — приложения для передачи голоса и видео
Аналитика, маркетинг и монетизация
- RevenueCat приобрел «пикантные» аудиокниги Dipsea
- Закон Калифорнии заставит цифровые магазины признать, что покупатели лицензируют, а не покупают контент
- Видеозвонки с Лили, Приключения и пианино — обновления Duolingo
- Ютубер MKBHD выпустил приложение для обоев — и фанаты раскритиковали его
- В VK Рекламе стало доступно продвижение приложений из Huawei AppGallery
- Shelf — социальная сеть, основанная на медиа, которые вы потребляете
- Будущее программной рекламы: полное руководство по технологии header bidding
- Gauth, ИИ-помощник в учебе, оседлал волну возвращения в школу
How Has Hamster Kombat helped Telegram reach 700M+ MAU?