Новое в SwiftUI
Используйте
👉 @MobDevPortal
Используйте
backgroundExtensionEffect(), чтобы расширить контент за пределы safe area с размытым, зеркальным эффектом — для плавной визуальной целостности.Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
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
Практическое руководство по написанию интеграционных тестов в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Новое в SwiftUI
Добавляйте быстрый A–Z индекс прокрутки в свои списки — прямо как в приложении Contacts!
Используйте
👉 @MobDevPortal
Добавляйте быстрый A–Z индекс прокрутки в свои списки — прямо как в приложении Contacts!
Используйте
sectionIndexLabel() для каждой секции и сделайте индекс видимым через listSectionIndexVisibility(.visible).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.
Анимации во
Анимации в Compose:☺️
Апгрейд на 1000%
Зацени этот короткий гайд по анимациям в Compose:
https://developer.android.com/develop/ui/compose/animation/quick-guide
👉 @MobDevPortal
Анимации во
View: ValueAnimator, XML-файлы, тонна бойлерплейта, слушатели повсюду Анимации в Compose:
animate*AsState, одна строка, полный доступ к suspend и корутинам. Плавность как масло Апгрейд на 1000%
Зацени этот короткий гайд по анимациям в Compose:
https://developer.android.com/develop/ui/compose/animation/quick-guide
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3❤2
Новое в SwiftUI
В iOS 26.0 тулбары получили единый стиль.
Используй
👉 @MobDevPortal
В iOS 26.0 тулбары получили единый стиль.
Используй
ToolbarSpacer, чтобы добавлять отступы между элементами.Please open Telegram to view this post
VIEW IN TELEGRAM
❤9
TAO Bubbles: элегантные и настраиваемые подсказки для ваших Jetpack Compose приложений
Статья с примером реализации компонента для отображения подсказок на Jetpack Compose.
🔸 Читать
👉 @MobDevPortal
Статья с примером реализации компонента для отображения подсказок на Jetpack Compose.
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
Если вдруг кто-то не знал как под капотом устроен и работает Retrofit, вот свежая статья с детальным разбором: Dynamic Proxy, аннотации, парсинг, формирование запросов и т.д.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Новое в SwiftUI
Теперь можно добавить подзаголовок в навигационный бар с помощью модификатора
(iOS 26.0+)
👉 @MobDevPortal
Теперь можно добавить подзаголовок в навигационный бар с помощью модификатора
navigationSubtitle()(iOS 26.0+)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2
Threads vs. Tasks in Swift Concurrency
Подробная статья с разбором и сравнением Threads и Tasks в Swift Concurrency.
🔸 What is a thread?
🔸 Swift Concurrency and Threads
🔸 Tasks: A Higher-Level Abstraction
🔸 How Tasks are mapped to Threads
🔸 Can Thread explosion still happen in Swift Concurrency?
🔸 Does Swift Concurrency’s Limited Threads Reduce
🔸 Performance Compared to GCD?
🔸 Common misconceptions
- Читать
👉 @MobDevPortal
Подробная статья с разбором и сравнением Threads и Tasks в Swift Concurrency.
- Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Совет Xcode 26.0
Знали ли вы, что при сборке под iOS 26.0 можно временно отключить новый дизайн Liquid Glass?
В файле
Обратите внимание: Apple предупреждает, что этот ключ является временным и будет удалён.
👉 @MobDevPortal
Знали ли вы, что при сборке под iOS 26.0 можно временно отключить новый дизайн Liquid Glass?
В файле
Info.plist установите ключ UIDesignRequiresCompatibility в значение YES, чтобы его отключить.Обратите внимание: Apple предупреждает, что этот ключ является временным и будет удалён.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Совет по Flutter
В Flutter 3.35 появилась классная новая фича — возможность создавать превью без запуска рендеринга всего приложения, используя веб-рендерер.
Вот как это использовать👆
👉 @MobDevPortal
В Flutter 3.35 появилась классная новая фича — возможность создавать превью без запуска рендеринга всего приложения, используя веб-рендерер.
Вот как это использовать
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤2
Совет по SwiftUI
Замыкания Label принимают больше одного вью.
Это отличный способ показать title и subtitle (например, в строках Form). SwiftUI автоматически берёт на себя стилизацию.
👉 @MobDevPortal
Замыкания Label принимают больше одного вью.
Это отличный способ показать title и subtitle (например, в строках Form). SwiftUI автоматически берёт на себя стилизацию.
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
Забираем с сайта или с GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3
Новое в SwiftUI
Теперь можно настраивать расстояние между иконкой Label и его заголовком с помощью нового модификатора
👉 @MobDevPortal
Теперь можно настраивать расстояние между иконкой Label и его заголовком с помощью нового модификатора
labelIconToTitleSpacing().Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤3
Forwarded from IT Portal
Просчитался, но где: разработчик похвастался скрином, высмеяв малое число платящих Android-юзеров в своём приложении
А потом выяснилось, что в его же приложении с Android подписку оформить нельзя, выдает ошибку.
Неловко вышло😁
@IT_Portal
А потом выяснилось, что в его же приложении с Android подписку оформить нельзя, выдает ошибку.
Неловко вышло
@IT_Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁28❤3
Если вы добавляете в приложение много фич, которые работают только на iOS 26, стоит сделать кастомный сниппет с автодополнением. Я использовал «IF2» (if iOS 26) как шорткат completion, и это уже сэкономило мне кучу времени.
Чтобы открыть меню сниппетов и создать такой, можно использовать Shift+CMD+L.
↓ Вот код, который я использую в сниппете
👉 @MobDevPortal
Чтобы открыть меню сниппетов и создать такой, можно использовать Shift+CMD+L.
↓ Вот код, который я использую в сниппете
if #available(iOS 26, macOS 26, *) {
<#code#>
}Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤4
Новое в SwiftUI
Используйте
Это гарантирует, что заголовки останутся идеально выровненными, даже если иконки имеют разный размер.
👉 @MobDevPortal
Используйте
labelReservedIconWidth(), чтобы зарезервировать фиксированную ширину для иконок в Label.Это гарантирует, что заголовки останутся идеально выровненными, даже если иконки имеют разный размер.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍2
Android ViewModel Data Loading: Best Practices and Flow-Based Architecture
Большая статья, с примерами кода, в которой автор рассказывает про проблемы загрузки данных в
🔸 Читать
👉 @MobDevPortal
Большая статья, с примерами кода, в которой автор рассказывает про проблемы загрузки данных в
ViewModel.init{ } блоке и рассматривает Flow-Based решение, как более правильный, удобный и оптимальный архитектурный подход.Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Наложить Liquid Glass на ваш кастомный SwiftUI-вью так же просто, как добавить к нему модификатор
👉 @MobDevPortal
.glassEffect()Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍4