Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
- 10 быстрых советов по повышению качества iOS-кода: часть 1 + часть 2
- Добавляем подсказки в приложение с помощью TipKit
- Листаем цифровые страницы: UIPageViewController
- Рефакторинг Swift
- Apple добавит поддержку RCS в следующем году
- Отображение панели выбора фотографий в SwiftUI
- iOS 18 должна стать самой «амбициозной и неотразимой»
- Поваренная книга SwiftUI: обрезка представлений
Progress toward the Swift 6 language mode On-Crash Backtraces in Swift SwiftUI: Displaying a Photo Picker Localisation in Xcode 15 SwiftUI at Airbnb: A Case Study Beyond the Code: Exploring the Innovations of Swift 6 The idea of a Fastlane replacement Glovo’s Large-Scale App Development: An In-Depth Look Mastering App Store Submissions with Fastlane Deliver The complete guide to iOS & macOS development in Neovim Handle TabView data in a type-safe way with Enums Preparing your App for Voice Over: Accessibility Value Why mobile apps need a good abstraction? Unit Test Expected Failures in Swift SwiftUI: How to trigger animations from outside the View scope? Inspecting Xcode’s build system graph at ease Mastering ViewThatFits How to update widgets for StandBy mode SwiftData: A Comprehensive Guide to Data Persistence in iOS with CoreData Animatable Dual Axis Graph Introducing Inferno: Metal shaders for SwiftUI Building Complex Scroll Animations With New iOS 17 APIs Data Structures in Swift How to Refactor Your Code with Late Let and Defer Introducing Inferno: Metal shaders for SwiftUI Adding Snapchat-Like Filters to a Video Calling App using SwiftUI Build DALL·E 3 AI WhatsApp Sticker Generator SwiftUI App Building Complex Scroll Animations With New iOS 17 API’s SwiftData Dynamic Sorts and Filters MaterialTabBar: материальный TabBar на SwiftUI Swift Protobuf: Protocol Buffer для Swift
Android
- Защита кода приложения Android. Когда хотели как лучше, а вышло не очень
- Kaspresso для самых маленьких
- Используем Ktlint в вашем Android-проекте
- Настройка Selenoid для запуска UI-тестов на Android
- Сравнение производительности Compose и View
- Разрушители легенд: Как на самом деле магазины проверяют приложения на уязвимости
- Как подружить JUnit 5 и Robolectric?
- Разделение презентационного слоя фичи на модули в Android приложении
- Сквозь дебри разработки, или как я пытался написать приложение
- Приложение для мобильных бригад: «толстый клиент» и полмиллиона строк кода
- Бруклинский мост. Зачем генерируем C++ на Kotlin
- Погружение в Smali. Как выглядят Java и Kotlin со стороны
- Быстрый старт в сборке метрик по билдам в Android-проекте
- Android Storage: обзор инструментария
Squaring the Circle on Google TV Navigation Drawers for Android TV using Jetpack Compose Reactive Programming in Kotlin — Flow The many faces of Kermit Apply Ktlint To Your Android Project Adding Konsist and Ktlint to a GitHub Actions Continuous Integration Navigating Pitfalls — When to Use derivedStateOf with remember(key) in Jetpack Compose Android: Jetpack Glance with Hilt Android WorkManager: Popular Interview Questions and Answers Compare Compose and View performance The secret to Android’s improved memory on 1B+ Devices: The latest Android Runtime update Understanding Kotlin’s Special Types: Any, Unit, and Nothing AIDL: The Android Developer’s Bridge Between Processes BasicTextField2: A TextField of Dreams Ace your live coding interview: Android 5 quick animations to make your Compose app stand out Kotlin Sequence vs Collection: Which to choose? Bringing New Input Support to Desktop AVD Are you sure you know how Kotlin Flow works? Component-based Approach. Fighting Complexity in Android Applications The latest updates to power your growth on Google Play New APIs for adaptive layouts in Jetpack Compose Understanding Eventbus with kotlin Flow Now in Android: 95 — Google Play requirements, Animations in Compose, Passkeys in Android, and more! How to Build an Animated Splash Screen on Android — The Full Guide Top 3 Coroutine Cancellation Traps That Lead to Errors In Your Android App Practical magic with animations in Jetpack Compose Twitter UI Clone: интерфейс Твиттер на Jetpack Compose Orbital: анимации Jetpack Compose
Кроссплатформа
- Простой, но масштабируемый State Management для Flutter
- Как мы перешли на кроссплатформенность в середине проекта и успели в срок
- Новый линт в Dart 3.2
- Flutter 3.16: что нового
- Анимация загрузки картинок во Flutter, или как сделать shimmer своими руками
Embracing Stable Kotlin Multiplatform (KMP) with Koin Flutter: Seamless Header Navigation from AppBar 8 Steps to Follow When Building Your Next Flutter App Flutter localization: step-by-step Building Responsive UIs in Flutter: A Short Guide What’s new in Flutter 3.16 Introducing the Flutter Casual Games Toolkit LocalSend: кроссплатформенная альтернатива AirDrop
Разработка
- Дизайн-система Gravity UI: как легко построить свой интерфейс
- Что не так с «Авророй» — российской мобильной OC
- Как сделать автотесты гибкими и лаконичными
- Должен ли QA уметь писать код
- GameDev и ОС Аврора. Портирование игры
- Что нового в интерфейсе ОС Аврора 5: управление и паттерны взаимодействия
- Avito Tech Managers meetup #1
- Я прошел собеседования в Google… Как?
- Octoverse 2023: ежегодный отчет от GitHub
- Windows 1.0 исполнилось 40 лет
Building In-Video Search Smoothing Out The Bumps: My Journey of Setting Up CI/CD for Android and iOS Apps Framing: The 1 most important communication concept every software engineer must know How one line of code caused a $60 million loss How I escape what 99% of programmers can’t Writing code for MS-DOS with Borland Pascal 7 My favorite coding question to give candidates (and why)
Аналитика, маркетинг и монетизация
- Мобильные суперприложения выгодны корпорациям, но это кошмар для простых людей
- RuStore стал первым инклюзивным российским магазином приложений
- SplitMetrics купила App Radar
- Microsoft представила Loop, своего конкурента Notion
- $11.5 млн Серии А: Sunnyside — разумное питье с ИИ
- Опубликован AppsFlyer Performance Index 16
- Почему бенчмарки бесполезны
- Nothing Phone выпустит эксклюзивное приложение для работы с iMessage
- Объявлены финалисты App Store Award: лучшие приложения и игры 2023
- Digital Turbine инвестировала в магазин приложений Aptoide
- Исследуем доходы и установки Callsheet
AI, Устройства, IoT
- Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить
- Станция Миди и голосовое управление Zigbee-устройствами без интернета. История разработки
- Парк юрского периода глазами нейросети: как развернуть Diffusers для генерации изображений за 10 минут
- Дисплей для Ариты или тайна четырёх перемычек
- Управление сетевыми устройствами: Orange Pi, OpenWRT и Python
- $16 млн в посевном раунде: Codegen — автоматизация задач разработки с помощью ИИ
An Android Developer’s Introduction to Machine Learning