В новом дайджесте Kotlin Multiplatform на iOS, история Android и ненужные проекты, фермы Яндекса, реклама мобильных приложений и многое другое. Хорошей разработки!
Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.

iOS
• Готов ли Kotlin Multiplatform к проду на iOS?
• Flow Engine — движок iOS-навигации в Revolut
• Руководство «Язык программирования Swift» выложили на GitHub
• Внедрение Allure (отчётность) в UI-тесты (swift, XCTest)
• Antiphishing/Antimalware на трафике в iOS с применением Network Extension
• WebKit переехал на GitHub
•
Xcode’s refactoring options for async/await
•
Sharing cross-platform code in SwiftUI apps
•
Using CoordinateSpace to draw over a SwiftUI List
•
Build Amazing UI Design using SwiftUI Grid in SwiftUI 4
•
An iOS Engineer learns about Android’s Jetpack Compose and loves it
•
AttributedString, a better way to handle attributed strings in iOS 15
•
UIKit Components — Animated TabBar
•
From chaining and blending to digital compositing Core Image CIFilter
•
Fastlane Magic in iOS
•
Updating SwiftUI Views From Objective-C Using MVVM
•
SwiftUI Gauge — A New Way of Showing Progress
•
How to Use Xcode Plugins in Your iOS App
•
Setting up custom font style for Text, Labels and Buttons globally in iOS Application
•
Exploring SwiftUI Redraw Behavior with Instruments
•
50+ SwiftUI Open Source Projects With Guided Tutorials
•
HttpRequest: HTTP-клиент для iOS
•
Wordle Guesser: помощник для Wordle на SwiftUI
Android
• История Android от L до T
• Руководство по модуляризации Android-приложений
• Готовим Android к пентесту — WSA edition
• Umbrella-sharing: как система проката зонтиков сделала нас фанатами Android разработки
• Особенности разработки Android приложения-компаньона для Bluetooth LE
• Deep Dive Into Deep Link. Часть 1. Введение и исходная задача
• OAuth в мобильных приложениях
• Google Play открывает регистрацию для использования стороннего биллинга
•
Experimenting with Jetpack Glance
•
Top-notch stateful testing in Android
•
The deep links crash course, Part 1: Introduction to deep links
•
How to make Expandable List with Jetpack Compose
•
Testing Composable in Jetpack Compose Android – Testing Fundamentals
•
Per-app language preferences
•
Why I will no longer use deep linking from the Navigation Component
•
Android Material 3 Widgets
•
Tips and Tricks that would improve your skills as an Android Developer
•
10 Almost Unknown Tools Which Facilitate Android Apps Development
•
Chain of validators with Kotlin
•
Guide to Android app modularization
•
Jetpack Compose Cheat Sheet
•
Can We Use the Front & Back Cameras at the Same Time on Android?
•
Seal: загрузчик видео с Material You
•
Android Circular Slider: круговой слайдер для Jetpack Compose
Кроссплатформа
• StbSharp: история ненужного проекта
• Телепортация игрока в Unity с OpenXR
• Советы по работе с префабами в Unity
• Flutter 3.3 — Что нового во Flutter
•
Flavors in Flutter
•
Dart 2.18: Objective-C & Swift interop
•
Flutter Sembast — The Complete Crash Course
•
Top 5 React Native tools and libraries 2023
•
KMP, iOS Developers and Production
•
How to organize your Flutter app assets, styles, colors, images
Разработка
• Колхоз. Большая история фермы устройств Яндекса
• Повышаем качество сервисов и делаем пользователей счастливыми: как работают в команде QA ВКонтакте
• Как мы зарелизили новую корзину и победили проблему разваливающихся заказов
• Что общего между локализацией багов и расследованием преступления?
• Как проходит интервью QA-инженеров в Тинькофф
• Краткая история тестирования ПО и реалии работы тестировщика в Сбере
• Ускоряем разработку: автоматический перевод C++ в Swift. Часть II
• Пять признаков, что в вашей продуктовой команде не хватает UX-редактора
• Podlodka #284: NDA и коммерческая тайна
• Как GitHub Copilot влияет на продуктивность и удовлетворенность разработчиков
•
I was too cheap to pay $10 a month for copilot, so I made my own
•
Onboarding a Senior QA: week-by-week plan
•
The Joy of Programming
•
UI/UX Case Study: Adapting an app design for Android & iOS
•
7+ Habits that Made Me a Better Software Engineer
•
The Difference Between The Clever Developer & The Wise Developer
•
Awesome Competitive Programming: ресурсы для соревновательного программирования
Аналитика, маркетинг и монетизация
• Производство креативов для мобильной игры с нуля
• Анализ высоких показателей ATT-согласия в сегменте гиперказуальных игр: уроки и советы для мобильных маркетологов
• Ведущие приложения для ставок на спорт в США выросли после старта чемпионата
• «Сравнительный отчет о рекламе мобильных приложений» от Appsumer
• $1.7 млн: eQuoo — игра для подростков, улучшающая психическое здоровье
• Победители Google Play Indie Games Festival
• Как привлечь первых пользователей в свою игру или приложение
• Разбираем успех Fortnite: часть 1 — психология и UX
• В RuStore стали доступны инструменты продвижения приложений
• Avito Analytics meetup #7
• YouTube улучшает образовательные функции
AI, Устройства, IoT
• Шлюз Modbus RTU с поддержкой Ethernet
• Kincony KC868-A8S: Wi-Fi, Ethernet, Bluetooth, 433 МГц, RS485 и GSM в одном флаконе
• Один из альтернативных протоколов для интернета вещей — CoAP
• Google презентует Pixel Watch и Pixel 7
•
Setting Up A Raspberry Pi Home Server
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.


• Готов ли Kotlin Multiplatform к проду на iOS?
• Flow Engine — движок iOS-навигации в Revolut
• Руководство «Язык программирования Swift» выложили на GitHub
• Внедрение Allure (отчётность) в UI-тесты (swift, XCTest)
• Antiphishing/Antimalware на трафике в iOS с применением Network Extension
• WebKit переехал на GitHub
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• История Android от L до T
• Руководство по модуляризации Android-приложений
• Готовим Android к пентесту — WSA edition
• Umbrella-sharing: как система проката зонтиков сделала нас фанатами Android разработки
• Особенности разработки Android приложения-компаньона для Bluetooth LE
• Deep Dive Into Deep Link. Часть 1. Введение и исходная задача
• OAuth в мобильных приложениях
• Google Play открывает регистрацию для использования стороннего биллинга
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• StbSharp: история ненужного проекта
• Телепортация игрока в Unity с OpenXR
• Советы по работе с префабами в Unity
• Flutter 3.3 — Что нового во Flutter
•

•

•

•

•

•


• Колхоз. Большая история фермы устройств Яндекса
• Повышаем качество сервисов и делаем пользователей счастливыми: как работают в команде QA ВКонтакте
• Как мы зарелизили новую корзину и победили проблему разваливающихся заказов
• Что общего между локализацией багов и расследованием преступления?
• Как проходит интервью QA-инженеров в Тинькофф
• Краткая история тестирования ПО и реалии работы тестировщика в Сбере
• Ускоряем разработку: автоматический перевод C++ в Swift. Часть II
• Пять признаков, что в вашей продуктовой команде не хватает UX-редактора
• Podlodka #284: NDA и коммерческая тайна
• Как GitHub Copilot влияет на продуктивность и удовлетворенность разработчиков
•

•

•

•

•

•

•


• Производство креативов для мобильной игры с нуля
• Анализ высоких показателей ATT-согласия в сегменте гиперказуальных игр: уроки и советы для мобильных маркетологов
• Ведущие приложения для ставок на спорт в США выросли после старта чемпионата
• «Сравнительный отчет о рекламе мобильных приложений» от Appsumer
• $1.7 млн: eQuoo — игра для подростков, улучшающая психическое здоровье
• Победители Google Play Indie Games Festival
• Как привлечь первых пользователей в свою игру или приложение
• Разбираем успех Fortnite: часть 1 — психология и UX
• В RuStore стали доступны инструменты продвижения приложений
• Avito Analytics meetup #7
• YouTube улучшает образовательные функции

• Шлюз Modbus RTU с поддержкой Ethernet
• Kincony KC868-A8S: Wi-Fi, Ethernet, Bluetooth, 433 МГц, RS485 и GSM в одном флаконе
• Один из альтернативных протоколов для интернета вещей — CoAP
• Google презентует Pixel Watch и Pixel 7
•

← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.