В новом выпуске повышение скорости работы циклов и развлечения на выходные, разработка для самых маленьких и идеальные собеседования, фальшивая аура заботы, здоровое трение, рост мобильной экономики и многое другое!
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!
Хотим в очередной раз пригласить вас в опрос Developer Nation. Расскажите, что вам нравится или не нравится в популярных инструментах и платформах. Опрос охватывает 13 направлений: мобильные, десктопные, облачные и веб-приложения, промышленный Интернет вещей, игры, машинное обучение, искусственный интеллект и т.п. Опрос доступен на 10 языках, в том числе и на русском. Можно начать и сохранить для продолжения. Можно выиграть призы. Главное — внести свой вклад в развитие сообщества разработчиков.
iOS
• Как повысить скорость работы цикла в Swift на 87%
• Share extension как общий компонент
• Однонаправленный поток в Swift
• Логи Xcode — читаем самостоятельно?
• MVP with Router
• Как работает Code Signing в iOS
• Apple тестирует cвой чат-бот в стиле ChatGPT
• Руководитель Flutter переходит в Apple
• Apple отложит изменения в App Store для подачи жалобы в Верховный суд
• Where are Xcode bookmarks stored?
• Mastering ScrollView in SwiftUI. Transitions
• Designing a Weather app for visionOS
• Unleash Your Creativity: Building Your Own Music App with SwiftUI for VisionPro
• Stop repeating DispatchQueue.main.async
• How to Create Callback-like Behavior Using AsyncStream in Swift
• OSLog and Unified logging as recommended by Apple
• Effective Swift Package Manager caching with Fastlane and Github Actions
• Mastering MVVM
• 10 quick tips to increase your iOS code quality
• I screwed up one key accessibility behavior, and now I’m on a mission to do better
• iOS Development with Factory
• Fun with flags in Swift
• I moved my project from Cocoapods to SPM… Why?
• Custom Selector in SwiftUI with Animations
• Push Notifications Options in SwiftUI
• Mastering charts in SwiftUI. Selection.
• Thread’s iOS Interface in SwiftUI
• Creating tuples dynamically and refactoring Generics with Swift’s Parameter Packs
• SwiftUI Drag and Drop with Transferable Custom Object
• CocoaHeadsNL Meetup
• Kanban Drag & Drop — Moving Items between Section/List
• Easily Preload SwiftData Using JSON On Your App’s First Launch
• Prevent Screenshot — SwiftUI
• SwiftyMarvel: лучшие практики iOS-разработки
• Swift Markdown: парсинг, создание, редактирование и анализ Markdown
Android
• Как мы запускали демоприложения
• Развлечение на выходные: собираем Android для Raspberry Pi из исходного кода
• Работа с асинхронными операциями с помощью Kotlin Coroutines
• Android-разработка для самых маленьких
• Убираем дублирование конфигурации Gradle и при чём здесь косы и горы
• Авторизация по биометрии — Kotlin
• Обзор библиотек для скриншот-тестирования Android проектов. Часть 2 + Часть 1
• Упрощаем и укрощаем UI для Android с помощью аннотаций
• Kotlin Anti-Patterns – Also this is Null
• Improving Android Accessibility with Modifiers in Jetpack Compose
• Android app performance: optimize startup time with «above the fold» technique
• Tracking Android App Launch in production
• Oof – look, that’s a legacy codebase!
• Kotlin Enums — Replace values() with entries
• Helper Utility for Jetpack Compose’s Pointer Input Scope
• The Hottest Jetpack Compose Projects And Libraries on GitHub in 2023
• Lottie Android 6.1 -Lottie goes multithreaded
• Eliminating Common Pitfalls in Clean Architecture Implementation for Android
• Customising Android app UI with themes
• Unlocking the Power of Mappers in Android
• 5 Kotlin Tips for a Cleaner Codebase
• Preventing Font Scaling in Jetpack Compose
• How and when to use Sealed classes in Kotlin and Android
• Build Android apk from command line without Gradle
• Slaying the monolith: API/Implementation modularisation pattern in Android development
• Droidcon San Francisco 23 Videos
• Compose performance – Android Developers Backstage
• Beginning your Android development journey in Unity
• Content Providers — Android Basics 2023
• Uris (Unique Resource Identifier) — Android Basics 2023
• Learn Kotlin Flow: изучаем Kotlin Flow на реальных примерах
• Android Developer Roadmap 2022: обучение Android-разработке
• Wavy Slider: волнистый слайдер
Кроссплатформа
• Прокрутка во Flutter: меняем законы физики
• Как мы WASM в PWA на Flutter прикручивали
• Best Architecture In Kotlin Multiplatform
• Multiplatform image loading: Coil 3.0
• Implementing Deep Links in Flutter: A Comprehensive Guide to Enhance Mobile User Experience
• How to Parse JSON in Dart/Flutter: The Ultimate Guide
• Server-Driven UI Implementation from Scratch in Flutter
• Build the Apple Stocks App Using Flutter
• Web and desktop support for file upload and download in Flutter
• Parsing JSON in Flutter
• Custom Fonts in Android and iOS Applications using Kotlin Multiplatform and Jetpack Compose
Разработка
• Идеальное собеседование. Мой опыт тимлида, как нанимать с помощью бизнес-кейсов
• Фальшивая аура заботы в UX
• Здоровое трение в UX: создание слайдера оплаты
• Волшебный шкаф тестировщика: как мы победили человеческий фактор в учёте девайсов
• Архитектура сложных клиентских приложений
• Особенности разработки автотестов различными инструментами, а также статистика по использованию
• Носим автотесты на руках
• Спрос на разработчиков игр в России упал почти на 40%
• Podlodka #327: Event-Driven архитектура
• Qodana вышла из предварительной версии
• Аутсорсеры в Индии потеряют работу в ближайшие год-два
• Бесплатный курс «LangChain и векторные базы данных в продакшене»
• Stick to boring architecture for as long as possible
• How Canva saves millions annually in Amazon S3 costs
• Finding a buddy when you’re a team of one
• What The New Firebase AI Extensions Can Do For Your Apps
• How to Write a Great README
• You can’t stop the business, or why rewrites fail
Аналитика, маркетинг и монетизация
• Мобайл вернулся к росту — траты пользователей в 1 полугодии 2023 поставили новый рекорд
• Прогноз развития мобильного рынка 2027 от Sensor Tower
• В Teams появился цифровой макияж Maybelline
• DSP: инструкция по применению. Использование неатрибуцированных данных для улучшения предиктивных алгоритмов. Часть #1
• Как работает мозг пользователя и формируется привязанность
• Google выпустил новую AR-игру Space Invaders
• Threads, альтернатива Slack, получил около 1 млн загрузок после запуска Threads
• На волне успеха в TikTok приложение Remini увеличило доходы в 5 раз
• Клуб миллионеров в App Store — 0.5% приложений получают более 1 млн загрузок
• Bumble, Hinge, Tinder, and Match — which dating app has the best marketing? A study.
AI, Устройства, IoT
• Визуализация реальных масштабов проклятия размерности
• Как мы кибериммуннизировали IoT-контроллер
• GitHub запустил Copilot Chat
• The Dawn of a New Era: ChatGPT’s Code Interpreter
• List of Open Source Alternatives to ChatGPT That Can Be Used to Build Your Own Clone
• What we don’t talk about when we talk about building AI apps
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
В нашем Telegram-канале Mobile Insights, еще больше материалов для мобильных разработчиков, а в IT Insights — об интересном коде и технологиях. Подключайтесь!
Хотим в очередной раз пригласить вас в опрос Developer Nation. Расскажите, что вам нравится или не нравится в популярных инструментах и платформах. Опрос охватывает 13 направлений: мобильные, десктопные, облачные и веб-приложения, промышленный Интернет вещей, игры, машинное обучение, искусственный интеллект и т.п. Опрос доступен на 10 языках, в том числе и на русском. Можно начать и сохранить для продолжения. Можно выиграть призы. Главное — внести свой вклад в развитие сообщества разработчиков.
iOS
• Как повысить скорость работы цикла в Swift на 87%
• Share extension как общий компонент
• Однонаправленный поток в Swift
• Логи Xcode — читаем самостоятельно?
• MVP with Router
• Как работает Code Signing в iOS
• Apple тестирует cвой чат-бот в стиле ChatGPT
• Руководитель Flutter переходит в Apple
• Apple отложит изменения в App Store для подачи жалобы в Верховный суд
• Where are Xcode bookmarks stored?
• Mastering ScrollView in SwiftUI. Transitions
• Designing a Weather app for visionOS
• Unleash Your Creativity: Building Your Own Music App with SwiftUI for VisionPro
• Stop repeating DispatchQueue.main.async
• How to Create Callback-like Behavior Using AsyncStream in Swift
• OSLog and Unified logging as recommended by Apple
• Effective Swift Package Manager caching with Fastlane and Github Actions
• Mastering MVVM
• 10 quick tips to increase your iOS code quality
• I screwed up one key accessibility behavior, and now I’m on a mission to do better
• iOS Development with Factory
• Fun with flags in Swift
• I moved my project from Cocoapods to SPM… Why?
• Custom Selector in SwiftUI with Animations
• Push Notifications Options in SwiftUI
• Mastering charts in SwiftUI. Selection.
• Thread’s iOS Interface in SwiftUI
• Creating tuples dynamically and refactoring Generics with Swift’s Parameter Packs
• SwiftUI Drag and Drop with Transferable Custom Object
• CocoaHeadsNL Meetup
• Kanban Drag & Drop — Moving Items between Section/List
• Easily Preload SwiftData Using JSON On Your App’s First Launch
• Prevent Screenshot — SwiftUI
• SwiftyMarvel: лучшие практики iOS-разработки
• Swift Markdown: парсинг, создание, редактирование и анализ Markdown
Android
• Как мы запускали демоприложения
• Развлечение на выходные: собираем Android для Raspberry Pi из исходного кода
• Работа с асинхронными операциями с помощью Kotlin Coroutines
• Android-разработка для самых маленьких
• Убираем дублирование конфигурации Gradle и при чём здесь косы и горы
• Авторизация по биометрии — Kotlin
• Обзор библиотек для скриншот-тестирования Android проектов. Часть 2 + Часть 1
• Упрощаем и укрощаем UI для Android с помощью аннотаций
• Kotlin Anti-Patterns – Also this is Null
• Improving Android Accessibility with Modifiers in Jetpack Compose
• Android app performance: optimize startup time with «above the fold» technique
• Tracking Android App Launch in production
• Oof – look, that’s a legacy codebase!
• Kotlin Enums — Replace values() with entries
• Helper Utility for Jetpack Compose’s Pointer Input Scope
• The Hottest Jetpack Compose Projects And Libraries on GitHub in 2023
• Lottie Android 6.1 -Lottie goes multithreaded
• Eliminating Common Pitfalls in Clean Architecture Implementation for Android
• Customising Android app UI with themes
• Unlocking the Power of Mappers in Android
• 5 Kotlin Tips for a Cleaner Codebase
• Preventing Font Scaling in Jetpack Compose
• How and when to use Sealed classes in Kotlin and Android
• Build Android apk from command line without Gradle
• Slaying the monolith: API/Implementation modularisation pattern in Android development
• Droidcon San Francisco 23 Videos
• Compose performance – Android Developers Backstage
• Beginning your Android development journey in Unity
• Content Providers — Android Basics 2023
• Uris (Unique Resource Identifier) — Android Basics 2023
• Learn Kotlin Flow: изучаем Kotlin Flow на реальных примерах
• Android Developer Roadmap 2022: обучение Android-разработке
• Wavy Slider: волнистый слайдер
Кроссплатформа
• Прокрутка во Flutter: меняем законы физики
• Как мы WASM в PWA на Flutter прикручивали
• Best Architecture In Kotlin Multiplatform
• Multiplatform image loading: Coil 3.0
• Implementing Deep Links in Flutter: A Comprehensive Guide to Enhance Mobile User Experience
• How to Parse JSON in Dart/Flutter: The Ultimate Guide
• Server-Driven UI Implementation from Scratch in Flutter
• Build the Apple Stocks App Using Flutter
• Web and desktop support for file upload and download in Flutter
• Parsing JSON in Flutter
• Custom Fonts in Android and iOS Applications using Kotlin Multiplatform and Jetpack Compose
Разработка
• Идеальное собеседование. Мой опыт тимлида, как нанимать с помощью бизнес-кейсов
• Фальшивая аура заботы в UX
• Здоровое трение в UX: создание слайдера оплаты
• Волшебный шкаф тестировщика: как мы победили человеческий фактор в учёте девайсов
• Архитектура сложных клиентских приложений
• Особенности разработки автотестов различными инструментами, а также статистика по использованию
• Носим автотесты на руках
• Спрос на разработчиков игр в России упал почти на 40%
• Podlodka #327: Event-Driven архитектура
• Qodana вышла из предварительной версии
• Аутсорсеры в Индии потеряют работу в ближайшие год-два
• Бесплатный курс «LangChain и векторные базы данных в продакшене»
• Stick to boring architecture for as long as possible
• How Canva saves millions annually in Amazon S3 costs
• Finding a buddy when you’re a team of one
• What The New Firebase AI Extensions Can Do For Your Apps
• How to Write a Great README
• You can’t stop the business, or why rewrites fail
Аналитика, маркетинг и монетизация
• Мобайл вернулся к росту — траты пользователей в 1 полугодии 2023 поставили новый рекорд
• Прогноз развития мобильного рынка 2027 от Sensor Tower
• В Teams появился цифровой макияж Maybelline
• DSP: инструкция по применению. Использование неатрибуцированных данных для улучшения предиктивных алгоритмов. Часть #1
• Как работает мозг пользователя и формируется привязанность
• Google выпустил новую AR-игру Space Invaders
• Threads, альтернатива Slack, получил около 1 млн загрузок после запуска Threads
• На волне успеха в TikTok приложение Remini увеличило доходы в 5 раз
• Клуб миллионеров в App Store — 0.5% приложений получают более 1 млн загрузок
• Bumble, Hinge, Tinder, and Match — which dating app has the best marketing? A study.
AI, Устройства, IoT
• Визуализация реальных масштабов проклятия размерности
• Как мы кибериммуннизировали IoT-контроллер
• GitHub запустил Copilot Chat
• The Dawn of a New Era: ChatGPT’s Code Interpreter
• List of Open Source Alternatives to ChatGPT That Can Be Used to Build Your Own Clone
• What we don’t talk about when we talk about building AI apps
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.