Возвращаемся с первым в новом году “мобильным” дайджестом. В нем кастомные макеты, безопасный Swift и опыт KMM, что ждать разработчикам, типы тестировщиков, годовой отчет State of Mobile 2023 и многое другое!
В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!
iOS
• Apple Machine Learning (ML). «Create ML»
• Более Быстрые Сборки Apple с помощью lld Linker
• Создание кастомного макета в SwiftUI. Интервалы
• Безопасное программирование в Swift
• Видео BA: Swiftable 2022
• Создаем VIPER шаблон с помощью Generamba
• Utilizing Makefiles for Swift projects
• Stress testing on iOS with xcmonkey
• Understanding SwiftUI view lifecycles
• Building custom layout in SwiftUI. Basics.
• Mastering charts in SwiftUI. Basics.
• On the new Point-Free swift-dependencies library
• Composable Architecture
• Swift Learning Roadmap 2023 — The Ultimate Guide
• Custom Popup in SwiftUI
• Top 10 mistakes Swift developers do
• iOS Project Structure Like a Pro
• How to Update or Refresh a Widget?
• SwiftUI: NavigationSplitView
• Task Groups in Swift explained with code examples
• ArraySlice with range operator and Prefix in Swift
• Swift: Unit Testing Fatal Errors
• Safe Coding in Swift
• Validation With Regex in Swift 5.7 Using SwiftUI and Combine
• How to create Sound Wave Animation with TimelineView and Canvas in SwiftUI
• Control Your SwiftUI App With Face Recognition Using SceneKit
• iOS App Security: Best Practices
• How I Optimize Memory Consumption for Content-Rich Apps
• The Secrets of Hashable in Swift
• Top 10 mistakes swift developers do
• AutoLayoutBuilder —My Swift Package to Reduce Boilerplate Code
• Drawing with UIKit’s UIBezierPath
• Nuke: загрузка и показ изображений
• Swift Dependencies: DI по мотивам SwiftUI
Android
• Volvo SCT / part 1 — как проникнуть в чужое ядро
• Как работает Activity. Часть 2 + Часть 1
• Как фронтендеру стать мобильным разработчиком, или Перевод API React в Jetpack Compose
• Состояние навигации в Jetpack Compose
• Моды Android приложений: Instander & Google Camera by The Dise
• Вышла Android Studio Electric Eel
• Process Death & Orientation Change in RecyclerView
• Integrating Google Maps, Places API, and Reverse Geocoding with Jetpack Compose
• How to Avoid Dependency Conflicts in Android Multi-Module Apps
• Mastering The Gradle Dependency Tree
• Building a Language Learning App with Compose
• How to make a complete app / site association with Universal Links
• Setup A Self Modifiable List Of Data In Jetpack Compose
• Concurrency vs. Parallelism Using Kotlin
• How to Avoid Dependency Conflicts in Android Multi-Module Apps
• Applying Kotlin context receivers
• Jetpack Compose state deconstructed
• The State of Navigation in Jetpack Compose
• Writing Slack in Jetpack Compose and Kotlin MultiPlatform
• Handle the onNewIntent in Jetpack Compose
• Is your app providing a backward compatible edge-to-edge experience?
• Lessons Learned After 3 Days Debugging Jetpack Compose SwipeToDismiss
• Pattern Matching in Kotlin is Awesome
• Detecting Android memory leaks in production
• I Think I’ve Given Up On Android
• KConMapper — How To Automate Mapping Function Creation With Kotlin’s KSP
• Kotlin Data Class
• HttpRequest: HTTP-клиент для Kotlin
• WebRTC in Jetpack Compose: видео в реальном времени с WebRTC и Compose
Кроссплатформа
• Опыт использования Kotlin Multiplatform Mobile (KMM) в 9GAG
• Платформа из красного кирпича: как настроить окружение в Kotlin Multiplatform Mobile
• Курс по Flutter: вход в профессию Flutter-разработчика
• UI Роутер в Unity
• How Fast Is React Native New Architecture?
• 50 Flutter Interview Question for 1 year experience
• If you want to master React Native
• VS Code for Flutter hacks that will blow your mind
• My Experience with Flutter as a Native Android Developer
• Flutter and ObjectBox – High-Performance NoSQL Database
• Material 3 for Flutter
Разработка
• Пройдите опрос для разработчиков Developer Nation и выиграйте новые гаджеты
• Как багатон снизил нам количество багов с 900 до 950
• Мой опыт разработки программы для игры в шашки с помощью алгоритма минимакс
• Но это (не)точно: чего ждать мобильным разработчикам в 2023-м году
• Типы тестировщиков
• Server-driven UI, «Триплекс» и JSON: как Сбер сервисы в мобильные приложения выводит
• Путь Full Stack QA
• Podlodka #303: .NET, часть 1
• Podlodka #302: онбординг
• VK открывает набор на бесплатную практику для школьников и студентов
• Программисты чаще всего довольны своей зарплатой
• Компании в IT проиндексировали зарплаты на 15% течение последнего года
• Nucleus упрощает процесс управления микросервисами
• Intermediate Data Engineering Road Map 2023: Big Data, Cloud Computing, and More
• Today’s Software Developers Will Stop Coding Soon
• The Dangers of Over-engineering
• A Day in the Life of a Software Engineer at Canva
• A Response to “Stop Using If-Else Statements”
• Clean UI Guide: 15 White Space Design Tips
• The three most important lessons I’ve learned as a UX Designer in 2022
• Designing an Effective User Onboarding Experience
• Awesome Software and Architectural Design Patterns: лучшие шаблоны проектирования
Аналитика, маркетинг и монетизация
• Годовой отчет State of Mobile 2023 от Data.ai: 255 млрд установок и $167 млрд расходов
• Разработчики выпустили 1.6 млн приложений и игр в 2022
• Тренды мобильного маркетинга 2023
• Приложения с подпиской 2023 — отчет RevenueCat
• Потребители лояльны к опыту, а не к брендам
• Критерий Манна-Уитни — самый главный враг A/B-тестов
• 99 советов по монетизации игр — Часть 2
• Discord купил Gas, социальное приложение для подростков
• $2.63 млн: Slay — анонимные комплименты для подростков
• Hinge и Tinder тестируют дорогие подписки
• В RuStore появились платные приложения
• ФАС оштрафовала Apple на $17 млн за запрет сторонних платежей
• Разработчики заработали $320 млрд в App Store с 2008 года
AI, Устройства, IoT
• Управление микроконтроллером через telegram-бот с обратной связью
• Интерпретируемость ML-моделей: от инструментов до потребностей пользователя
• Что и как делать с поливом на умной даче?
• Простое (не очень) увлажнение квартиры
• Поставки смартфонов в 2022 упали до минимума за десятилетие
• Apple представила новые MacBook Pro
• В MacBook могут добавить сенсорный экран
• Нейросети отбирают работу — какое будущее ждет программистов с ChatGPT
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для разработчиков — подключайтесь!
iOS
• Apple Machine Learning (ML). «Create ML»
• Более Быстрые Сборки Apple с помощью lld Linker
• Создание кастомного макета в SwiftUI. Интервалы
• Безопасное программирование в Swift
• Видео BA: Swiftable 2022
• Создаем VIPER шаблон с помощью Generamba
• Utilizing Makefiles for Swift projects
• Stress testing on iOS with xcmonkey
• Understanding SwiftUI view lifecycles
• Building custom layout in SwiftUI. Basics.
• Mastering charts in SwiftUI. Basics.
• On the new Point-Free swift-dependencies library
• Composable Architecture
• Swift Learning Roadmap 2023 — The Ultimate Guide
• Custom Popup in SwiftUI
• Top 10 mistakes Swift developers do
• iOS Project Structure Like a Pro
• How to Update or Refresh a Widget?
• SwiftUI: NavigationSplitView
• Task Groups in Swift explained with code examples
• ArraySlice with range operator and Prefix in Swift
• Swift: Unit Testing Fatal Errors
• Safe Coding in Swift
• Validation With Regex in Swift 5.7 Using SwiftUI and Combine
• How to create Sound Wave Animation with TimelineView and Canvas in SwiftUI
• Control Your SwiftUI App With Face Recognition Using SceneKit
• iOS App Security: Best Practices
• How I Optimize Memory Consumption for Content-Rich Apps
• The Secrets of Hashable in Swift
• Top 10 mistakes swift developers do
• AutoLayoutBuilder —My Swift Package to Reduce Boilerplate Code
• Drawing with UIKit’s UIBezierPath
• Nuke: загрузка и показ изображений
• Swift Dependencies: DI по мотивам SwiftUI
Android
• Volvo SCT / part 1 — как проникнуть в чужое ядро
• Как работает Activity. Часть 2 + Часть 1
• Как фронтендеру стать мобильным разработчиком, или Перевод API React в Jetpack Compose
• Состояние навигации в Jetpack Compose
• Моды Android приложений: Instander & Google Camera by The Dise
• Вышла Android Studio Electric Eel
• Process Death & Orientation Change in RecyclerView
• Integrating Google Maps, Places API, and Reverse Geocoding with Jetpack Compose
• How to Avoid Dependency Conflicts in Android Multi-Module Apps
• Mastering The Gradle Dependency Tree
• Building a Language Learning App with Compose
• How to make a complete app / site association with Universal Links
• Setup A Self Modifiable List Of Data In Jetpack Compose
• Concurrency vs. Parallelism Using Kotlin
• How to Avoid Dependency Conflicts in Android Multi-Module Apps
• Applying Kotlin context receivers
• Jetpack Compose state deconstructed
• The State of Navigation in Jetpack Compose
• Writing Slack in Jetpack Compose and Kotlin MultiPlatform
• Handle the onNewIntent in Jetpack Compose
• Is your app providing a backward compatible edge-to-edge experience?
• Lessons Learned After 3 Days Debugging Jetpack Compose SwipeToDismiss
• Pattern Matching in Kotlin is Awesome
• Detecting Android memory leaks in production
• I Think I’ve Given Up On Android
• KConMapper — How To Automate Mapping Function Creation With Kotlin’s KSP
• Kotlin Data Class
• HttpRequest: HTTP-клиент для Kotlin
• WebRTC in Jetpack Compose: видео в реальном времени с WebRTC и Compose
Кроссплатформа
• Опыт использования Kotlin Multiplatform Mobile (KMM) в 9GAG
• Платформа из красного кирпича: как настроить окружение в Kotlin Multiplatform Mobile
• Курс по Flutter: вход в профессию Flutter-разработчика
• UI Роутер в Unity
• How Fast Is React Native New Architecture?
• 50 Flutter Interview Question for 1 year experience
• If you want to master React Native
• VS Code for Flutter hacks that will blow your mind
• My Experience with Flutter as a Native Android Developer
• Flutter and ObjectBox – High-Performance NoSQL Database
• Material 3 for Flutter
Разработка
• Пройдите опрос для разработчиков Developer Nation и выиграйте новые гаджеты
• Как багатон снизил нам количество багов с 900 до 950
• Мой опыт разработки программы для игры в шашки с помощью алгоритма минимакс
• Но это (не)точно: чего ждать мобильным разработчикам в 2023-м году
• Типы тестировщиков
• Server-driven UI, «Триплекс» и JSON: как Сбер сервисы в мобильные приложения выводит
• Путь Full Stack QA
• Podlodka #303: .NET, часть 1
• Podlodka #302: онбординг
• VK открывает набор на бесплатную практику для школьников и студентов
• Программисты чаще всего довольны своей зарплатой
• Компании в IT проиндексировали зарплаты на 15% течение последнего года
• Nucleus упрощает процесс управления микросервисами
• Intermediate Data Engineering Road Map 2023: Big Data, Cloud Computing, and More
• Today’s Software Developers Will Stop Coding Soon
• The Dangers of Over-engineering
• A Day in the Life of a Software Engineer at Canva
• A Response to “Stop Using If-Else Statements”
• Clean UI Guide: 15 White Space Design Tips
• The three most important lessons I’ve learned as a UX Designer in 2022
• Designing an Effective User Onboarding Experience
• Awesome Software and Architectural Design Patterns: лучшие шаблоны проектирования
Аналитика, маркетинг и монетизация
• Годовой отчет State of Mobile 2023 от Data.ai: 255 млрд установок и $167 млрд расходов
• Разработчики выпустили 1.6 млн приложений и игр в 2022
• Тренды мобильного маркетинга 2023
• Приложения с подпиской 2023 — отчет RevenueCat
• Потребители лояльны к опыту, а не к брендам
• Критерий Манна-Уитни — самый главный враг A/B-тестов
• 99 советов по монетизации игр — Часть 2
• Discord купил Gas, социальное приложение для подростков
• $2.63 млн: Slay — анонимные комплименты для подростков
• Hinge и Tinder тестируют дорогие подписки
• В RuStore появились платные приложения
• ФАС оштрафовала Apple на $17 млн за запрет сторонних платежей
• Разработчики заработали $320 млрд в App Store с 2008 года
AI, Устройства, IoT
• Управление микроконтроллером через telegram-бот с обратной связью
• Интерпретируемость ML-моделей: от инструментов до потребностей пользователя
• Что и как делать с поливом на умной даче?
• Простое (не очень) увлажнение квартиры
• Поставки смартфонов в 2022 упали до минимума за десятилетие
• Apple представила новые MacBook Pro
• В MacBook могут добавить сенсорный экран
• Нейросети отбирают работу — какое будущее ждет программистов с ChatGPT
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.