Вышел Flutter 3.38
Лучшие новые фичи:
- Hot reload на Web Server
- Конфигурации для веб-разработки
- Улучшенные превью виджетов
- Оптимизации производительности и багфиксы
Все детали о нововведениях → тык
👉 @MobDevPortal
Лучшие новые фичи:
- Hot reload на Web Server
- Конфигурации для веб-разработки
- Улучшенные превью виджетов
- Оптимизации производительности и багфиксы
Все детали о нововведениях → тык
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥2
Совет по SwiftUI
Используйте
Используйте
👉 @MobDevPortal
Используйте
.stroke(), чтобы добавить рамку, выровненную по центру.Используйте
.strokeBorder(), чтобы добавить внутреннюю рамку.Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3
Актуальные практики работы в фоне Android-приложений
В статье рассматриваюся актуальные инструменты для работы в фоне, которые работают на последних версиях ОС и как их правильно использовать.
- WorkManager
- JobScheduler
- Foreground Service
- Специализированные API (AlarmManager, DownloadManager, Geofencing)
Читать
👉 @MobDevPortal
В статье рассматриваюся актуальные инструменты для работы в фоне, которые работают на последних версиях ОС и как их правильно использовать.
- WorkManager
- JobScheduler
- Foreground Service
- Специализированные API (AlarmManager, DownloadManager, Geofencing)
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1
SwiftUI совет
В iOS 18.0+ можно использовать
👉 @MobDevPortal
В iOS 18.0+ можно использовать
.presentationSizing(.fitted) для sheet, чтобы модальное окно подстраивалось под свой контент, а не занимало почти весь экран, идеально для компактных попапов в виде карточек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
Смотрите гайд на YouTube
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3🔥3
SwiftUI совет
Вы можете разместить тулбар с элементами прямо над клавиатурой, используя модификатор
Отлично подходит для AI-чатов, заметок и любых интерфейсов с быстрыми действиями во время ввода текста
👉 @MobDevPortal
Вы можете разместить тулбар с элементами прямо над клавиатурой, используя модификатор
.keyboard в placement.Отлично подходит для AI-чатов, заметок и любых интерфейсов с быстрыми действиями во время ввода текста
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤4
The Real Difference Between withContext and launch
Подробная статья про отличия корутин билдеров
Читать тут
👉 @MobDevPortal
Подробная статья про отличия корутин билдеров
withContext и launch, с разбором на примерах и для каких случаев может подойти каждый.Читать тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👎3
SwiftUI совет
Вы можете добавить кастомный preview в своё контекстное меню, используя параметр
Отлично подходит для отображения дополнительных деталей до того, как пользователь выберет действие.
👉 @MobDevPortal
Вы можете добавить кастомный preview в своё контекстное меню, используя параметр
preview.Отлично подходит для отображения дополнительных деталей до того, как пользователь выберет действие.
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
Читайте на Хабр
👉 @MobDevPortal
Отличная базовая статья по шейдерам
- Зачем появился AGSL
- Где AGSL хорош, а где он не про это
- А если устройство с API < 33?
- Как AGSL вплетается в Android и Compose
- Пример 1: Анимированный градиент
- Пример 2: Ripple - интерактивная волна от тапа на экран
- Пример 3: Летящая звезда - AGSL как мини-рендер сценки
- Заключение
Исходный код на GitHub → AGSL-Basics
AGSL (Android Graphics Shading Language) – это язык фрагментных шейдеров, встроенный в сам графический стек Android, так что эффекты применяются прямо на уровне отрисовки интерфейса.
Читайте на Хабр
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4
SwiftUI совет
В iOS 26.0+
Это мгновенно открывает доступ к системным инструментам форматирования – bold, italics, underline, цветам, выравниванию и многому другому.
👉 @MobDevPortal
В iOS 26.0+
TextEditor поддерживает редактирование форматированного текста, если привязать его к AttributedString.Это мгновенно открывает доступ к системным инструментам форматирования – bold, italics, underline, цветам, выравниванию и многому другому.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3
Управление потоком в Kotlin Flow
Годная статья, в которой рассказывается как управлять потоком в Kotlin Flow и какие операторы использовать для решения проблемы быстрого пользовательского ввода(наиболее популярный кейс когда пользователь быстро печатает, например при поиске)
Читать здесь
👉 @MobDevPortal
Годная статья, в которой рассказывается как управлять потоком в Kotlin Flow и какие операторы использовать для решения проблемы быстрого пользовательского ввода(наиболее популярный кейс когда пользователь быстро печатает, например при поиске)
Читать здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍3
SwiftUI совет
Используйте
(Обновлено для iOS 26)
👉 @MobDevPortal
Используйте
submitLabel(), чтобы изменить кнопку отправки на клавиатуре на варианты вроде Next, Join, Search или Done.(Обновлено для iOS 26)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Создание кастомного Toolbar с Jetpack Compose. Подробный разбор всех попыток и решений
Автор статьи рассказывает как делал кастомный компонент Toolbar в Jetpack Compose, с какими ограничениями столкнулся и какую в итоге реализацию выбрал, чтоб компонент был гибким, контролируемым и оптимизированным с точки зрения рекомпозиций.
Читать тут
👉 @MobDevPortal
Автор статьи рассказывает как делал кастомный компонент Toolbar в Jetpack Compose, с какими ограничениями столкнулся и какую в итоге реализацию выбрал, чтоб компонент был гибким, контролируемым и оптимизированным с точки зрения рекомпозиций.
Читать тут
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
SwiftUI совет
В iOS 26+ вы можете добавить деления на
Отлично подходит для таких вещей, как яркость, громкость или уровни прогресса
👉 @MobDevPortal
В iOS 26+ вы можете добавить деления на
Slider, используя параметр ticks.Отлично подходит для таких вещей, как яркость, громкость или уровни прогресса
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤6
SwiftUI совет
В iOS 26.0+ используйте
👉 @MobDevPortal
В iOS 26.0+ используйте
GlassEffectContainer, чтобы объединять находящиеся рядом glass-вью в одну непрерывную форму Liquid Glass.Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3
Джедайские техники Kotlin: inline-функции и reified-типы
Годная статья с примерами и детальным разбором inline-функций и reified-типов: зачем это нужно, как работают внутри и как использовать.
👉 @MobDevPortal
Годная статья с примерами и детальным разбором inline-функций и reified-типов: зачем это нужно, как работают внутри и как использовать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥5👍4
SwiftUI совет
По умолчанию
Начиная с iOS 17.1+, используйте
чтобы он оставался видимым.
👉 @MobDevPortal
По умолчанию
searchable() скрывает навбар во время поиска.Начиная с iOS 17.1+, используйте
searchPresentationToolbarBehavior(.avoidHidingContent),чтобы он оставался видимым.
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. Анализ утечек больше не ограничен экраном устройства — основная работа переехала на компьютер разработчика.
В 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
В 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.
Источник: тык
Оригинал: тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4