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

Связь: @devmangx
Download Telegram
Integration Testing on Android: A Practical Guide with Hilt, Compose & Room

Практическое руководство по написанию интеграционных тестов в Android.

- Introduction
- Project setup
- Writing the test
- Swapping Real Dependencies with Fake Ones
- Testing Failure Scenarios
- Robotic Pattern for compose test
- Why Integration Testing Matters

🔸Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Новое в SwiftUI

Добавляйте быстрый A–Z индекс прокрутки в свои списки — прямо как в приложении Contacts!

Используйте sectionIndexLabel() для каждой секции и сделайте индекс видимым через listSectionIndexVisibility(.visible).

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
6
This media is not supported in your browser
VIEW IN TELEGRAM
Безумие, насколько крутым апгрейд получился у animation API после перехода на Compose.

Анимации во View: ValueAnimator, XML-файлы, тонна бойлерплейта, слушатели повсюду

Анимации в Compose: animate*AsState, одна строка, полный доступ к suspend и корутинам. Плавность как масло ☺️

Апгрейд на 1000%

Зацени этот короткий гайд по анимациям в Compose:
https://developer.android.com/develop/ui/compose/animation/quick-guide

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍32
Новое в SwiftUI

В iOS 26.0 тулбары получили единый стиль.

Используй ToolbarSpacer, чтобы добавлять отступы между элементами.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
9
TAO Bubbles: элегантные и настраиваемые подсказки для ваших Jetpack Compose приложений

Статья с примером реализации компонента для отображения подсказок на Jetpack Compose.

🔸Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Новое в Swift 6.2: Raw Identifiers теперь можно использовать в качестве имён функций

Всё, что нужно — обернуть имя функции в обратные кавычки...

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

Идеально подходит для функций, которые реализуют тесты.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2
The Magic Behind Retrofit: How a Simple Interface Becomes Your API Gateway

Если вдруг кто-то не знал как под капотом устроен и работает Retrofit, вот свежая статья с детальным разбором: Dynamic Proxy, аннотации, парсинг, формирование запросов и т.д.

🔸Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Новое в SwiftUI

Теперь можно добавить подзаголовок в навигационный бар с помощью модификатора navigationSubtitle()

(iOS 26.0+)

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

Знали ли вы, что при сборке под iOS 26.0 можно временно отключить новый дизайн Liquid Glass?

В файле Info.plist установите ключ UIDesignRequiresCompatibility в значение YES, чтобы его отключить.

Обратите внимание: Apple предупреждает, что этот ключ является временным и будет удалён.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
3
Совет по Flutter

В Flutter 3.35 появилась классная новая фича — возможность создавать превью без запуска рендеринга всего приложения, используя веб-рендерер.

Вот как это использовать 👆

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

Замыкания Label принимают больше одного вью.

Это отличный способ показать title и subtitle (например, в строках Form). SwiftUI автоматически берёт на себя стилизацию.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Принёс полезное: огромную коллекцию из 1500+ отобранных API для ваших проектов, от погоды и карт до генераторов картинок и NLP-сервисов

Забираем с сайта или с GitHub 🍯

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

Теперь можно настраивать расстояние между иконкой Label и его заголовком с помощью нового модификатора labelIconToTitleSpacing().

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73
Forwarded from IT Portal
Просчитался, но где: разработчик похвастался скрином, высмеяв малое число платящих Android-юзеров в своём приложении

А потом выяснилось, что в его же приложении с Android подписку оформить нельзя, выдает ошибку.

Неловко вышло 😁

@IT_Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁283
Если вы добавляете в приложение много фич, которые работают только на iOS 26, стоит сделать кастомный сниппет с автодополнением. Я использовал «IF2» (if iOS 26) как шорткат completion, и это уже сэкономило мне кучу времени.

Чтобы открыть меню сниппетов и создать такой, можно использовать Shift+CMD+L.
↓ Вот код, который я использую в сниппете

if #available(iOS 26, macOS 26, *) {
<#code#>
}


👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥64
Новое в SwiftUI

Используйте labelReservedIconWidth(), чтобы зарезервировать фиксированную ширину для иконок в Label.

Это гарантирует, что заголовки останутся идеально выровненными, даже если иконки имеют разный размер.

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥84👍2
Android ViewModel Data Loading: Best Practices and Flow-Based Architecture

Большая статья, с примерами кода, в которой автор рассказывает про проблемы загрузки данных в ViewModel.init{ } блоке и рассматривает Flow-Based решение, как более правильный, удобный и оптимальный архитектурный подход.

🔸Читать

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Наложить Liquid Glass на ваш кастомный SwiftUI-вью так же просто, как добавить к нему модификатор .glassEffect()

👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4