MobDev Portal | Мобильная Разработка
6K subscribers
314 photos
62 videos
4 files
269 links
Присоединяйтесь к нашему каналу и погрузитесь в мир мобильной-разработки

Связь: @devmangx
Download Telegram
Combine – швейцарский нож iOS-разработчика. Или нет?

Большая статья с обзором Combine: как устроен фреймворк, какие сущности лежат в основе и примеры использования.

Небольшая сводка: Combine – фреймворк для работы с асинхронными событиями в декларативном стиле. Он помогает разработчикам управлять потоками данных, избавляя от множества колбэков, ручного управления очередями и других сложностей, связанных с асинхронностью.


Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3
Совет по iOS-разработке

Вы можете отслеживать тепловое состояние устройства, чтобы при перегреве корректировать производительность приложения, просто проверьте: ProcessInfo.processInfo.thermalState

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍5
The LeakCanary Method

Годный материал про детект утечек памяти с помощью LeakCanary.

В статье рассказывается про процесс исследования, автоматизацию поиска утечек и как использовать YourKit поверх LeakCanary для поиска первопричин серьёзных утечек памяти.

Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4
Совет по SwiftUI

Легко отображайте интерактивные карты с помощью представления Map.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍5🔥3
The Golden Rule of Coroutine Exceptions

Большая статья с примерами про обработку ошибок в корутинах.

- The launch Builder
- The async Builder
- Parent-Child Relationships (coroutineScope)
- Isolating Failures (supervisorScope)
- The Global Catcher (CoroutineExceptionHandler)
- async Within a supervisorScope
- Cancellation is a Special Kind of Exception
- Unstoppable Cleanup with NonCancellable
- Nested Scopes & Propagation
- The Job Hierarchy in Detail
- supervisorScope vs CoroutineScope(SupervisorJob())
- Handling Timeouts
- Exceptions When Awaiting Multiple Jobs

👉 Читать (En)

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1😁1
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI: Анимация с гравитацией, микроэффекты и прогресс по шагам

Туториал: https://youtu.be/F0VH7cKm5do?si=vNbqDxVP2-fNXb83

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍146👎1🔥1
Вышел Flutter 3.38

Лучшие новые фичи:

- Hot reload на Web Server

- Конфигурации для веб-разработки

- Улучшенные превью виджетов

- Оптимизации производительности и багфиксы

Все детали о нововведениях → тык

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥2
Совет по SwiftUI

Используйте .stroke(), чтобы добавить рамку, выровненную по центру.

Используйте .strokeBorder(), чтобы добавить внутреннюю рамку.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍3
Актуальные практики работы в фоне Android-приложений

В статье рассматриваюся актуальные инструменты для работы в фоне, которые работают на последних версиях ОС и как их правильно использовать.

- WorkManager
- JobScheduler
- Foreground Service
- Специализированные API (AlarmManager, DownloadManager, Geofencing)

Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍1
SwiftUI совет

В iOS 18.0+ можно использовать .presentationSizing(.fitted) для sheet, чтобы модальное окно подстраивалось под свой контент, а не занимало почти весь экран, идеально для компактных попапов в виде карточек

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥5👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Приложения вроде Notes и Mail в iOS 26 используют переходы тулбара, которые плавно трансформируются между вью. Такое поведение можно легко воспроизвести с помощью нативных API тулбара в SwiftUI.

Смотрите гайд на YouTube

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3🔥3
SwiftUI совет

Вы можете разместить тулбар с элементами прямо над клавиатурой, используя модификатор .keyboard в placement.

Отлично подходит для AI-чатов, заметок и любых интерфейсов с быстрыми действиями во время ввода текста

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥94
The Real Difference Between withContext and launch

Подробная статья про отличия корутин билдеров withContext и launch, с разбором на примерах и для каких случаев может подойти каждый.

Читать тут

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3👎3
SwiftUI совет

Вы можете добавить кастомный preview в своё контекстное меню, используя параметр preview.

Отлично подходит для отображения дополнительных деталей до того, как пользователь выберет действие.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍4
Основы AGSL для Android-разработчика

Отличная базовая статья по шейдерам

- Зачем появился AGSL
- Где AGSL хорош, а где он не про это
- А если устройство с API < 33?
- Как AGSL вплетается в Android и Compose
- Пример 1: Анимированный градиент
- Пример 2: Ripple - интерактивная волна от тапа на экран
- Пример 3: Летящая звезда - AGSL как мини-рендер сценки
- Заключение

Исходный код на GitHub → AGSL-Basics

AGSL (Android Graphics Shading Language) – это язык фрагментных шейдеров, встроенный в сам графический стек Android, так что эффекты применяются прямо на уровне отрисовки интерфейса.


Читайте на Хабр

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4
SwiftUI совет

В iOS 26.0+ TextEditor поддерживает редактирование форматированного текста, если привязать его к AttributedString.

Это мгновенно открывает доступ к системным инструментам форматирования – bold, italics, underline, цветам, выравниванию и многому другому.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3
Управление потоком в Kotlin Flow

Годная статья, в которой рассказывается как управлять потоком в Kotlin Flow и какие операторы использовать для решения проблемы быстрого пользовательского ввода(наиболее популярный кейс когда пользователь быстро печатает, например при поиске)

Читать здесь

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Современный ввод OTP в SwiftUI, с анимацией и валидацией

Туториал на YouTube

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3
SwiftUI совет

Используйте submitLabel(), чтобы изменить кнопку отправки на клавиатуре на варианты вроде Next, Join, Search или Done.

(Обновлено для iOS 26)

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
8