В новом выпуске возврат от SwiftUI к UIKit и машинное обучение на устройствах, стабильная Iguana и гибридный интерфейс в Wear OS, деплой Flutter-приложений, сложный повтор в мобильном календаре, весенние маркетологи в мобайле и многое другое. Подключайтесь!

Подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.



iOS

• Почему Ollie перешел от SwiftUI к UIKit
• Как работает async/await в Swift
• Помощь на старте: 10 полезных ссылок для начинающих iOS-разработчиков
• Машинное обучение на устройствах с помощью MLX и Swift
• Task и structured concurrency в Swift
• SwiftUI уроки (часть 2)
• Apple опубликовала план развертывания подписей для SDK
• Пишем текстовую RPG
• Setapp от MacPaw станет первой альтернативной платформой для iOS в Европе
• Еврокомиссия расследует отказ Apple от PWA
• Минцифры узаконит установку сторонних приложений на iOS
• Поваренная книга SwiftUI: создание и доступ к переменным окружения в SwiftUI
• Себестоимость Vision Pro составляет около $1500
•  How to delay an animation in SwiftUI
•  Modding Plugins back into Xcode
•  Designing APIs with typed throws in Swift
•  Embedding a privacy manifest into an XCFramework
•  Picture in Picture Cheat Sheet
•  How to improve iOS build times with modularization
•  Discovering iOS memory leaks: A case study with Firefox app
•  Making Customizable SwiftUI Components
•  SwiftUI Got Isolation Wrong
•  How to determine where tasks and async functions run in Swift?
•  Twitter vs. X
•  Finding a balance while coding
•  What’s the buzz about the 2024 OWASP Mobile Top 10 changes?
•  Gemini AI API implementation in iOS
•  How to use VariadicView, SwiftUI’s Private View API
•  Third-party libraries acknowledgments using a Settings bundle
•  Discovering Swift Async Algorithms package
•  Working with dates and Codable in Swift
•  Swift Predicate: Usage, Composition, and Considerations
•  Exploring the SwiftUI’s Grid View
•  How to Create 3D App Icons for visionOS
•  How to easily mock ANY network call with URLProtocol
•  Elastic Custom Segmented Control — SwiftUI
•  Custom SwiftUI Calendar
•  VerticalSplit: контейнер SwiftUI с двумя View с настраиваемым разделением
•  EmojiKit: работа с эмодзи в Swift
•  MLX: фреймворк машинного обучения для Apple Silicon

Android

• Прокси-сервер для Android на Go
• Android Studio Iguana стала стабильной
• Осознанная оптимизация Compose 2: В борьбе с композицией
• Android Lint: оптимизируем проверку мердж-реквестов
• Google представил гибридный интерфейс в Wear OS
• Что такое гибридный интерфейс в Wear OS
• Прекратите использовать тестовые теги в Jetpack Compose
• Настраиваем кросс-обновления Android-приложений между сторами
• Как писать приложения под Android
• Наш опыт внедрения Compose в большой проект
• Многомодульность: что это такое?
• Жизнь инди в Google Play
• Разработка новостного приложения. Часть 2
• Google TV обновляет домашний экран
•  Navigation in Jetpack Compose
•  Ins and Outs of Kotlin Variance
•  Container transform animation with Jetpack Compose
•  Easily add document scanning capability to your app with ML Kit Document Scanner API
•  Preferences Datastore is slow, but you should still choose it over Shared Preferences
•  Overlapping Lists — Custom Composable Vs RecyclerView
•  PriorityDispatcher — Priority based Dispatcher in Kotlin Coroutines
•  How a Bubble Chat Increases Up to 90% of Seller’s Read Speed
•  How to Pass Arguments to a HiltViewModel from Compose
•  Comprehensive Guide To Kotlin Context Receiver
•  Jetpack Compose: Strong Skipping Mode Explained
•  Kotlin inline value classes explained
•  Android: Scoped Storage
•  Fun with shapes in Compose
•  Snapshot Testing Libraries for Android: Paparazzi vs Shot
•  Jetpack Compose Hacks:Top 3 Secret Jetpack Compose Modifiers
•  Think of current Android Architecture from UseCase
•  The Ultimate Package Structure Guide for Android Developers
•  Modern Dependency Management With Version Catalogs
•  Modularization at scale with Alireza Tizfahmfard
•  Decompose: BLoC с навигацией и подключаемым UI
•  Lingshot: правильная архитектура Android-приложения

Кроссплатформа

• Деплой Flutter-приложений и особенности платформ
• Пути внедрения поддержки скриптов в Dart/Flutter
Самый простой CI/CD пайплайн для Flutter приложения с Codemagic. Часть 2 + Часть 1
• Организация данных на экране во Flutter
• Разработка интерфейса во Flutter
• Работа с виджетами во Flutter — 2 часть
•  Build a content recommendation app with Flutter and OpenAI
•  Flutter’s 2024 roadmap
•  Mastering Responsive UIs in Flutter: The Full Guide
•  Flutter vs. React Native: Which one to choose for 2024?
•  Supercharge Your Flutter Apps with Google’s App Architecture
•  The missing guide to deep linking in Flutter apps

Разработка

• «Не заставляйте меня вводить цифры»: реализуем сложный повтор в мобильном календаре
• Проектируем системный дизайн Spotify
• Диплом специалиста ИБ. Часть №4 — Мобильное приложение Smart Connect
• Топ 5 книг для синьора
• Как мы пытались растить выручку через персонализацию
• Самые высокооплачиваемые вакансии февраля в сфере разработки приложений
• VK расширяет программу оплачиваемой стажировки для молодежи
•  Agile Cult
•  Engineering is more about people than tech
•  Beware the parasite engineer
•  Crafting a Custom Sports Activity Service with OpenAI and Node JS
•  Software engineering practices you should probably be following in 2024

Аналитика, маркетинг и монетизация

• Маркетологи в мобайле (Spring Edition): Ярослава Адаменко (М.Видео и Эльдорадо)
• Маркетологи в мобайле (Spring Edition): Ольга Бигбашева (Rendez-Vous)
• Бывшие инженеры Twitter создают Particle, читалку новостей с ИИ
• Liveliness — сообщества для любителей спорта
• Кейс: разметка приложения с нуля на конкретном примере
•  Navigating Ramadan 2024: Insights and strategies for app marketers
•  Bumble looks to revive its friendship-focused BFF product in wake of dating app downturn
•  SeatGeek’s new tools help fans resell tickets at the best price

AI, Устройства, IoT

• Как создать простой LoRa мессенджер: обмен зашифрованными текстовыми сообщениями между устройствами без интернета
• Исследователи обнаружили в Hugging Face вредоносные модели ИИ
• Умный дом с котом: мой опыт автоматизации домашней рутины
• Разработка производительного распознавателя автономеров для edge-устройств
• Осторожно, IoT: как бытовая техника становится проблемой для компаний
• Открытая модель StarCoder 2 работает на обычных GPU
• GitHub открывает доступ к Copilot Enterprise
• Apple закрыла проект создания электромобиля
• Qualcomm открывает AI Hub
•  Machine Learning in 2024 – Beginner’s Course

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