В новом дайджесте новые виджеты и патчинг байт-кода, Cross device SDK и новый Flutter, Code Review для джуниоров, победа Коста Элефтериу, новые платежи в магазинах и многое другое!
Подключайтесь!
Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

iOS
• Создаем виджеты для экрана блокировки на SwiftUI
• Layout Protocol: новые возможности SwiftUI
• Использование Apple AppKit, Mac Catalyst и SwiftUI в macOS
• User-Defined в iOS проекте
• Жизнь со SwiftUI
• В Xcode Cloud заработала подписка
• Коста Элефтериу уладил судебное дело с Apple
•
Custom UIViewController Animations — EASY iOS Guide
•
Designing for scalable Dynamic Type in iOS for accessibility
•
How to make an MVVM Swift UI App
•
Discover whether a view is visible on the screen — the iOS challenge
•
Area under Notch
•
Build Offline-First Mobile Apps by Caching API Results in Realm
•
Fixing Dependency Problem in a Complex Modularized iOS App
•
Apple Silicon and the library incompatibility problem for iOS development
•
How to add a loader to an UIButton
•
SwiftUI View Modifiers Tutorial for iOS
•
Swift Combine Basic 2 Minutes Tutorial
•
New MapKit Configurations with SwiftUI
•
Lock screen widgets in SwiftUI
•
Probably the best guide to Swift Timer
•
SwiftUI’s diffing algorithm
•
SwiftUI, How to create BlurEffect. Introducing 2 ways.
•
Handling multiple caches in App
•
Animate a UIBarButtonItem using Swift
•
How to Use NavigationSplitView in SwiftUI
•
SwiftNEWKit: «Что нового» на SwiftUI
Android
• Патчим байт-код для просмотра логов в Android. Подробная инструкция и примеры кода
• Google выпустил предварительную версию Cross device SDK
• Note&Noty — первое приложение на Android
• Как работа с ресурсами вызывает микрофризы
• Опыт перехода на MVI в Android на базе собственного решения
• Как мы уменьшили размер приложения ВТБ Онлайн с многомиллионной аудиторией в 2 раза
• Про поставки и релизы в мобильной разработке
• Выполняем задачи по расписанию с Quartz и Spring Boot
• Google разрешил сторонние платежи в Play в России
• В RuStore заработали встроенные покупки и подписки
•
MAD about Media
•
Exploring Jetpack Composes’ Dependencies Injection Using Hilt
•
Few steps to new level security — Play Integrity API for Android apps
•
Jetpack Compose: Build Better Apps Faster
•
Clean Android WebView caching
•
What is Kotlin SAM ?
•
How to implement In-App-Update Structure on Android?
•
How To Use Kotlin’s Built-In Functions To Measure Code Execution Time
•
ViewStub in Android
•
Java Champion James Ward on the State of Java and JVM Languages
•
Using Version Catalog on Android projects
•
How to ace any Android Interview like a BOSS in 202X?
•
How we implemented a state machine framework
•
Monitoring App Performance
•
First Impressions When Switching From Spring Boot to Ktor
•
Integrate autofill with keyboards (or Input Method Editors)
•
Begin your android automation testing using Appium, JUnit5, and Kotlin in 5 minutes on Windows or Linux!
•
Wear OS Tiles Material Library: Build Tiles, Fast.
•
Kotlin Algorithms and Design Patterns: алгоритмы, структуры и паттерны
•
Android Image Cropper: обработка изображений
•
Kalendar: календарь для Compose
Кроссплатформа
• Первые шаги в Unity с OpenXR
• Flutter Flame: ускоряем в 32 раза работу со столкновениями
• Skia — высокопроизводительная 2D графика для React Native
• Вышел Flutter 3.3
•
Basics of Game Development using Flame
•
Building a Hand Drawing App with React Native Skia and Gesture Handler
•
Adapter Design Patterns For Dart & Flutter
•
Flutter best practices
•
Flutter FVM — Boost your Flutter productivity by 100%
•
Announcing Flutter 3.3 at Flutter Vikings
•
Learn PWA
•
How to use Kotlin Multiplatform ViewModel in SwiftUI and Jetpack Compose
•
Wonderous: лучшая архитектура на Flutter
Разработка
• Scrum подвел разработчиков
• DevOps-инструменты как новая ступенька для разработчика
• Как Junior-разработчику проводить Code Review
• Легкая автоматизация кроссплатформенных тестов с Kotlin DSL
• Мобильный CI: как выбрать и переехать
• Do it yourself: как тестировать приложение без QA
• Больше, чем новый логотип: как дизайнили приложение СберМегаМаркет
• Дизайн приложений: примеры для вдохновения #81
• Podlodka #283: диски и носители, часть 2
• $63 млн в Серии B: Solid — FinTech инфраструктура
•
Applying what I’ve learned in Atomic Habits to coding
•
What Helped Me to Become a Lead Software Engineer at 21
•
Product Design interview questions
•
Developer Experience Infrastructure (DXI)
•
5 Simple Tips To Stop Getting Interrupted While You Write Code
•
Why you might never become a senior developer
•
Maestro — Painless Mobile UI Automation
•
8 Best UX/UI Design Tools in 2022
•
DivKit: отрисовка Server-Driven UI
Аналитика, маркетинг и монетизация
• Meta исследует платные функции для пользователей
• Snap планирует уволить 20% сотрудников
• «Разработка качественных приложений для детей» — учебник Google Play Academy
• Маркетинг подписных приложений 2022 — отчет AppsFlyer и Liftoff
• BeReal угрожает загрузкам Instagram
AI, Устройства, IoT
• От взлома протокола в старом «железе» до разработки программ
• NORVI Agent 2: агент под прикрытием (встраивается куда угодно)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подключайтесь!
Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.


• Создаем виджеты для экрана блокировки на SwiftUI
• Layout Protocol: новые возможности SwiftUI
• Использование Apple AppKit, Mac Catalyst и SwiftUI в macOS
• User-Defined в iOS проекте
• Жизнь со SwiftUI
• В Xcode Cloud заработала подписка
• Коста Элефтериу уладил судебное дело с Apple
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Патчим байт-код для просмотра логов в Android. Подробная инструкция и примеры кода
• Google выпустил предварительную версию Cross device SDK
• Note&Noty — первое приложение на Android
• Как работа с ресурсами вызывает микрофризы
• Опыт перехода на MVI в Android на базе собственного решения
• Как мы уменьшили размер приложения ВТБ Онлайн с многомиллионной аудиторией в 2 раза
• Про поставки и релизы в мобильной разработке
• Выполняем задачи по расписанию с Quartz и Spring Boot
• Google разрешил сторонние платежи в Play в России
• В RuStore заработали встроенные покупки и подписки
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Первые шаги в Unity с OpenXR
• Flutter Flame: ускоряем в 32 раза работу со столкновениями
• Skia — высокопроизводительная 2D графика для React Native
• Вышел Flutter 3.3
•

•

•

•

•

•

•

•

•


• Scrum подвел разработчиков
• DevOps-инструменты как новая ступенька для разработчика
• Как Junior-разработчику проводить Code Review
• Легкая автоматизация кроссплатформенных тестов с Kotlin DSL
• Мобильный CI: как выбрать и переехать
• Do it yourself: как тестировать приложение без QA
• Больше, чем новый логотип: как дизайнили приложение СберМегаМаркет
• Дизайн приложений: примеры для вдохновения #81
• Podlodka #283: диски и носители, часть 2
• $63 млн в Серии B: Solid — FinTech инфраструктура
•

•

•

•

•

•

•

•

•


• Meta исследует платные функции для пользователей
• Snap планирует уволить 20% сотрудников
• «Разработка качественных приложений для детей» — учебник Google Play Academy
• Маркетинг подписных приложений 2022 — отчет AppsFlyer и Liftoff
• BeReal угрожает загрузкам Instagram

• От взлома протокола в старом «железе» до разработки программ
• NORVI Agent 2: агент под прикрытием (встраивается куда угодно)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.