В нашем новом дайджесте не страшный 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 для ИИ

Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.