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

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← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.