В нашей новой подборке собеседование для Senor-а и разработка на грани, анимации и рефакторинг в Slack, проблемы Agile, тестирование роботами и многое другое. Подключайтесь!
Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
![](https://habrastorage.org/r/w1560/webt/is/58/_x/is58_xhn1gh3s7w7uo7gfyzgbm0.png)
iOS
• За гранью App Store, или Что нового открывает MDM и Supervised для B2B в iOS
• Что будет с iOS-разработкой в России
• Finita la State Machine — MVI в iOS-приложении
• Apple приглашает на презентацию 7 сентября
•
Animations of sorting algorithms in Swift Charts
•
Intrinsic Content Size: Swift’s Sizing Mystery
•
Create Custom View Components in SwiftUI
•
Few ways of improving your iOS APP performance in Swift
•
Autocompletion for Swift Package Manager Commands
•
Share Swift Code Between Client App and Vapor Server
•
Handling Cell Interactions When Using UIHostingConfiguration in iOS 16
•
Easy VIPER Architecture on Playground for busy people
•
Factory Method and Abstract Factory in Swift and iOS Universe
•
How to Implement a GameKit Leaderboard in SwiftUI
•
Create Custom View Components in SwiftUI
•
SwiftUI: Mastering Picker and PickerStyles
•
Swizzling in Swift
•
iOS Screen Navigation Engine at Revolut
•
The Best and Fastest Ways to Install Xcode on your Mac
•
Swift Framework? Modularize your project with ‘Swift Framework’ in 30 seconds!
•
Exploring Apple’s DeveloperToolsSupport Framework
•
SwiftUI Button Tutorial: Customization
•
Apple’s use of AppKit, Mac Catalyst and SwiftUI in macOS
•
Memento Pattern with SwiftUI
•
Using SwiftUI inside an ancient UITableView or UICollectionView
•
Swift Combine: CurrentValueSubject, the most useful subject of all times
•
AppDesignKit: готовые экраны для iOS
•
Puppertino: CSS-фреймворк для имитации iOS
•
CryptoSwift: алгоритмы шифрования и безопасности
Android
• Превращаем старый телефон на Android в веб-сервер
• Экспертное собеседование на позицию Senior Android-разработчика
• Как создавать анимации в Jetpack Compose
• Как работает WorkManager в Android
• Danger. Автоматизируем ревью на CI и пишем свой плагин
• Почему я больше не буду использовать deep linking из Navigation Component
• Вышел образ Android 13 для Raspberry Pi 4
•
How to fix common Android API deprecations
•
To Flow or not to Flow? Message subscription in Kotlin
•
MVI with state-machine. Tools.
•
Jetpack Compose Accompanist — An FAQ
•
How to move View with Keyboard in Android using Kotlin
•
Build an offline-first app
•
Unit Testing Test Doubles and Exploring the Mocking Framework in Kotlin
•
Sticky item in RecyclerView
•
Clean Dependency Management in Multi Module Android Projects
•
Kotlin: An Illustrated Guide — Scopes and Scope Functions
•
6 Jetpack Compose Guidelines to Optimize Your App Performance
•
Firebase Remote Config Force Update
•
Faster and Quality PR Reviews for Android UI Features
•
Creating an App in Android Automotive OS
•
CameraX 1.2 is now in Beta
•
KSP for Code-Generation
•
Improving Performance with Baseline Profiles
•
Wear OS Tiles Material Library: Build Tiles, Fast.
•
Parameter Injection for Android ViewModels
•
How To Avoid Use Cases Boilerplate in Android
•
Swipe Button using Jetpack Compose
•
PilBox — Building Android Apps in PicoLisp
•
Top Tips for Adopting Android’s Notification Permission
•
Android Development — Memory Leaks
•
DroidconKotlin: Kotlin Multiplatfom для конференций Droidcon
•
Android Kotlin Starter Project 2022: шаблон чистого проекта
•
Charty: графики для Jetpack Compose
Кроссплатформа
• Как подружить Redux и Elementary
• Unity: Выбор и загрузка файлов пользователем на WebGL сборке
•
Finally a Quick & Easy Way to write tests for your Flutter Apps
•
Pagination in Kotlin Multiplatform Mobile
•
7 Free Online Flutter Courses to learn App Development
•
Google’s Recommended Flutter State Management
•
Flutter Clean Architecture with Rorty App
•
How I separate the logic and my view in React Native
•
How I convert Figma designs to React Native with BuilderX
•
Flutter Flame: simplest optimization techniques
•
5 mind-blowing Flutter tips and tricks, that you can use right away!
Разработка
• Рефакторинг кодовой базы в Slack: Стабилизация, Модуляризация и Модернизация
• Яндекс выпускает DivKit — фреймворк для server-driven UI с открытым кодом
• Программирование — это про общение
• Agile-проекты превратились в Водопады со спринтами
• Роль UX писателя и копирайтера в мультивселенной безумия
• Как мы делали суперприложение на основе Почты
• Как мы писали приложение для доставки из ресторанов
• Как мы делали стартап для помощи переселенцам
• Иконки приложений как товарный знак: ожидание и реальность
• Задачи с собеседований: самый длинный палиндром в строке
• Какую зарплату просить на собеседовании? Как просить повышения?
• Podlodka #282: Nim, часть 1
• Обучающий курс «Docker для начинающих»
• $24 млн в Серии А: Thirdweb — фреймворк Web3 разработки
• $12.5 млн в Серии А: Mobot — роботы, тестирующие приложения
• Viva Engage — социальная сеть для предприятий в Teams
• Потратили 5 млн рублей на мобильное приложение для стоматологии и рассказываем, где ошиблись и как оно устроено
•
Object-oriented or functional? Two ways to see the world
•
I’m new to System Design, where do I start?
•
Why I Wish I Learned Data Structures and Algorithms Earlier
•
A Graph-Based Firebase
•
Stop saying 10x developer
•
SurrealDB: облачная база данных
Аналитика, маркетинг и монетизация
• Редактор коллажей Shuffles от Pinterest штурмует топы App Store
• Как мы делали партнерскую программу для блогеров в мобильном шутере
• Zynga впервые начинает продвижение косметики Maybelline
• В RuStore появились отзывы и рейтинги приложений
• Яндекс продает медийные активы и возвращается к поиску
• Instagram копирует BeReal
• Schmooze: дейтинг на основе мемов
• Snapchat+после первого месяца потерял половину платных подписчиков
AI, Устройства, IoT
• Сможет ли Midjourney заменить дизайнеров? Тестируем нейронную сеть
• Как разработать тесты для устройства умного дома?
• «Искусственный интеллект для начинающих» — новый учебный курс Microsoft
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подключайтесь также к нашему Telegram-каналу Mobile Insights, где подборки статей и новостей выходят каждый день.
![](https://habrastorage.org/webt/is/58/_x/is58_xhn1gh3s7w7uo7gfyzgbm0.png)
![](https://habrastorage.org/getpro/habr/post_images/f19/30a/c49/f1930ac4945596eb9707bc7a01bc5bdc.png)
• За гранью App Store, или Что нового открывает MDM и Supervised для B2B в iOS
• Что будет с iOS-разработкой в России
• Finita la State Machine — MVI в iOS-приложении
• Apple приглашает на презентацию 7 сентября
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/e1a/3cf/2a8/e1a3cf2a8b65a0da69bbdd5c0ad040fe.png)
• Превращаем старый телефон на Android в веб-сервер
• Экспертное собеседование на позицию Senior Android-разработчика
• Как создавать анимации в Jetpack Compose
• Как работает WorkManager в Android
• Danger. Автоматизируем ревью на CI и пишем свой плагин
• Почему я больше не буду использовать deep linking из Navigation Component
• Вышел образ Android 13 для Raspberry Pi 4
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/webt/ma/lx/8h/malx8hbgozt6lee8rmxmg96_s6a.png)
• Как подружить Redux и Elementary
• Unity: Выбор и загрузка файлов пользователем на WebGL сборке
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
![](https://habrastorage.org/getpro/habr/post_images/708/1c6/34e/7081c634ec176ab6b953d9d19e82a09a.png)
• Рефакторинг кодовой базы в Slack: Стабилизация, Модуляризация и Модернизация
• Яндекс выпускает DivKit — фреймворк для server-driven UI с открытым кодом
• Программирование — это про общение
• Agile-проекты превратились в Водопады со спринтами
• Роль UX писателя и копирайтера в мультивселенной безумия
• Как мы делали суперприложение на основе Почты
• Как мы писали приложение для доставки из ресторанов
• Как мы делали стартап для помощи переселенцам
• Иконки приложений как товарный знак: ожидание и реальность
• Задачи с собеседований: самый длинный палиндром в строке
• Какую зарплату просить на собеседовании? Как просить повышения?
• Podlodka #282: Nim, часть 1
• Обучающий курс «Docker для начинающих»
• $24 млн в Серии А: Thirdweb — фреймворк Web3 разработки
• $12.5 млн в Серии А: Mobot — роботы, тестирующие приложения
• Viva Engage — социальная сеть для предприятий в Teams
• Потратили 5 млн рублей на мобильное приложение для стоматологии и рассказываем, где ошиблись и как оно устроено
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/377/ae0/333/377ae0333d0f4b7b97307c9eea5ee21a.gif)
•
![](https://habrastorage.org/files/967/16b/cb9/96716bcb926741e79bb1c284a88083ca.png)
![](https://habrastorage.org/getpro/habr/post_images/509/dc9/bde/509dc9bde69347ecbe0c21ff2973d7e7.jpg)
• Редактор коллажей Shuffles от Pinterest штурмует топы App Store
• Как мы делали партнерскую программу для блогеров в мобильном шутере
• Zynga впервые начинает продвижение косметики Maybelline
• В RuStore появились отзывы и рейтинги приложений
• Яндекс продает медийные активы и возвращается к поиску
• Instagram копирует BeReal
• Schmooze: дейтинг на основе мемов
• Snapchat+после первого месяца потерял половину платных подписчиков
![](https://habrastorage.org/getpro/habr/post_images/853/812/9f5/8538129f5e7b404a720121cb9c3814db.jpg)
• Сможет ли Midjourney заменить дизайнеров? Тестируем нейронную сеть
• Как разработать тесты для устройства умного дома?
• «Искусственный интеллект для начинающих» — новый учебный курс Microsoft
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.