Мобильная разработка за неделю #528 (26 февраля — 3 марта)
В новом выпуске возврат от 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
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
