В новом дайджесте открытие сторонних магазинов на 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
← Предыдущий дайджест. Если у вас есть другие интересные материалы или вы нашли ошибку — пришлите, пожалуйста, в почту.
И подписывайтесь на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.


• Пишем интерактивный виджет
• Моя малышка все еще любит самолеты — и я улучшил для нее радар
• Приложения для 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
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Samsung DEX в 2024 году: есть ли смысл?
• Как я приложение на Compose писал
• Просто об архитектуре в Android
• Программируем лучше: 4 неизвестных инструмента в Android Studio
•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•

•


• Flutter. На пути к совершенству
• Заводим Яндекс Карты в Compose Multiplatform
• Флаттер 3.18 | бета-релиз | Топ-8 фичей
• Полное руководство по управлению навигацией во Flutter с помощью пакета go_router: часть 1
• Project IDX получил симулятор iOS и эмулятор Android
• Позиция — KMP разработчик: Кирилла Розова собеседует Алексей Гладков
• Flutter Dev Podcast #42: как стать Flutter-разработчиком? Часть 1
• Конкурс экологичных игр от Flutter и Global Citizen
•

•

•

•

•

•

•

•

•

•


• Сам написал, сам поиграл: как работали трёхмерные игры на кнопочных телефонах нулевых? Пишем 3D-шутер с нуля
• Проект Sensenmann: удаление кода в масштабе
• Clerk получил $30 млн на аутентификацию и авторизацию для разработчиков
• Вопросы с собеседований: В чем разница между LinkedList и ArrayList
• Huawei презентовал HarmonyOS NEXT
• Разработка под Аврору
• Безопасность приложений
• Cracking the Mobile Interview
• Как тимлиду оценить успешность в своей роли
• Почему так мало женщин в IT?
• Podlodka: Про дипфейки, этику и цену прогресса
•

•

•

•

•

•

•

•

•

•

•


• Реальные знаменитости и Реальные бренды в BeReal
• Как посчитать ценные органические установки
• Почему игры становятся кроссплатформенными и как решить проблему привлечения пользователей
• Among Us: игра, которая не смогла
• X поставил рекорд по прибыли
• Эмоциональный интеллект в UX-исследованиях
• Google Ads использует ИИ для создания кампаний
•


• Отправляем и принимаем SMS с помощью SIM868 и Repka Pi
• Samsung и Google готовят Wear OS 5 на базе Android 14
• The Machine Learning Engineering Open Book: справочник по машинному обучению
•

•

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