В новом выпуске полезные инструменты и модуляризация приложений, производительность, ориентированная на пользователей, и почти ручной DI, новый шрифт Office, блокчейн в Google Play, промпт-инжиниринг в масштабе и многое другое!
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!
iOS
• Используем атрибут @backDeployed для расширения доступности функций
• Полезные iOS-инструменты для дебаггинга
• Что делать iOS-разработчикам в России?
• Модульное тестирование в iOS: всё, что надо знать. Часть 2 + Часть 1
• SwiftUI Repeatable Button
• SwiftUI 5: What’s New In ScrollView
• Build A To Do List App using SwiftData (Swift Data Tutorials)
• Becoming an “iOS-lite” developer
• Build a Live Activity Realtime Polls App with Firebase & APNS Push Token
• SwiftUI Data Flow with the new Observation
• SwiftUI Search Bar — How to work with searchable in your iOS and macOS apps
• SwiftData Suprises
• Advanced Animation in SwiftUI under iOS17
• How to use String Catalogs for pluralization in Swift
• RadialGradient in SwiftUI
• iOS: UI Testing Strategy and Tooling at Reddit
• Build A To Do List App using SwiftData
• Dependency Injection Demystified
• Creating a Circle Loader Animation in SwiftUI
• How to Use Material Nodes in Reality Composer Pro’s Shader Graph
• A few Xcode debugging tips
• Unidirectional flow in Swift
• Floating Action Button in SwiftUI
• Mastering SSL Pinning in Swift: No Third-Party Libraries Required
• Protocol Oriented Programming: Prioritizing Flexibility and Reusability
• Learn how to unleash the Power of Automatic Grammar Agreement in Swift
• Find unused code in Swift
• Implementing Dark Mode and using CGColor
• Backend Driven Development for iOS Developers
• SwiftUI 5: What’s New In ScrollView
• iOS Architecture Essentials: Choosing Between Closures and Protocols
• The Ultimate Guide to Building Scalable SwiftUI Apps: Master the Art of Modular Architecture
• Swift HTTP Types: работа с HTTP-запросами в Swift
• Queryable: ML-поиск фотографий на iOS
• ScrollViewLoader: бесконечный список для SwiftUI
Android
• Модуляризация мобильных приложений в масштабе
• Производительность мобильных приложений, ориентированная на пользователей
• Как я перестал волноваться и полюбил ошибки в Kotlin корутинах: Мифы обработки ошибок в корутинах
• Делаем эмулятор Android через Terminal: пошаговое руководство
• Как избежать хаоса: навигация как отдельный логический уровень
• От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 1)
• Храним краску с умом: как организовать ресурсы в многомодульном проекте
• Ручной DI на Котлине? Легко! Ну, почти…
• Google Play разрешает NFT
• Вышел Android 14 Beta 4
• Now in Android: 86 — Google Play at I/O, Pixel Fold and Tablet, Google Developer Expert
• WorkManager — Android Basics 2023
• Blast Off: Managing Hundreds of UI Updates for an Emoji Cannon
• A Guide to Filament for Android
• Eliminating coroutine races
• No Mocks Allowed
• Learn rememberCoroutineScope — Mastering Side Effects
• Getting Started With SQLDelight in Android Development
• Boost your Android Developer Workflow with Chat-GPT!
• Demystifying Kotlin’s Channel Flows
• 10 Questions and Answers about ViewModels in Android
• Unlocking the Art: A Guide to Generating Code with Kotlin Symbol Processor
• Implementing in-app subscriptions and products using Jetpack Compose
• WhatsApp Home Screen Design in Jetpack Compose
• Cracking the Kotlin Interview
• Android Custom Tab Material Layout With Dynamic Padding
• Mastering Kotlin: The Ultimate Guide to Becoming a Productivity Ninja
• How we improved our Android apps performance by up to 24%
• Android unit testing at Zenjob
• How to create a chatbot with Firebase Firestore and ChatGPT on Android
• Android App Optimization: Strategies for Performance and Battery Efficiency
• Deep Dive Into Android OS Fundamentals
• My Takeaways From The Droidcon Berlin 2023
• InnerTune: плеер музыки для YouTube в Material 3
Кроссплатформа
• The State of Kotlin Multiplatform
• Использование Provider, Riverpod, Bloc(Cubit), Redux, MobX на одном простом примере
• Как собрать iOS-фреймворк из исходных файлов на Kotlin
• Kotlin Multiplatform in Production
• MVI Compose Multiplatform Contacts List App With Photos (iOS & Android)
• A New React Native Development Approach – Part 2: The “How?”
• Jetpack Compose Multiplatform Android & iOS
• Flutter for Web Development: Building Responsive and Feature-Rich Web Apps
• How the GetIt service locator package works in Dart
• How To Manage State In Your Flutter App With State Groups
• Redwood: мультиплатформенный реактивный UI для Android, iOS и веб
Разработка
• Как остановить бесконечный скроллинг, и нужно ли это делать
• Анализ приложений Threads
• Моя история: разработчик в 16
• Простыми словами о базовых принципах SRE
• Чем отличается тестирование на эмуляторах, фермах и физических устройствах
• Игры, в которые играют люди на собеседованиях
• Podlodka #324: холакратия — самоорганизующиеся команды
• 42% программистов не перерабатывают
• Evernote увольняет всех американских сотрудников и переезжает в Европу
• Как дизайнер запустил продукт и не нашел product market fit
• В Microsoft Office будет новый шрифт по умолчанию
• Super app evolution: Building a platform-based ecosystem for holistic user experience
• This Happens? You’re Too Old To Be a Programmer
• Developers Need To Enjoy The Struggle
• Invisible Details of Interaction Design
• The 8 Must-Have Productivity Apps for Programmers in 2023
• Confirmed: Code Coverage Is a Useless Management Metric
• Mastering Design Patterns: A Guide to Writing Cleaner Code
• 27 Must-Read Software Development Books for 2023
Аналитика, маркетинг и монетизация
• Раскрытие потенциала SKAN 4: оптимизация кампаний и подготовка к развитию в будущем
• Расходы на рекламу приложений достигнут $94.9 млрд в 2025
• Решаем шахматные задачи с Chess Puzzles Set: разбор приложения
• Верификация пользователей принесла Instagram более $15 млн
• Самые скачиваемые приложения в июне 2023
• Кейс «Хлебная Усадьба»: разработка собственного мобильного приложения для сетевой пекарни
• Новый опрос Developer Nation
• Локализация игр при помощи ChatGPT — недорого и качественно. Гайд
• Как создать популярную игру в Google Play
AI, Устройства, IoT
• Нейронные сети врываются в медицину
• Интеллектуальная панель Sunton 7″ на базе ESP32S3
• Stable Doodle от Stability AI превращает скетчи в изображения
• NotebookLM от Google добавляет ИИ к вашим записям
• Code Interpreter стал доступен всем подписчикам ChatGPT — «теперь каждый может стать аналитиком данных»
• CodeGen2: a new open-source model for coding
• GPT Prompt Engineer: промпт-инжиниринг в масштабе
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!
iOS
• Используем атрибут @backDeployed для расширения доступности функций
• Полезные iOS-инструменты для дебаггинга
• Что делать iOS-разработчикам в России?
• Модульное тестирование в iOS: всё, что надо знать. Часть 2 + Часть 1
• SwiftUI Repeatable Button
• SwiftUI 5: What’s New In ScrollView
• Build A To Do List App using SwiftData (Swift Data Tutorials)
• Becoming an “iOS-lite” developer
• Build a Live Activity Realtime Polls App with Firebase & APNS Push Token
• SwiftUI Data Flow with the new Observation
• SwiftUI Search Bar — How to work with searchable in your iOS and macOS apps
• SwiftData Suprises
• Advanced Animation in SwiftUI under iOS17
• How to use String Catalogs for pluralization in Swift
• RadialGradient in SwiftUI
• iOS: UI Testing Strategy and Tooling at Reddit
• Build A To Do List App using SwiftData
• Dependency Injection Demystified
• Creating a Circle Loader Animation in SwiftUI
• How to Use Material Nodes in Reality Composer Pro’s Shader Graph
• A few Xcode debugging tips
• Unidirectional flow in Swift
• Floating Action Button in SwiftUI
• Mastering SSL Pinning in Swift: No Third-Party Libraries Required
• Protocol Oriented Programming: Prioritizing Flexibility and Reusability
• Learn how to unleash the Power of Automatic Grammar Agreement in Swift
• Find unused code in Swift
• Implementing Dark Mode and using CGColor
• Backend Driven Development for iOS Developers
• SwiftUI 5: What’s New In ScrollView
• iOS Architecture Essentials: Choosing Between Closures and Protocols
• The Ultimate Guide to Building Scalable SwiftUI Apps: Master the Art of Modular Architecture
• Swift HTTP Types: работа с HTTP-запросами в Swift
• Queryable: ML-поиск фотографий на iOS
• ScrollViewLoader: бесконечный список для SwiftUI
Android
• Модуляризация мобильных приложений в масштабе
• Производительность мобильных приложений, ориентированная на пользователей
• Как я перестал волноваться и полюбил ошибки в Kotlin корутинах: Мифы обработки ошибок в корутинах
• Делаем эмулятор Android через Terminal: пошаговое руководство
• Как избежать хаоса: навигация как отдельный логический уровень
• От потоков к корутинам: как и почему видоизменились примитивы синхронизации в языке Kotlin (Часть 1)
• Храним краску с умом: как организовать ресурсы в многомодульном проекте
• Ручной DI на Котлине? Легко! Ну, почти…
• Google Play разрешает NFT
• Вышел Android 14 Beta 4
• Now in Android: 86 — Google Play at I/O, Pixel Fold and Tablet, Google Developer Expert
• WorkManager — Android Basics 2023
• Blast Off: Managing Hundreds of UI Updates for an Emoji Cannon
• A Guide to Filament for Android
• Eliminating coroutine races
• No Mocks Allowed
• Learn rememberCoroutineScope — Mastering Side Effects
• Getting Started With SQLDelight in Android Development
• Boost your Android Developer Workflow with Chat-GPT!
• Demystifying Kotlin’s Channel Flows
• 10 Questions and Answers about ViewModels in Android
• Unlocking the Art: A Guide to Generating Code with Kotlin Symbol Processor
• Implementing in-app subscriptions and products using Jetpack Compose
• WhatsApp Home Screen Design in Jetpack Compose
• Cracking the Kotlin Interview
• Android Custom Tab Material Layout With Dynamic Padding
• Mastering Kotlin: The Ultimate Guide to Becoming a Productivity Ninja
• How we improved our Android apps performance by up to 24%
• Android unit testing at Zenjob
• How to create a chatbot with Firebase Firestore and ChatGPT on Android
• Android App Optimization: Strategies for Performance and Battery Efficiency
• Deep Dive Into Android OS Fundamentals
• My Takeaways From The Droidcon Berlin 2023
• InnerTune: плеер музыки для YouTube в Material 3
Кроссплатформа
• The State of Kotlin Multiplatform
• Использование Provider, Riverpod, Bloc(Cubit), Redux, MobX на одном простом примере
• Как собрать iOS-фреймворк из исходных файлов на Kotlin
• Kotlin Multiplatform in Production
• MVI Compose Multiplatform Contacts List App With Photos (iOS & Android)
• A New React Native Development Approach – Part 2: The “How?”
• Jetpack Compose Multiplatform Android & iOS
• Flutter for Web Development: Building Responsive and Feature-Rich Web Apps
• How the GetIt service locator package works in Dart
• How To Manage State In Your Flutter App With State Groups
• Redwood: мультиплатформенный реактивный UI для Android, iOS и веб
Разработка
• Как остановить бесконечный скроллинг, и нужно ли это делать
• Анализ приложений Threads
• Моя история: разработчик в 16
• Простыми словами о базовых принципах SRE
• Чем отличается тестирование на эмуляторах, фермах и физических устройствах
• Игры, в которые играют люди на собеседованиях
• Podlodka #324: холакратия — самоорганизующиеся команды
• 42% программистов не перерабатывают
• Evernote увольняет всех американских сотрудников и переезжает в Европу
• Как дизайнер запустил продукт и не нашел product market fit
• В Microsoft Office будет новый шрифт по умолчанию
• Super app evolution: Building a platform-based ecosystem for holistic user experience
• This Happens? You’re Too Old To Be a Programmer
• Developers Need To Enjoy The Struggle
• Invisible Details of Interaction Design
• The 8 Must-Have Productivity Apps for Programmers in 2023
• Confirmed: Code Coverage Is a Useless Management Metric
• Mastering Design Patterns: A Guide to Writing Cleaner Code
• 27 Must-Read Software Development Books for 2023
Аналитика, маркетинг и монетизация
• Раскрытие потенциала SKAN 4: оптимизация кампаний и подготовка к развитию в будущем
• Расходы на рекламу приложений достигнут $94.9 млрд в 2025
• Решаем шахматные задачи с Chess Puzzles Set: разбор приложения
• Верификация пользователей принесла Instagram более $15 млн
• Самые скачиваемые приложения в июне 2023
• Кейс «Хлебная Усадьба»: разработка собственного мобильного приложения для сетевой пекарни
• Новый опрос Developer Nation
• Локализация игр при помощи ChatGPT — недорого и качественно. Гайд
• Как создать популярную игру в Google Play
AI, Устройства, IoT
• Нейронные сети врываются в медицину
• Интеллектуальная панель Sunton 7″ на базе ESP32S3
• Stable Doodle от Stability AI превращает скетчи в изображения
• NotebookLM от Google добавляет ИИ к вашим записям
• Code Interpreter стал доступен всем подписчикам ChatGPT — «теперь каждый может стать аналитиком данных»
• CodeGen2: a new open-source model for coding
• GPT Prompt Engineer: промпт-инжиниринг в масштабе
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.