Возвращаемся с нашим мобильными дайджестами! В первом в этом году про влияние AnyView на производительность, “вредоносность” 2ГИС, золотой век Kotlin и его неопределенное будущее, годовой отчет Data.ai и многое другое. Подключайтесь!
И подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Влияние AnyView на производительность SwiftUI
• Как делать браузер под iOS и управлять большой командой
• Разборы важных новинок для iOS-разработки с WWDC 2023
• ScrollView с прилипающим выделенным элементом на SwiftUI
• Топ-10 вопросов по iOS: cобеседование с разбором ответов и материалами
• Swift-уроки: PropertyWrappers — обертки свойств
• Вопросы с собеседований: Как устроено наследование в Swift
• Вышел Xcode с поддержкой Apple Vision Pro
• How we built a Swift macOS app that uses our Rust library
• AnyView’s impact on SwiftUI performance
• Can Swift Keep Its Compile-Safe Thread Management Promise?
• SwiftData Course
• Changing your iOS App Icon programmatically
• @Observable Macro performance increase over ObservableObject
• Swift Note: How to write code faster by using Xcode Snippet
• Using @Binding with @Environment(Object.self)
• Horizontal scrollable buttons (tabs) with Indicators
• Testable SwiftUI views using async/await
• A Girl and her @ViewBuilder
• Perception: A back-port of @Observable
• StoreKit testing in Swift
• SwiftUI Observation Framework: State Containers
• Using Identifiable in SwiftUI
• Solving SwiftUI Performance Issues with the Instruments App
• 5 Big Creators Every Aspiring Senior iOS Developer Must Follow 2024
• Scalable Continuous Integration for iOS
• Advanced Swift Actors: Re-entrancy & Interleaving
• How to use Published Properties inside a Protocol in SwiftUI?
• Detecting Sensitive Content in your own iOS app
• SwiftUI Custom File Extensions | Import & Export
• How to write Unit Tests for Code Performance in Xcode
• How To Use Context Menus In Xcode 15 (SwiftUI)
• Customized Animated Paywalls — RevenueCat
• Perception: бэкпорт @Observable на старые iOS
• SwiftEasyPop: алерты и тосты в SwiftUI
Android
• Как я попробовал написать авиасимулятор
• 2ГИС — опасное приложение?
• Рефакторинг аналитики в многомодульном Android приложение для ускорения сборки
• Вопросы с собеседований: Для чего нужны фрагменты, если есть активити
• Как мы создавали дизайн систему на Jetpack Compose
• Из 1С в Android-разработчики? Кодревью кода на Kotlin
• Google разрешит больше игр на реальные деньги в Play Store
• Google улучшает трансляции в Android
• Пример исследовательского реверс-инжиниринга приложения Zone Launcher
• Exploring use of Gemini Generative AI APIs in a Kotlin/Compose Multiplatform project
• Removing Ambiguity in Kotlin Function by Reference
• Free hand draw polygon in Google Maps Compose
• Mastering Android Dynamic Feature Module Delivery
• Mastering Lazy Lists in Jetpack Compose with Data Classes and MVI
• Building Real-Time Location Tracking in Android
• Reshaping the Network Layer: Transitioning from Retrofit to Ktor
• Android Development in 2023: A Year of Evolution
• Kotlin Tricky Output Questions
• Boosting Kotlin Performance: Essential Knowledge in 15 Best Practices
• Synchronous and Asynchronous runs: run, runCatching, runBlocking and runInterruptible in Kotlin
• Safely Navigating the Transition: From Gson to kotlinx.serialization
• Using C/C++ in Android: A Comprehensive Guide For Beginners
• Android, Bluetooth and BLE the modern way: a complete guide
• Android DevOps CI/CD Pipeline Architecture
• My Top 10 Clean Code Tips for Kotlin Mobile in 2024
• SPI in Android
• Supercharging Android Build Processes to Boost Developer Efficiency
• The FASTEST Local Search — Introduction to AppSearch on Android
• The #1 Thing Android Developers Ignore When Testing Their App
• Top 3 Secret Jetpack Compose Modifiers I Bet You Didn’t Know
• Digging into Android System Services
• What’s up with Android’s back?
• Compose Stacked Snackbar: мультиплатформенный Snackbar
• AnimatedBottomBarCompose: анимированный TabBar для Jetpack Compose
Кроссплатформа
• Погружение в мир адаптивной верстки с Flutter
• Об одном способе реализации архитектуры крупного Flutter-приложения
• Управляем навигацией во Flutter с помощью библиотеки auto_route: часть 2. Guards, Wrappers и миграция
• Что нового во Flutter 3.16, ч.1 + ч.2
• WebSocket Reconnection in Flutter
• Object Detection in React Native
• Implementing Clean Code Principles in Flutter Programming
• Flutter 3.18 | Top 8 Feature
• React Native Masters: Best Practices for React Native Applications
• Visual Studio Code Settings for Flutter Project
Разработка
• Золотой век Kotlin и его неопределенное будущее
• Разработка Карт и первый коммит с KMM в Яндексе
• Гайд по Scratch для детей: как запустить игру на Android
• Качество программного обеспечения
• Copilot стал подбирать выразительные имена для переменных
• C# стал языком года в Индексе TIOBE
• Рынок работы для разработчиков ухудшается
• Принципы функционального программирования — Обучающий курс Университета Карнеги-Меллона
• Unity сокращает 25% своего персонала
• Design better pagination
• UI/UX Design Trends For 2024
• How Uber Finds Nearby Drivers at 1 Million Requests per Second
• The biggest mistake you’re probably making for your FAANG/MAANG Interview prep
• How to use stacked PRs to unblock your entire team
• Product Management is broken, a change is coming
• I’m a different engineer than I was 3 years ago
• Google Pay Home Page Redesigning
• Glaring UX Mistakes on Real Apps
Аналитика, маркетинг и монетизация
• State of Mobile 2024 — годовой отчет Data.ai
• Темные паттерны в UX: как приложения нами манипулируют
• Продвижение приложения в VK Рекламе и in-app: как снизить CPI и CPA в 2 раза — кейс «Ситидрайв» и Rocket10
• Язык успеха — Duolingo
• Push Notifications — What to Push, What Not to Push, and How Often
AI, Устройства, IoT
• Кто знает, что значит GPT в названии ChatGPT, могут дальше не читать
• Как я победил хаос умных устройств, или Цифровая трансформация жилого пространства
• Энергетика Будущего: Как искусственный интеллект помог разработать батарею с 70%-ной экономией лития
• Zoe Care показала умную розетку, обнаруживающую падения людей при помощи Wi-Fi
• Google реорганизует свое «железное» подразделение
• PhotoRoom, ИИ-приложение для обработки фотографий, привлекает еще $60 млн
• Quora получила $75 млн на развитие ИИ-платформы Poe
• OpenAI запускает GPT Store
• Лучшие компьютерные мыши 2024
• Data Analyst Bootcamp for Beginners (SQL, Tableau, Power BI, Python, Excel, Pandas, Projects, more)
• Jan: открытый офлайн аналог ChatGPT
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
И подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Влияние AnyView на производительность SwiftUI
• Как делать браузер под iOS и управлять большой командой
• Разборы важных новинок для iOS-разработки с WWDC 2023
• ScrollView с прилипающим выделенным элементом на SwiftUI
• Топ-10 вопросов по iOS: cобеседование с разбором ответов и материалами
• Swift-уроки: PropertyWrappers — обертки свойств
• Вопросы с собеседований: Как устроено наследование в Swift
• Вышел Xcode с поддержкой Apple Vision Pro
• How we built a Swift macOS app that uses our Rust library
• AnyView’s impact on SwiftUI performance
• Can Swift Keep Its Compile-Safe Thread Management Promise?
• SwiftData Course
• Changing your iOS App Icon programmatically
• @Observable Macro performance increase over ObservableObject
• Swift Note: How to write code faster by using Xcode Snippet
• Using @Binding with @Environment(Object.self)
• Horizontal scrollable buttons (tabs) with Indicators
• Testable SwiftUI views using async/await
• A Girl and her @ViewBuilder
• Perception: A back-port of @Observable
• StoreKit testing in Swift
• SwiftUI Observation Framework: State Containers
• Using Identifiable in SwiftUI
• Solving SwiftUI Performance Issues with the Instruments App
• 5 Big Creators Every Aspiring Senior iOS Developer Must Follow 2024
• Scalable Continuous Integration for iOS
• Advanced Swift Actors: Re-entrancy & Interleaving
• How to use Published Properties inside a Protocol in SwiftUI?
• Detecting Sensitive Content in your own iOS app
• SwiftUI Custom File Extensions | Import & Export
• How to write Unit Tests for Code Performance in Xcode
• How To Use Context Menus In Xcode 15 (SwiftUI)
• Customized Animated Paywalls — RevenueCat
• Perception: бэкпорт @Observable на старые iOS
• SwiftEasyPop: алерты и тосты в SwiftUI
Android
• Как я попробовал написать авиасимулятор
• 2ГИС — опасное приложение?
• Рефакторинг аналитики в многомодульном Android приложение для ускорения сборки
• Вопросы с собеседований: Для чего нужны фрагменты, если есть активити
• Как мы создавали дизайн систему на Jetpack Compose
• Из 1С в Android-разработчики? Кодревью кода на Kotlin
• Google разрешит больше игр на реальные деньги в Play Store
• Google улучшает трансляции в Android
• Пример исследовательского реверс-инжиниринга приложения Zone Launcher
• Exploring use of Gemini Generative AI APIs in a Kotlin/Compose Multiplatform project
• Removing Ambiguity in Kotlin Function by Reference
• Free hand draw polygon in Google Maps Compose
• Mastering Android Dynamic Feature Module Delivery
• Mastering Lazy Lists in Jetpack Compose with Data Classes and MVI
• Building Real-Time Location Tracking in Android
• Reshaping the Network Layer: Transitioning from Retrofit to Ktor
• Android Development in 2023: A Year of Evolution
• Kotlin Tricky Output Questions
• Boosting Kotlin Performance: Essential Knowledge in 15 Best Practices
• Synchronous and Asynchronous runs: run, runCatching, runBlocking and runInterruptible in Kotlin
• Safely Navigating the Transition: From Gson to kotlinx.serialization
• Using C/C++ in Android: A Comprehensive Guide For Beginners
• Android, Bluetooth and BLE the modern way: a complete guide
• Android DevOps CI/CD Pipeline Architecture
• My Top 10 Clean Code Tips for Kotlin Mobile in 2024
• SPI in Android
• Supercharging Android Build Processes to Boost Developer Efficiency
• The FASTEST Local Search — Introduction to AppSearch on Android
• The #1 Thing Android Developers Ignore When Testing Their App
• Top 3 Secret Jetpack Compose Modifiers I Bet You Didn’t Know
• Digging into Android System Services
• What’s up with Android’s back?
• Compose Stacked Snackbar: мультиплатформенный Snackbar
• AnimatedBottomBarCompose: анимированный TabBar для Jetpack Compose
Кроссплатформа
• Погружение в мир адаптивной верстки с Flutter
• Об одном способе реализации архитектуры крупного Flutter-приложения
• Управляем навигацией во Flutter с помощью библиотеки auto_route: часть 2. Guards, Wrappers и миграция
• Что нового во Flutter 3.16, ч.1 + ч.2
• WebSocket Reconnection in Flutter
• Object Detection in React Native
• Implementing Clean Code Principles in Flutter Programming
• Flutter 3.18 | Top 8 Feature
• React Native Masters: Best Practices for React Native Applications
• Visual Studio Code Settings for Flutter Project
Разработка
• Золотой век Kotlin и его неопределенное будущее
• Разработка Карт и первый коммит с KMM в Яндексе
• Гайд по Scratch для детей: как запустить игру на Android
• Качество программного обеспечения
• Copilot стал подбирать выразительные имена для переменных
• C# стал языком года в Индексе TIOBE
• Рынок работы для разработчиков ухудшается
• Принципы функционального программирования — Обучающий курс Университета Карнеги-Меллона
• Unity сокращает 25% своего персонала
• Design better pagination
• UI/UX Design Trends For 2024
• How Uber Finds Nearby Drivers at 1 Million Requests per Second
• The biggest mistake you’re probably making for your FAANG/MAANG Interview prep
• How to use stacked PRs to unblock your entire team
• Product Management is broken, a change is coming
• I’m a different engineer than I was 3 years ago
• Google Pay Home Page Redesigning
• Glaring UX Mistakes on Real Apps
Аналитика, маркетинг и монетизация
• State of Mobile 2024 — годовой отчет Data.ai
• Темные паттерны в UX: как приложения нами манипулируют
• Продвижение приложения в VK Рекламе и in-app: как снизить CPI и CPA в 2 раза — кейс «Ситидрайв» и Rocket10
• Язык успеха — Duolingo
• Push Notifications — What to Push, What Not to Push, and How Often
AI, Устройства, IoT
• Кто знает, что значит GPT в названии ChatGPT, могут дальше не читать
• Как я победил хаос умных устройств, или Цифровая трансформация жилого пространства
• Энергетика Будущего: Как искусственный интеллект помог разработать батарею с 70%-ной экономией лития
• Zoe Care показала умную розетку, обнаруживающую падения людей при помощи Wi-Fi
• Google реорганизует свое «железное» подразделение
• PhotoRoom, ИИ-приложение для обработки фотографий, привлекает еще $60 млн
• Quora получила $75 млн на развитие ИИ-платформы Poe
• OpenAI запускает GPT Store
• Лучшие компьютерные мыши 2024
• Data Analyst Bootcamp for Beginners (SQL, Tableau, Power BI, Python, Excel, Pandas, Projects, more)
• Jan: открытый офлайн аналог ChatGPT
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.