В нашем новом дайджесте не страшный Accelerate и MVVM без M, жизнь после отвала eMMC и инъекции зависимостей в Compose, история успеха Flutter, проблемы маленьких приложений, 900 самых популярных инструментов ИИ на базе open source и многое другое. Подключайтесь!
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Убираем M из MVVM в SwiftUI
• Почему Accelerate — это не страшно
• Продление подписки Apple Developer from Russia в апреле 2024 без иностранной карты и сэкономить пару тройку тысяч рублей
• Зачем мне Kotlin в iOS-разработке? Я только Swift выучил!
• Как дизайнить доступность для скринридера
• Анимация чисел в SwiftUI с помощью contentTransition
• Поваренная книга SwiftUI: создание текстовых полей в SwiftUI
• Apple Vision Pro не пользуется популярностью у разработчиков
• Правила App Store разрешили эмуляторы и внешние ссылки для стриминга
• Get Started with Embedded Swift on ARM and RISC-V Microcontrollers
• Quick and Painless Persistency on iOS
• In Search of a Smooth Scroll
• App Store Subscriptions and Family Sharing
• Trigger value pattern in SwiftUI
• Apply pinch to zoom to any view in SwiftUI
• Passing One SwiftUI View as a Parameter to Another SwiftUI View
• Display empty states with ContentUnavailableView in SwiftUI
• Level Up Your Career by Adding UI Tests to Your SwiftUI App
• Why StateObject’s need to be marked as private in SwiftUI?
• I made an old-style keyboard in Swift
• The Best Example of Leveraging iOS Widget Potential: Duolingo
• Deep linking for local notifications in SwiftUI
• CocoaHeadsNL Meetup
• Creating The DVD Screensaver In SwiftUI
• Flip Book Effect — SwiftUI
• Animating Swift Charts
• OpenSwiftUI — открытая реализация SwiftUI
• SwiftUI Environment Overrides — QA-ассистент для SwiftUI
Android
• Как я написал клиент электронного дневника своей области
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 2
• Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD
• Инъекция зависимостей в Compose
• Введение в Trio: часть 2
• Разворачиваем ML модель с использованием ONNX на Android в километре над землей
• Как я курсовую писал на gRPC+REST в связке с клиентом на Android+Jetpack Compose
• Создание собственного ключа Android приложения
• HomeAssistant на Android
• Разработка новостного приложения. Часть 5. Подготовка к публикации в Google Play
• Экзоскелет для ExoPlayer
• Вышла первая бета-версия Android 15
• Studio Bot превращается Gemini in Android Studio
• Google запускает новую сеть Find My Device в США и Канаде
• Technical Debt Undermines Android Application Development
• Navigating the Waters of Kotlin Multiplatform: Exploring Navigation Solutions
• Improving dependency sync speeds for your Gradle project
• OCR with Gemini LLM on Android
• How to Implement Biometric Authentication with Jetpack Compose and AES Encryption
• Android Architecture & Design Interview Questions & Answers
• Enable users to share your app’s deep links using navigation-recents-url-sharing
• Publishing Android, Java or Kotlin Libraries with AWS CodeArtifact
• Spotify-Inspired Audio Buffering Slider Animation with Jetpack Compose
• How Kotlin Annotations Work — Part 2: Moshi Case Study
• What’s new in Kotlin 2.0.0-RC1
• Kotlin — Sealed classes vs Sealed interface
• Modern Android App Template with Jetpack Compose
• Foundational Tools in Android
• Implementing Critical Alerts on Android
• Mastering SOLID Principles in Android App Development for Maintainable Code
• Implement Pinch-to-Zoom for your Image Grids by Jetpack Compose
• Does Native Android Development Have a Future?
• Sealed Classes for UI State are an ANTI-PATTERN
• Building a Speedometer widget using Jetpack Compose Canvas API
• Building Quality Android Apps for the Future with Continuous Integration
• EinkBro — маленький быстрый браузер для Eink
• Tap Target Compose — показ новых фич в Compose
Кроссплатформа
• И полгода не прошло: релиз Qt 6.7 и Qt Creator 13. Что нового и что изменилось?
• Flutter: история успеха
• Реализация pin code во Flutter приложении
• Как мы сделали ставку на KMP
• How to implement your design system in a Flutter app
• The Dart Speed
• Shorebird 1.0 – Update your Flutter apps instantly
• The journey of writing a new package
• React Native App performance is a myth?
• Clean Architecture and state management in Flutter: a simple and effective approach
Разработка
• Может ли мобильный-разработчик стать CTO?
• Разработка на основе заголовков
• Huawei продвигает собственную ОС и планирует дистанцироваться от Android, Windows и других операционных систем
• Как дизайнеру и любителю технологий жить после Apple Vision Pro
• Мобильный UX/UI дизайн: 10 лайфхаков для создания безупречных мобильных приложений
• Проблемы маленьких приложений при увеличении нагрузки по данным
• Как выжать все соки из Jenkins
• Убиваем Lottie? Тащим Rive?
• Вся правда про удаленку
• Зачем нужен Zig, и чем он отличается от других языков
• Hello World: A deep dive into the world of abstraction behind a modern Hello World program
• Fear makes you a worse programmer
• Improving Code Reviews with Storytelling
• Are You Doing Product Management or Bullshit Management?
• Chronon, Airbnb’s ML Feature Platform, Is Now Open Source
• Bottom Tab Bar Navigation Design Best Practices
• PumpkinOS — открытая реализация PalmOS
Аналитика, маркетинг и монетизация
• Приложение для наблюдения за затмением вышло в чарты App Store и Google Play
• Психология в UX/UI дизайне: 10 принципов, повышающих вовлеченность и удержание
• Vids — новый инструмент для продуктивной работы от Google
• Вышел 2024 App Marketing Trends Report
• Много лиц и одна проблема: каким бывает мошенничество в рекламе и чем отличаются боты от реальных людей в 2024 году
• Navigating SKAdNetwork: Build Your Game’s Conversion Schema in 4 Easy Steps
AI, Устройства, IoT
• Я изучила 900 самых популярных инструментов ИИ на базе open source — и вот что обнаружила
• Открываем YandexART API и рассказываем, как мы учили нейросеть создавать картинки, которые понравятся людям
• Умная квартира начальника: хотел всё на Z-Wave и Алисе, но решил сэкономить
• Распознавание лиц на микрокомпьютерах
• Исследователи Apple разработали LLM, которая понимает интерфейс приложений
• Google представил собственный процессор Axion для ИИ
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Убираем M из MVVM в SwiftUI
• Почему Accelerate — это не страшно
• Продление подписки Apple Developer from Russia в апреле 2024 без иностранной карты и сэкономить пару тройку тысяч рублей
• Зачем мне Kotlin в iOS-разработке? Я только Swift выучил!
• Как дизайнить доступность для скринридера
• Анимация чисел в SwiftUI с помощью contentTransition
• Поваренная книга SwiftUI: создание текстовых полей в SwiftUI
• Apple Vision Pro не пользуется популярностью у разработчиков
• Правила App Store разрешили эмуляторы и внешние ссылки для стриминга
• Get Started with Embedded Swift on ARM and RISC-V Microcontrollers
• Quick and Painless Persistency on iOS
• In Search of a Smooth Scroll
• App Store Subscriptions and Family Sharing
• Trigger value pattern in SwiftUI
• Apply pinch to zoom to any view in SwiftUI
• Passing One SwiftUI View as a Parameter to Another SwiftUI View
• Display empty states with ContentUnavailableView in SwiftUI
• Level Up Your Career by Adding UI Tests to Your SwiftUI App
• Why StateObject’s need to be marked as private in SwiftUI?
• I made an old-style keyboard in Swift
• The Best Example of Leveraging iOS Widget Potential: Duolingo
• Deep linking for local notifications in SwiftUI
• CocoaHeadsNL Meetup
• Creating The DVD Screensaver In SwiftUI
• Flip Book Effect — SwiftUI
• Animating Swift Charts
• OpenSwiftUI — открытая реализация SwiftUI
• SwiftUI Environment Overrides — QA-ассистент для SwiftUI
Android
• Как я написал клиент электронного дневника своей области
• Осваиваем ViewModel в Android: «можно» и «нельзя» — Часть 2
• Жизнь после отвала eMMC. Часть 2: даём новую жизнь устройствам с полностью мёртвой памятью. Загружаем Android с MicroSD
• Инъекция зависимостей в Compose
• Введение в Trio: часть 2
• Разворачиваем ML модель с использованием ONNX на Android в километре над землей
• Как я курсовую писал на gRPC+REST в связке с клиентом на Android+Jetpack Compose
• Создание собственного ключа Android приложения
• HomeAssistant на Android
• Разработка новостного приложения. Часть 5. Подготовка к публикации в Google Play
• Экзоскелет для ExoPlayer
• Вышла первая бета-версия Android 15
• Studio Bot превращается Gemini in Android Studio
• Google запускает новую сеть Find My Device в США и Канаде
• Technical Debt Undermines Android Application Development
• Navigating the Waters of Kotlin Multiplatform: Exploring Navigation Solutions
• Improving dependency sync speeds for your Gradle project
• OCR with Gemini LLM on Android
• How to Implement Biometric Authentication with Jetpack Compose and AES Encryption
• Android Architecture & Design Interview Questions & Answers
• Enable users to share your app’s deep links using navigation-recents-url-sharing
• Publishing Android, Java or Kotlin Libraries with AWS CodeArtifact
• Spotify-Inspired Audio Buffering Slider Animation with Jetpack Compose
• How Kotlin Annotations Work — Part 2: Moshi Case Study
• What’s new in Kotlin 2.0.0-RC1
• Kotlin — Sealed classes vs Sealed interface
• Modern Android App Template with Jetpack Compose
• Foundational Tools in Android
• Implementing Critical Alerts on Android
• Mastering SOLID Principles in Android App Development for Maintainable Code
• Implement Pinch-to-Zoom for your Image Grids by Jetpack Compose
• Does Native Android Development Have a Future?
• Sealed Classes for UI State are an ANTI-PATTERN
• Building a Speedometer widget using Jetpack Compose Canvas API
• Building Quality Android Apps for the Future with Continuous Integration
• EinkBro — маленький быстрый браузер для Eink
• Tap Target Compose — показ новых фич в Compose
Кроссплатформа
• И полгода не прошло: релиз Qt 6.7 и Qt Creator 13. Что нового и что изменилось?
• Flutter: история успеха
• Реализация pin code во Flutter приложении
• Как мы сделали ставку на KMP
• How to implement your design system in a Flutter app
• The Dart Speed
• Shorebird 1.0 – Update your Flutter apps instantly
• The journey of writing a new package
• React Native App performance is a myth?
• Clean Architecture and state management in Flutter: a simple and effective approach
Разработка
• Может ли мобильный-разработчик стать CTO?
• Разработка на основе заголовков
• Huawei продвигает собственную ОС и планирует дистанцироваться от Android, Windows и других операционных систем
• Как дизайнеру и любителю технологий жить после Apple Vision Pro
• Мобильный UX/UI дизайн: 10 лайфхаков для создания безупречных мобильных приложений
• Проблемы маленьких приложений при увеличении нагрузки по данным
• Как выжать все соки из Jenkins
• Убиваем Lottie? Тащим Rive?
• Вся правда про удаленку
• Зачем нужен Zig, и чем он отличается от других языков
• Hello World: A deep dive into the world of abstraction behind a modern Hello World program
• Fear makes you a worse programmer
• Improving Code Reviews with Storytelling
• Are You Doing Product Management or Bullshit Management?
• Chronon, Airbnb’s ML Feature Platform, Is Now Open Source
• Bottom Tab Bar Navigation Design Best Practices
• PumpkinOS — открытая реализация PalmOS
Аналитика, маркетинг и монетизация
• Приложение для наблюдения за затмением вышло в чарты App Store и Google Play
• Психология в UX/UI дизайне: 10 принципов, повышающих вовлеченность и удержание
• Vids — новый инструмент для продуктивной работы от Google
• Вышел 2024 App Marketing Trends Report
• Много лиц и одна проблема: каким бывает мошенничество в рекламе и чем отличаются боты от реальных людей в 2024 году
• Navigating SKAdNetwork: Build Your Game’s Conversion Schema in 4 Easy Steps
AI, Устройства, IoT
• Я изучила 900 самых популярных инструментов ИИ на базе open source — и вот что обнаружила
• Открываем YandexART API и рассказываем, как мы учили нейросеть создавать картинки, которые понравятся людям
• Умная квартира начальника: хотел всё на Z-Wave и Алисе, но решил сэкономить
• Распознавание лиц на микрокомпьютерах
• Исследователи Apple разработали LLM, которая понимает интерфейс приложений
• Google представил собственный процессор Axion для ИИ
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.