В новом дайджесте новые виджеты и патчинг байт-кода, 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, где подборки статей и новостей выходят каждый день.

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: агент под прикрытием (встраивается куда угодно)
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
v1000
Решил попробовать Treecard с КДПВ. Такого глючного ввода данных в приложении ещё не встречал. Нажимаешь на поле ввода-ничего не происходит, нажимаешь второй раз-начинает выезжать список вариантов ввода и сразу-же уезжает обратно. Приходится отлавливать. Хотя может там нужно было нажать и держать? Но это не интуитивно понятно.
Ну а вишенка на торте-сообщают что карта выдаётся только в США после полного прохождения регистрации.
RoboForm
Ну... Зато картинка красивая :)