Наш новый дайджест про Xcode 14 и оковы CocoaPods, приложения для Mi Band 7 и недоразумения Google Play, про золотой век мобильной разработки, анимацию в Duolingo, дизайн-системы и многое другое!
В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

 iOS
iOS
• Как Xcode 14 непреднамеренно увеличивает размер приложения
• Bottom sheet: Custom transitioning
• Independency: сбрасываем оковы CocoaPods
• Декларативный UI: определение, история и необходимость
• Стоит ли переходить с UIKit на SwiftUI? Опыт СберМаркета
• Как сделать удобное взаимодействие с Kotlin из Swift: решение с помощью плагина MOKO KSwift
• Регистрация аккаунта разработчика в Apple: что может пойти не так
• VS Code Swift extension lesser known features
VS Code Swift extension lesser known features
• Single Size Icons: Solving «Core Data API misuse» and «Command CompileAssetCatalog failed with a nonzero exit code»
Single Size Icons: Solving «Core Data API misuse» and «Command CompileAssetCatalog failed with a nonzero exit code»
• Getting Started With watchOS 9 Complications in WidgetKit
Getting Started With watchOS 9 Complications in WidgetKit
• Working Asynchronously in SwiftUI task
Working Asynchronously in SwiftUI task
• Angular Gradient in SwiftUI
Angular Gradient in SwiftUI
• How Xcode 14 unintentionally increases app size
How Xcode 14 unintentionally increases app size
• iOS App Testing: A Complete Guide(Methods, Tools, & More)
iOS App Testing: A Complete Guide(Methods, Tools, & More)
• 7 iOS Projects to Become a Better iOS Developer
7 iOS Projects to Become a Better iOS Developer
• What is a Tuple in Swift?
What is a Tuple in Swift?
• Speech Synthesis: Text To Speech in SwiftUI
Speech Synthesis: Text To Speech in SwiftUI
• Window management in SwiftUI
Window management in SwiftUI
• Typewriter Effect in SwiftUI
Typewriter Effect in SwiftUI
• Building custom layout in SwiftUI. Basics.
Building custom layout in SwiftUI. Basics.
• A Guided Tour for SwiftUI ForEach Structure
A Guided Tour for SwiftUI ForEach Structure
• Create Breathe App-like Animation Using SwiftUI
Create Breathe App-like Animation Using SwiftUI
• Build an iOS 16 Lock Screen Inspired AR Experience with Realitykit and Swift
Build an iOS 16 Lock Screen Inspired AR Experience with Realitykit and Swift
• The start of our iOS UI automation journey
The start of our iOS UI automation journey
• iOS CI/CD Process with Jenkins and Fastlane
iOS CI/CD Process with Jenkins and Fastlane
• What is Property Observer in Swift?
What is Property Observer in Swift?
• How to create an Item Dock with SwiftUI
How to create an Item Dock with SwiftUI
• Drawing Charts in iOS Before SwiftUI
Drawing Charts in iOS Before SwiftUI
• How I made my app 73% lighter
How I made my app 73% lighter
• Swinject: внедрения зависимостей для Swift
Swinject: внедрения зависимостей для Swift
• LocalizableChecker: проверка ключей локализации
LocalizableChecker: проверка ключей локализации
 Android
Android
• Пишем приложение на Mi Band 7 с сервисной частью
• Никто не бесил меня больше, чем Google Play Team
• Я купил и оживил одну из первых китайских смартфонов-подделок на Android. Что он из себя представляет в 2022?
• Все библиотеки имеют фатальные недостатки, или Как мы изобретали Retrofit-подобный велосипед для JSON-RPC протокола
• Custom View — разбиваем функционал
• Health Connect переходит в бету
• Becoming A Successful Android Open-Source Librarian
Becoming A Successful Android Open-Source Librarian
• Studying Now In Android App — Modularization
Studying Now In Android App — Modularization
• Fail your build on Kotlin warnings
Fail your build on Kotlin warnings
• Accurately Measure Android App Performance with Profileable Builds
Accurately Measure Android App Performance with Profileable Builds
• Unit test — Kotlin functions(with listeners, lambda) with Mockk
Unit test — Kotlin functions(with listeners, lambda) with Mockk
• Android, MVVM with Clean Code
Android, MVVM with Clean Code
• 11 Best Android Libraries for 2022
11 Best Android Libraries for 2022
• How to Use Multiple Fragments in ViewPager2 with TabLayout?
How to Use Multiple Fragments in ViewPager2 with TabLayout?
• Tips on Android 13 Advertising ID Requirement Support
Tips on Android 13 Advertising ID Requirement Support
• Pagination, Sorting and Custom Plugins in Ktor
Pagination, Sorting and Custom Plugins in Ktor
• Constraint Layout in Jetpack Compose with Examples
Constraint Layout in Jetpack Compose with Examples
• What’s New In Kotlin 1.7.20?
What’s New In Kotlin 1.7.20?
• CompositionLocal in Jetpack Compose
CompositionLocal in Jetpack Compose
• Nothing has ever angered me more than The Google Play Team
Nothing has ever angered me more than The Google Play Team
• Resolving Insufficient Storage Error in Android Studio
Resolving Insufficient Storage Error in Android Studio
• Lessons learned while modularizing an application
Lessons learned while modularizing an application
• How to draw content behind system bars in Jetpack Compose
How to draw content behind system bars in Jetpack Compose
• Benchart: визуализация быстродействия Android-приложения
Benchart: визуализация быстродействия Android-приложения
• Camera Samples: примеры работы с CameraX и Camera2
Camera Samples: примеры работы с CameraX и Camera2
• Compose Progress Indicators: индикаторы прогресса как в iOS
Compose Progress Indicators: индикаторы прогресса как в iOS
 Кроссплатформа
Кроссплатформа
• Телеграм-каналы о Flutter и Dart-разработке
• AR Weather App in Flutter using ARKIT
AR Weather App in Flutter using ARKIT
• Build a React App Using DALL-E API
Build a React App Using DALL-E API
• Create your own Toast without using any packages!
Create your own Toast without using any packages!
• Introducing the Flutter News Toolkit — now accepting applications
Introducing the Flutter News Toolkit — now accepting applications
• 5 Mistakes to Avoid When Building React Native Applications
5 Mistakes to Avoid When Building React Native Applications
• Flutter animation example for your next application
Flutter animation example for your next application
• Flutter: How To Mock Functions For Testing
Flutter: How To Mock Functions For Testing
• Flutter Tutorial: Drawing App
Flutter Tutorial: Drawing App
• Flutter Native Splash Animation with Lottie on iOS
Flutter Native Splash Animation with Lottie on iOS
 Разработка
Разработка
• Золотой век мобильной разработки закончился?
• Ангелы Charles: как сниффер поможет разработчикам мобильных приложений
• Искусство встречается с технологиями: синхронизация движения губ со звуком в Duolingo
• Как мы развивали бэкенд War Robots, в процессе заDDoSив самих себя — и чему научились после этого
• Отсутствие архитектуры лучше, чем плохая архитектура
• Смешать, но не взбалтывать: добавляем видеообложки в ленту товаров
• Почему тяжело писать про хороший код?
• Почему ООП — это плохо
• Работа с требованиями и данными при проектировании интерфейсов
• Как строить бизнес в разработке, когда тебе 40
• Дизайн-система Авито: как всё устроено
• Платформенные команды в мобильной разработке
• Podlodka #294: масштабируем процессы
• Сотни сотрудников не захотели быть частью нового Twitter
• «Ростелеком» хочет 480 млрд руб на российскую мобильную ОС «Аврора»
• Microsoft выпустила игры для рабочего мессенджера Teams
• HCL стал самым быстрорастущим языком 2022
• В вакансиях для программистов высшее образование нужно только в трети объявлений
• The Secret To Mastering Programming
The Secret To Mastering Programming
• Stop lying to yourself – you will never “fix it later”
Stop lying to yourself – you will never “fix it later”
• Zuckerberg and Pichai’s Messages Are a Bad Sign for the Developers
Zuckerberg and Pichai’s Messages Are a Bad Sign for the Developers
• Ten Developer Types You Will Encounter in Any Organisation
Ten Developer Types You Will Encounter in Any Organisation
• Programming Books for 2022
Programming Books for 2022
• How to build a great App as a Solo Developer
How to build a great App as a Solo Developer
• Mobile Developer Experience at Slack
Mobile Developer Experience at Slack
• A Software Engineer Has Built His Tiktok Side Hustle — $20k/month
A Software Engineer Has Built His Tiktok Side Hustle — $20k/month
• Twitter alternative: how Mastodon is designed to be “antiviral”
Twitter alternative: how Mastodon is designed to be “antiviral”
• How Sundar Pichai Got Hired By Google In A Tricky Interview In 2004
How Sundar Pichai Got Hired By Google In A Tricky Interview In 2004
• 8 best practices for UI card design
8 best practices for UI card design
 Аналитика, маркетинг и монетизация
Аналитика, маркетинг и монетизация
• Маркетологи в мобайле: Артем Смирнов (Union Apps)
• Как построить прогноз спроса и не потерять голову
• Маркетологи приложений 2022: исследование Liftoff
• Как мы изменили подход к локализации приложения и перевели его на казахский за 4 недели
• Аудит резюме. Growths Hack на практике
• Рынок мобильных игр снизится на 6.4% в 2022
• Evernote продается европейскому разработчику Bending Spoons
• Доход образовательных приложений в Европе достиг рекордной отметки в $220 млн
• Использование e-commerce приложений достигает максимума в праздничный сезон
• $19 млн в Серии A: PhotoRoom — фоторедактор для малого бизнеса
 AI, Устройства, IoT
AI, Устройства, IoT
• AlertBox Radio Lite: волшебная коробочка (можно даже без DIY)
• От проекта до умного дома: будни интегратора
• Microsoft выпустила ежегодный Уродливый свитер Windows с Clippy
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!

 iOS
iOS• Как Xcode 14 непреднамеренно увеличивает размер приложения
• Bottom sheet: Custom transitioning
• Independency: сбрасываем оковы CocoaPods
• Декларативный UI: определение, история и необходимость
• Стоит ли переходить с UIKit на SwiftUI? Опыт СберМаркета
• Как сделать удобное взаимодействие с Kotlin из Swift: решение с помощью плагина MOKO KSwift
• Регистрация аккаунта разработчика в Apple: что может пойти не так
•
 VS Code Swift extension lesser known features
VS Code Swift extension lesser known features•
 Single Size Icons: Solving «Core Data API misuse» and «Command CompileAssetCatalog failed with a nonzero exit code»
Single Size Icons: Solving «Core Data API misuse» and «Command CompileAssetCatalog failed with a nonzero exit code»•
 Getting Started With watchOS 9 Complications in WidgetKit
Getting Started With watchOS 9 Complications in WidgetKit•
 Working Asynchronously in SwiftUI task
Working Asynchronously in SwiftUI task•
 Angular Gradient in SwiftUI
Angular Gradient in SwiftUI•
 How Xcode 14 unintentionally increases app size
How Xcode 14 unintentionally increases app size•
 iOS App Testing: A Complete Guide(Methods, Tools, & More)
iOS App Testing: A Complete Guide(Methods, Tools, & More)•
 7 iOS Projects to Become a Better iOS Developer
7 iOS Projects to Become a Better iOS Developer•
 What is a Tuple in Swift?
What is a Tuple in Swift?•
 Speech Synthesis: Text To Speech in SwiftUI
Speech Synthesis: Text To Speech in SwiftUI•
 Window management in SwiftUI
Window management in SwiftUI•
 Typewriter Effect in SwiftUI
Typewriter Effect in SwiftUI•
 Building custom layout in SwiftUI. Basics.
Building custom layout in SwiftUI. Basics.•
 A Guided Tour for SwiftUI ForEach Structure
A Guided Tour for SwiftUI ForEach Structure•
 Create Breathe App-like Animation Using SwiftUI
Create Breathe App-like Animation Using SwiftUI•
 Build an iOS 16 Lock Screen Inspired AR Experience with Realitykit and Swift
Build an iOS 16 Lock Screen Inspired AR Experience with Realitykit and Swift•
 The start of our iOS UI automation journey
The start of our iOS UI automation journey•
 iOS CI/CD Process with Jenkins and Fastlane
iOS CI/CD Process with Jenkins and Fastlane•
 What is Property Observer in Swift?
What is Property Observer in Swift?•
 How to create an Item Dock with SwiftUI
How to create an Item Dock with SwiftUI•
 Drawing Charts in iOS Before SwiftUI
Drawing Charts in iOS Before SwiftUI•
 How I made my app 73% lighter
How I made my app 73% lighter•
 Swinject: внедрения зависимостей для Swift
Swinject: внедрения зависимостей для Swift•
 LocalizableChecker: проверка ключей локализации
LocalizableChecker: проверка ключей локализации Android
Android• Пишем приложение на Mi Band 7 с сервисной частью
• Никто не бесил меня больше, чем Google Play Team
• Я купил и оживил одну из первых китайских смартфонов-подделок на Android. Что он из себя представляет в 2022?
• Все библиотеки имеют фатальные недостатки, или Как мы изобретали Retrofit-подобный велосипед для JSON-RPC протокола
• Custom View — разбиваем функционал
• Health Connect переходит в бету
•
 Becoming A Successful Android Open-Source Librarian
Becoming A Successful Android Open-Source Librarian•
 Studying Now In Android App — Modularization
Studying Now In Android App — Modularization•
 Fail your build on Kotlin warnings
Fail your build on Kotlin warnings•
 Accurately Measure Android App Performance with Profileable Builds
Accurately Measure Android App Performance with Profileable Builds•
 Unit test — Kotlin functions(with listeners, lambda) with Mockk
Unit test — Kotlin functions(with listeners, lambda) with Mockk•
 Android, MVVM with Clean Code
Android, MVVM with Clean Code•
 11 Best Android Libraries for 2022
11 Best Android Libraries for 2022•
 How to Use Multiple Fragments in ViewPager2 with TabLayout?
How to Use Multiple Fragments in ViewPager2 with TabLayout?•
 Tips on Android 13 Advertising ID Requirement Support
Tips on Android 13 Advertising ID Requirement Support•
 Pagination, Sorting and Custom Plugins in Ktor
Pagination, Sorting and Custom Plugins in Ktor•
 Constraint Layout in Jetpack Compose with Examples
Constraint Layout in Jetpack Compose with Examples•
 What’s New In Kotlin 1.7.20?
What’s New In Kotlin 1.7.20?•
 CompositionLocal in Jetpack Compose
CompositionLocal in Jetpack Compose•
 Nothing has ever angered me more than The Google Play Team
Nothing has ever angered me more than The Google Play Team•
 Resolving Insufficient Storage Error in Android Studio
Resolving Insufficient Storage Error in Android Studio•
 Lessons learned while modularizing an application
Lessons learned while modularizing an application•
 How to draw content behind system bars in Jetpack Compose
How to draw content behind system bars in Jetpack Compose•
 Benchart: визуализация быстродействия Android-приложения
Benchart: визуализация быстродействия Android-приложения•
 Camera Samples: примеры работы с CameraX и Camera2
Camera Samples: примеры работы с CameraX и Camera2•
 Compose Progress Indicators: индикаторы прогресса как в iOS
Compose Progress Indicators: индикаторы прогресса как в iOS Кроссплатформа
Кроссплатформа• Телеграм-каналы о Flutter и Dart-разработке
•
 AR Weather App in Flutter using ARKIT
AR Weather App in Flutter using ARKIT•
 Build a React App Using DALL-E API
Build a React App Using DALL-E API•
 Create your own Toast without using any packages!
Create your own Toast without using any packages!•
 Introducing the Flutter News Toolkit — now accepting applications
Introducing the Flutter News Toolkit — now accepting applications•
 5 Mistakes to Avoid When Building React Native Applications
5 Mistakes to Avoid When Building React Native Applications•
 Flutter animation example for your next application
Flutter animation example for your next application•
 Flutter: How To Mock Functions For Testing
Flutter: How To Mock Functions For Testing•
 Flutter Tutorial: Drawing App
Flutter Tutorial: Drawing App•
 Flutter Native Splash Animation with Lottie on iOS
Flutter Native Splash Animation with Lottie on iOS Разработка
Разработка• Золотой век мобильной разработки закончился?
• Ангелы Charles: как сниффер поможет разработчикам мобильных приложений
• Искусство встречается с технологиями: синхронизация движения губ со звуком в Duolingo
• Как мы развивали бэкенд War Robots, в процессе заDDoSив самих себя — и чему научились после этого
• Отсутствие архитектуры лучше, чем плохая архитектура
• Смешать, но не взбалтывать: добавляем видеообложки в ленту товаров
• Почему тяжело писать про хороший код?
• Почему ООП — это плохо
• Работа с требованиями и данными при проектировании интерфейсов
• Как строить бизнес в разработке, когда тебе 40
• Дизайн-система Авито: как всё устроено
• Платформенные команды в мобильной разработке
• Podlodka #294: масштабируем процессы
• Сотни сотрудников не захотели быть частью нового Twitter
• «Ростелеком» хочет 480 млрд руб на российскую мобильную ОС «Аврора»
• Microsoft выпустила игры для рабочего мессенджера Teams
• HCL стал самым быстрорастущим языком 2022
• В вакансиях для программистов высшее образование нужно только в трети объявлений
•
 The Secret To Mastering Programming
The Secret To Mastering Programming•
 Stop lying to yourself – you will never “fix it later”
Stop lying to yourself – you will never “fix it later”•
 Zuckerberg and Pichai’s Messages Are a Bad Sign for the Developers
Zuckerberg and Pichai’s Messages Are a Bad Sign for the Developers•
 Ten Developer Types You Will Encounter in Any Organisation
Ten Developer Types You Will Encounter in Any Organisation•
 Programming Books for 2022
Programming Books for 2022•
 How to build a great App as a Solo Developer
How to build a great App as a Solo Developer•
 Mobile Developer Experience at Slack
Mobile Developer Experience at Slack•
 A Software Engineer Has Built His Tiktok Side Hustle — $20k/month
A Software Engineer Has Built His Tiktok Side Hustle — $20k/month•
 Twitter alternative: how Mastodon is designed to be “antiviral”
Twitter alternative: how Mastodon is designed to be “antiviral”•
 How Sundar Pichai Got Hired By Google In A Tricky Interview In 2004
How Sundar Pichai Got Hired By Google In A Tricky Interview In 2004•
 8 best practices for UI card design
8 best practices for UI card design Аналитика, маркетинг и монетизация
Аналитика, маркетинг и монетизация• Маркетологи в мобайле: Артем Смирнов (Union Apps)
• Как построить прогноз спроса и не потерять голову
• Маркетологи приложений 2022: исследование Liftoff
• Как мы изменили подход к локализации приложения и перевели его на казахский за 4 недели
• Аудит резюме. Growths Hack на практике
• Рынок мобильных игр снизится на 6.4% в 2022
• Evernote продается европейскому разработчику Bending Spoons
• Доход образовательных приложений в Европе достиг рекордной отметки в $220 млн
• Использование e-commerce приложений достигает максимума в праздничный сезон
• $19 млн в Серии A: PhotoRoom — фоторедактор для малого бизнеса
 AI, Устройства, IoT
AI, Устройства, IoT• AlertBox Radio Lite: волшебная коробочка (можно даже без DIY)
• От проекта до умного дома: будни интегратора
• Microsoft выпустила ежегодный Уродливый свитер Windows с Clippy
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
 
          