В новом выпуске новые правила Google Play для новых разработчиков и первый App Shortcut, корутины против потоков, навигация во Flutter и вредные тесты, перформящие креативы, собственные GPT и многое другое!
Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

iOS
• Паттерн Координатор для навигация в iOS-приложении
• Делаем первый App Shortcut
• Apple отложила работу над новыми ОС для исправления ошибок
• Вопросы с собеседований: что такое reference типы в Swift
•
Understanding Text Case And Capitalization In SwiftUI
•
iOS App Modularization: Strategies for Large-Scale Applications and Dependency Management
•
Custom Traits and SwiftUI
•
Calculating a Smooth Clock Hands Animation
•
Distributing Work Between Actors
•
Programmatic Navigation with SwiftUI
•
Structure Oriented Programming VS Protocol Oriented Programming in Swift
•
Xcodegen — First Steps
•
10 tips to increase your iOS code quality
•
Level up your Swift enum by… replacing it with an OptionSet?
•
Swift Student Challenge 2024 is announced
•
Visual effects in SwiftUI
•
GeometryReader: Blessing or Curse?
•
Generating Random Numbers Elegantly in Swift
•
What is Reflection and how is it used?
•
Mastering iOS Navigation: A Deep Dive Into Pragmatic Design
•
Adapter Design Pattern in iOS
•
Swift Macros 101: Your Step-by-Step Guide To Crafting Your First Macro!
•
SwiftData Containers and Preview Data
•
Using SwiftUI and ReplayKit: Build an iOS Screen-Sharing App
•
Building Scrollable Tab View With New iOS 17 APIs
•
Building Complex Scroll Animations With New iOS 17 APIs
•
NSSpain XI Videos
•
Chat: UI-фреймворк для чата
•
Tabman: мощный Page View Controller
Android
• Google вводит новые правила проверки приложений в Play
• Корутины против потоков: тест потребления памяти
• Ошибки при проектировании публичного API наших библиотек, и как мы их решали
• Amazon планирует отказаться от Android в пользу собственной ОС
• Вышла альфа-версия Telecom Jetpack
•
Picture-Perfect Code: Uploading Images to the Server with Kotlin and Jetpack Compose using a RESTful API
•
The Diffing Dilemma! All about diffing with LazyLists!
•
FlowOn | Kotlin. The Importance of Thread Safety
•
The problem with Coroutines stateIn operator and how to solve it
•
How to show a PDF with Jetpack Compose
•
Creating an iPhone-Like Glassy Blur Effect with Jetpack Compose on Android
•
Screenshot Testing with Compose
•
Kotlin Type Aliases: Enhancing Code Clarity
•
MVI architecture implementation with Kotlin Flow, Android
•
From Stetho to Flipper: Logging Network Calls with Facebook’s Flipper SDK in Android
•
Jetpack Compose Animation for Beginners: A Step-by-Step Guide
•
Amper – Improving the Build Tooling User Experience
•
A Little About Dagger
•
Best Practises In ViewModel
•
Android CI/CD pipelines at MEGA
•
Mastering Event Validation in Android Apps: A QA Engineer’s Guide
•
Practical magic with animations in Jetpack Compose
•
Compression Streams support on all browsers, Android’s New Credential Manager, and more dev news!
•
Are One-Time Events an Anti-Pattern? — Why Almost Every Android Dev Does It Wrong!
•
The Ultimate Guide to Android Splash Screen Animations – Splash API
•
BabaBASIC: QuickBASIC для Android
•
BeepBeep: платформа доставки еды и заказа такси на Kotlin
Кроссплатформа
• Как подключиться к Flutter приложению в режиме нативного debug на ОС Аврора
• «Разгоняем» HashSet, HashMap и циклы на примере Dart
• Управляем навигацией во Flutter с помощью библиотеки auto_route. Часть 1
• Subject объекты в RxDart и чем они полезны Flutter-разработчику
• Структура Flutter-приложения: feature-first или layer-first
•
Advanced Dart in Flutter: Elevating Your Development Skills
•
How to Test Native Features in Flutter Apps with Patrol and Codemagic
•
Why Kotlin Multiplatform Won’t Succeed
•
5 Best Under-The-Radar React Native Libraries in 2023: Dev Tested and Reviewed
•
10 Tips for Optimizing Your Flutter App
•
Simplifying React Native App Updates with Expo EAS and In-App Updates
•
Setuping a well structured React Native project with Ignite
•
KMPizza with Lena Stepanova
Разработка
• 10 трудных истин, которые вам не расскажут о работе программистов
• Тесты вредны для разработчиков
• Как мы переложили на ChatGPT рутину в тестировании
• Как разработать функциональное мобильное приложение за 2 месяца: кейс Kassir.ru
• Самые высокооплачиваемые вакансии октября в сфере разработки приложений
• Podlodka #342: пишем язык внутри языка
• Компания Sutro представила ИИ-конструктор приложений
• $25 млн в Серии B: Tabnine — ИИ-помощник для программирования
•
Real-Time Analytics for Mobile App Crashes using Apache Pinot
•
The Architecture Behind A One-Person Tech Startup
•
How We Reduced our Google Cloud Bills by 50 Percent
•
Don’t disable buttons
•
Secure your API keys in iOS/Android apps using Firebase
•
Microservices aren’t the problem. Incompetent people are
•
Ensure Visual Accessibility: Glyphs, Icons and Shapes
Аналитика, маркетинг и монетизация
• От теории к практике. Как использовать геймплей в создании перформящих креативов: часть вторая
• Как продвигать приложения: советы от RuStore
• Как определить топ USP при запуске нового продукта
• Google настаивает на открытии iMessage в ЕС
• AppsFlyer покупает аналитику devtodev
• Доходы X за год выросли на 829%
•
How to Boost Any Mobile Screen Usage with this simple analytics trick
•
Summer, which helps customers buy — and rent out — vacation homes, raises $18M
•
How Uber app is Dominating the market and how you can do the same with the hybrid app development
AI, Устройства, IoT
• Главное событие в мире AI: создатель ChatGPT рассказал, в какое будущее он нас всех ведет
• Что в голове у змейки? Обучение нейросети играть в «Snake» генетическим алгоритмом
• Умный мясокомбинат: что можно сделать с инженерными системами?
• Моя б̶е̶з̶умная колонка или бюджетный DIY голосового ассистента для умного дома
• Lens Studio 5.0 использует ИИ и повышает скорость разработки
• OpenAI запускает создание собственных GPT и магазин для них
• Assistants API от OpenAI помогает создавать собственных агентов
•
Arduino Course for Everybody
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

iOS• Паттерн Координатор для навигация в iOS-приложении
• Делаем первый App Shortcut
• Apple отложила работу над новыми ОС для исправления ошибок
• Вопросы с собеседований: что такое reference типы в Swift
•
Understanding Text Case And Capitalization In SwiftUI•
iOS App Modularization: Strategies for Large-Scale Applications and Dependency Management•
Custom Traits and SwiftUI•
Calculating a Smooth Clock Hands Animation•
Distributing Work Between Actors•
Programmatic Navigation with SwiftUI•
Structure Oriented Programming VS Protocol Oriented Programming in Swift•
Xcodegen — First Steps•
10 tips to increase your iOS code quality•
Level up your Swift enum by… replacing it with an OptionSet?•
Swift Student Challenge 2024 is announced•
Visual effects in SwiftUI•
GeometryReader: Blessing or Curse?•
Generating Random Numbers Elegantly in Swift•
What is Reflection and how is it used?•
Mastering iOS Navigation: A Deep Dive Into Pragmatic Design•
Adapter Design Pattern in iOS•
Swift Macros 101: Your Step-by-Step Guide To Crafting Your First Macro!•
SwiftData Containers and Preview Data•
Using SwiftUI and ReplayKit: Build an iOS Screen-Sharing App•
Building Scrollable Tab View With New iOS 17 APIs•
Building Complex Scroll Animations With New iOS 17 APIs•
NSSpain XI Videos•
Chat: UI-фреймворк для чата•
Tabman: мощный Page View Controller
Android• Google вводит новые правила проверки приложений в Play
• Корутины против потоков: тест потребления памяти
• Ошибки при проектировании публичного API наших библиотек, и как мы их решали
• Amazon планирует отказаться от Android в пользу собственной ОС
• Вышла альфа-версия Telecom Jetpack
•
Picture-Perfect Code: Uploading Images to the Server with Kotlin and Jetpack Compose using a RESTful API•
The Diffing Dilemma! All about diffing with LazyLists!•
FlowOn | Kotlin. The Importance of Thread Safety•
The problem with Coroutines stateIn operator and how to solve it•
How to show a PDF with Jetpack Compose•
Creating an iPhone-Like Glassy Blur Effect with Jetpack Compose on Android•
Screenshot Testing with Compose•
Kotlin Type Aliases: Enhancing Code Clarity•
MVI architecture implementation with Kotlin Flow, Android•
From Stetho to Flipper: Logging Network Calls with Facebook’s Flipper SDK in Android•
Jetpack Compose Animation for Beginners: A Step-by-Step Guide•
Amper – Improving the Build Tooling User Experience•
A Little About Dagger•
Best Practises In ViewModel•
Android CI/CD pipelines at MEGA•
Mastering Event Validation in Android Apps: A QA Engineer’s Guide•
Practical magic with animations in Jetpack Compose•
Compression Streams support on all browsers, Android’s New Credential Manager, and more dev news!•
Are One-Time Events an Anti-Pattern? — Why Almost Every Android Dev Does It Wrong!•
The Ultimate Guide to Android Splash Screen Animations – Splash API•
BabaBASIC: QuickBASIC для Android•
BeepBeep: платформа доставки еды и заказа такси на Kotlin
Кроссплатформа• Как подключиться к Flutter приложению в режиме нативного debug на ОС Аврора
• «Разгоняем» HashSet, HashMap и циклы на примере Dart
• Управляем навигацией во Flutter с помощью библиотеки auto_route. Часть 1
• Subject объекты в RxDart и чем они полезны Flutter-разработчику
• Структура Flutter-приложения: feature-first или layer-first
•
Advanced Dart in Flutter: Elevating Your Development Skills•
How to Test Native Features in Flutter Apps with Patrol and Codemagic•
Why Kotlin Multiplatform Won’t Succeed•
5 Best Under-The-Radar React Native Libraries in 2023: Dev Tested and Reviewed•
10 Tips for Optimizing Your Flutter App•
Simplifying React Native App Updates with Expo EAS and In-App Updates•
Setuping a well structured React Native project with Ignite•
KMPizza with Lena Stepanova
Разработка• 10 трудных истин, которые вам не расскажут о работе программистов
• Тесты вредны для разработчиков
• Как мы переложили на ChatGPT рутину в тестировании
• Как разработать функциональное мобильное приложение за 2 месяца: кейс Kassir.ru
• Самые высокооплачиваемые вакансии октября в сфере разработки приложений
• Podlodka #342: пишем язык внутри языка
• Компания Sutro представила ИИ-конструктор приложений
• $25 млн в Серии B: Tabnine — ИИ-помощник для программирования
•
Real-Time Analytics for Mobile App Crashes using Apache Pinot•
The Architecture Behind A One-Person Tech Startup•
How We Reduced our Google Cloud Bills by 50 Percent•
Don’t disable buttons•
Secure your API keys in iOS/Android apps using Firebase•
Microservices aren’t the problem. Incompetent people are•
Ensure Visual Accessibility: Glyphs, Icons and Shapes
Аналитика, маркетинг и монетизация• От теории к практике. Как использовать геймплей в создании перформящих креативов: часть вторая
• Как продвигать приложения: советы от RuStore
• Как определить топ USP при запуске нового продукта
• Google настаивает на открытии iMessage в ЕС
• AppsFlyer покупает аналитику devtodev
• Доходы X за год выросли на 829%
•
How to Boost Any Mobile Screen Usage with this simple analytics trick•
Summer, which helps customers buy — and rent out — vacation homes, raises $18M•
How Uber app is Dominating the market and how you can do the same with the hybrid app development
AI, Устройства, IoT• Главное событие в мире AI: создатель ChatGPT рассказал, в какое будущее он нас всех ведет
• Что в голове у змейки? Обучение нейросети играть в «Snake» генетическим алгоритмом
• Умный мясокомбинат: что можно сделать с инженерными системами?
• Моя б̶е̶з̶умная колонка или бюджетный DIY голосового ассистента для умного дома
• Lens Studio 5.0 использует ИИ и повышает скорость разработки
• OpenAI запускает создание собственных GPT и магазин для них
• Assistants API от OpenAI помогает создавать собственных агентов
•
Arduino Course for Everybody← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.