Мобильная разработка за неделю #523 (22 — 28 января)
В новом дайджесте открытие сторонних магазинов на iOS в Европе и скучные приложения для Vision Pro, неизвестные инструменты Android Studio, путь к совершенству Flutter, трёхмерные игры на кнопочных телефонах? удаление кода в масштабе Google и многое другое!
И подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.
iOS
• Пишем интерактивный виджет
• Моя малышка все еще любит самолеты — и я улучшил для нее радар
• Приложения для Vision Pro выглядят скучно
• Упрощаем локализацию iOS-приложения со String Catalogs
• Apple объявляет об изменениях в iOS, Safari и App Store в Европейском союзе
• После открытия App Store в Европе, Fortnite возвращается на iOS
• Apple разрешила стриминг игр в App Store
• Как через Push-уведомления на iPhone утекают данные пользователей
• Регистрация на Swift Student Challenge откроется 5 февраля
• Поваренная книга SwiftUI: шаринг состояний между представлениями с помощью объектов окружения
• Для Vision Pro пока разработано только 150 приложений
• Отношения Apple с разработчиками могут помешать Vision Pro
• An Approach to Handling App Launch States in SwiftUI
• One-way bindings in SwiftUI
• Developing with Swift in Visual Studio Code
• Asynchronous SwiftUI buttons
• SwiftUI View Models: A Polymorphic Approach
• How to place a view in the UINavigationBar and increase its height
• iOS UI Testing with Deep Links
• How to write Unit Tests for Code Performance
• The Composable Architecture: Swift guide to TCA
• ScrollView Bounce Behavior configuration in SwiftUI
• Interactive Widgets With SwiftUI
• Introducing SwiftUI on visionOS
• Preparing for Swift 6
• Creating a Collapsible UITableViewCell in Swift: A Step-by-Step Guide
• How to use the rethrows keyword in Swift?
• A deep dive into the 2023 iPhone app of the year, AllTrails
• Lottie magic in SwiftUI
• Vision Pro Apps look boring
• Bring 3D to your App: Developing Native iOS Apps with Spline
• SwiftUI Dock Progress Bar for macOS
• SwiftData Background Tasks: Massively Improve Your Apps Performance
• Source Control with Xcode: Branching and Merging
• Unit Testing a SwiftUI Application using Xcode
• From Challenge to Joy: My Journey Developing Tuist for Scalable Xcode Projects
• OutRun: открытый фитнес-трекер
• Winlator: эмулятор Windows (x86_64) для Android
• LLMFarm: языковые модели на iOS и MacOS офлайн
Android
• Samsung DEX в 2024 году: есть ли смысл?
• Как я приложение на Compose писал
• Просто об архитектуре в Android
• Программируем лучше: 4 неизвестных инструмента в Android Studio
• Improving unit test performance in MEGA Android
• Exploring Health Connect Pt. 2 — Reading and Writing Data
• Making Shadowfax Android App 40% faster
• A Better Hash Map
• 8 simple extension methods to use in every Android project
• Gradle: from Newbie to Strong fundamentals
• How to automatically test a Google Play Subscription
• DIY: your own Dependency Injection library!
• Lateinit vs Lazy in Kotlin
• Coroutine patterns in Android, and why they work
• Room Relationships Explained
• Android ViewModel: Single state or not?
• Jetpack Compose: Passing data implicitly in Composable screens
• What«s new in the Jetpack Compose January »24 release
• Package Visibility in API 30 or Higher with the TTS service
• Effect Handlers in Jetpack Compose
• Now in Android: 98 — Gemini Pro, Google AI SDK, Google AI Studio, Cast, Rust, and more!
• How to Implement Firebase Push Notifications on Android (FCM + Backend)
• How to Create an App Shortcut on Android
• How to automatically test a Google Play Subscription
• Bottom Dialog Android Picker: диалог выбора файлов
• YTDLnis: загрузчик видео/аудио для Android
Кроссплатформа
• Flutter. На пути к совершенству
• Заводим Яндекс Карты в Compose Multiplatform
• Флаттер 3.18 | бета-релиз | Топ-8 фичей
• Полное руководство по управлению навигацией во Flutter с помощью пакета go_router: часть 1
• Project IDX получил симулятор iOS и эмулятор Android
• Позиция — KMP разработчик: Кирилла Розова собеседует Алексей Гладков
• Flutter Dev Podcast #42: как стать Flutter-разработчиком? Часть 1
• Конкурс экологичных игр от Flutter и Global Citizen
• Benchmarking Dart«s json serialization and dataclass ecosystem
• Publishing Kotlin Multiplatform Swift Packages Using Google Cloud Storage and Cloud Run
• Hello MAUI
• Multiplatform Magic: One Codebase, Three Platforms
• Expo Router v3: API Routes, bundle splitting, speed improvements, and more
• Memory Leak In Dart/Flutter
• Flutter — Interactive with gallery viewer using InteractiveViewer and Matrix4
• .NET MAUI — Creating Profile Settings Page with Form Items
• Customize Your Flutter Environment with Dart Define
• Running Phi-2 a Large Language model like ChatGPT, locally offline in Flutter App
Разработка
• Сам написал, сам поиграл: как работали трёхмерные игры на кнопочных телефонах нулевых? Пишем 3D-шутер с нуля
• Проект Sensenmann: удаление кода в масштабе
• Clerk получил $30 млн на аутентификацию и авторизацию для разработчиков
• Вопросы с собеседований: В чем разница между LinkedList и ArrayList
• Huawei презентовал HarmonyOS NEXT
• Разработка под Аврору
• Безопасность приложений
• Cracking the Mobile Interview
• Как тимлиду оценить успешность в своей роли
• Почему так мало женщин в IT?
• Podlodka: Про дипфейки, этику и цену прогресса
• How To Deal With Technical Debt
• The Open Source Sustainability Crisis
• Mobile App Architectural Best Practices in Action
• 3 questions that will make you a phenomenal rubber duck
• Sensenmann: Code Deletion at Scale
• The art of shipping faster
• 5 achievable side hustles for developers
• App Deep Dive: Peacock
• The Weirdest Bug I«ve Seen Yet
• 39 Challenges on Building Mobile Apps at Scale
• Writing code that makes mistakes harder
Аналитика, маркетинг и монетизация
• Реальные знаменитости и Реальные бренды в BeReal
• Как посчитать ценные органические установки
• Почему игры становятся кроссплатформенными и как решить проблему привлечения пользователей
• Among Us: игра, которая не смогла
• X поставил рекорд по прибыли
• Эмоциональный интеллект в UX-исследованиях
• Google Ads использует ИИ для создания кампаний
• Creating an irresistible loyalty program for your app
AI, Устройства, IoT
• Отправляем и принимаем SMS с помощью SIM868 и Repka Pi
• Samsung и Google готовят Wear OS 5 на базе Android 14
• The Machine Learning Engineering Open Book: справочник по машинному обучению
• TensorFlow Lite vs PyTorch Mobile for On-Device Machine Learning
• LangChain GEN AI Tutorial — 6 End-to-End Projects using OpenAI, Google Gemini Pro, LLAMA2
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.