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

Связь: @devmangx
Download Telegram
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
Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений

Автор статьи рассказывает как делал кастомный компонент Toolbar в Jetpack Compose, с какими ограничениями столкнулся и какую в итоге реализацию выбрал, чтоб компонент был гибким, контролируемым и оптимизированным с точки зрения рекомпозиций.

Читать тут

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

В iOS 26+ вы можете добавить деления на Slider, используя параметр ticks.

Отлично подходит для таких вещей, как яркость, громкость или уровни прогресса

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

В iOS 26.0+ используйте GlassEffectContainer, чтобы объединять находящиеся рядом glass-вью в одну непрерывную форму Liquid Glass.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍3
Джедайские техники Kotlin: inline-функции и reified-типы

Годная статья с примерами и детальным разбором inline-функций и reified-типов: зачем это нужно, как работают внутри и как использовать.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32
This media is not supported in your browser
VIEW IN TELEGRAM
Раскрывающийся Picker в SwiftUI за 100 секунд

Туториал на YouTube

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

По умолчанию searchable() скрывает навбар во время поиска.

Начиная с iOS 17.1+, используйте
searchPresentationToolbarBehavior(.avoidHidingContent),
чтобы он оставался видимым.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5🔥3
LeakCanary становится частью Android Studio

В Google выкатили серьёзное обновление для Android Studio Panda (2025.3.1) — теперь LeakCanary встроен прямо в IDE. Анализ утечек больше не ограничен экраном устройства — основная работа переехала на компьютер разработчика.

LeakCanary — де-факто стандарт в Android-разработке для поиска утечек памяти. Библиотека автоматически отслеживает объекты, которые не были освобождены сборщиком мусора. Именно такие «хвосты» со временем накапливаются в heap, приводят к деградации производительности и в итоге к OutOfMemoryError.


В Android Studio Profiler появилась отдельная task для LeakCanary. Ключевое изменение — анализ heap dump теперь выполняется на стороне IDE.

Раньше парсинг hprof мог надолго подвесить слабые тестовые девайсы — иногда на десятки секунд или даже минуты. Теперь вся тяжёлая обработка выполняется ресурсами рабочего компьютера, а устройство используется только для сбора дампа.

Что в итоге получили:
- Производительность — анализ заметно быстрее за счёт ресурсов ПК
- Удобство — результаты сразу открываются в IDE, работает Jump to Source: клик по утечке → переход в код
- Контекст — трейс утечки можно скопировать и сразу отправить в Gemini прямо из Android Studio для подсказок

Важно: несмотря на глубокую интеграцию, LeakCanary остаётся независимым Open Source-проектом. Это всё тот же инструмент от Square, который развивается сообществом. Google не «поглотила» библиотеку, а лишь добавила удобный UI для запуска и анализа внутри IDE.

Попробовать интеграцию уже можно в Canary-сборке Android Studio Panda.

Источник: тык
Оригинал: тут

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

Можно добавлять подзаголовки к действиям в Menu, если в label у Button разместить ещё один Text — SwiftUI сам автоматически применит нужные стили

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍4🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
SwiftUI Animated Scrollable Slider — кастомный Picker — Xcode 26

В этом видео автор показывает, как создать кастомный picker, который можно использовать для выбора роста, веса и других параметров с помощью SwiftUI.

https://www.youtube.com/watch?v=14HGMJ0gSCk

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97🔥3
Если вы разрабатываете приложения под iOS/macOS, вам может пригодится xcbeautify.

Этот инструмент позволяет вашим агентам видеть ошибки сборки без необходимости пролистывать страницы вывода компилятора

https://github.com/cpisciotta/xcbeautify

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63
Совет для SwiftUI

В iOS 16.0+ вы можете зарезервировать место для дополнительных строк текста, чтобы высота вашего макета оставалась постоянной

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75
This media is not supported in your browser
VIEW IN TELEGRAM
Create animated stripes in Jetpack Compose

Прикольный материал про UI, с примером реализации анимированных полос с помощью градиента в Jetpack Compose.

- Manipulating Color Stops
- Drawing The Stripes
- Animating The Stripes
- A Little Helper Function

Читать тут

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Совет для SwiftUI💡

Используйте Divider() внутри Menu, чтобы группировать связанные действия - так меню становится более наглядным и удобным для пользователя

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Live Updates на Android: где макеты врут, a SDK ставит границы

Разработчик из Dodo Engineering рассказывает как они завозили Live Updates и с какими проблемами столкнулись.

Если коротко – не всё так радужно, как может показаться. Начиная от документации и заканчивая ограничениями в кастомизации и тестировании на эмулях.

Если планировали внедрять Live Updates, обязательно почитайте статью, вероятно сэкономите какое-то время.

Читать

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

Создавайте эффекты наклона с помощью модификатора projectionEffect()

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍4
This media is not supported in your browser
VIEW IN TELEGRAM
В статье на Habr разобран пример реализации такой анимации в Compose. Авторы вынесли решение в отдельную библиотеку ThemeAnimator, которую можно подключить к своему проекту.

Анимация смены темы реализована через перехват отрисовки в Modifier.Node: сначала делается снимок UI в старой теме, затем тема переключается, фиксируется новое состояние и запускается анимация между двумя скриншотами. Переход рисуется как круговое раскрытие новой темы, что позволяет избежать мерцаний и добиться плавного эффекта


👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54👎1
Совет по Xcode

Если превью в SwiftUI начинают вести себя странно или тормозить, очистите весь кэш данных превью одной командой.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3