Исключения не стоит объявлять как
Даже если кажется, что у них нет изменяемого состояния — на деле это не так: у каждой
👉 @MobDevPortal
objectДаже если кажется, что у них нет изменяемого состояния — на деле это не так: у каждой
Exception есть stacktrace, а значит, каждое исключение должно быть уникальным экземпляромPlease open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥4👍2
Exploring PausableComposition internals in Jetpack Compose
В Compose версии 1.9.X представили новый внутренний API – PausableComposition, который, как утверждается, решает проблемы с производительностью.
В статье подробный разбор: что это такое, как устроено под капотом и для чего может пригодиться.
🔸 Читать
👉 @MobDevPortal
В Compose версии 1.9.X представили новый внутренний API – PausableComposition, который, как утверждается, решает проблемы с производительностью.
В статье подробный разбор: что это такое, как устроено под капотом и для чего может пригодиться.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍1
Новое в SwiftUI
В iOS 26.0+ теперь можно отображать бейджи на элементах тулбара с помощью модификатора
Отлично подойдёт для таких кнопок, как уведомления, корзина или сообщения.
👉 @MobDevPortal
В iOS 26.0+ теперь можно отображать бейджи на элементах тулбара с помощью модификатора
badge().Отлично подойдёт для таких кнопок, как уведомления, корзина или сообщения.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🤔1
Под капотом Android: как создаются, управляются и восстанавливаются процессы приложений в системе
Большая и полезная статья с разбором ключевых системных компонентов (Zygote, SystemServer, AMS, Binder) и процесса восстановления состояния через Bundle.
🔸 Читать
👉 @MobDevPortal
Большая и полезная статья с разбором ключевых системных компонентов (Zygote, SystemServer, AMS, Binder) и процесса восстановления состояния через Bundle.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
SwiftUI совет
Легко форматируй числа в удобочитаемом виде — например,
👉 @MobDevPortal
Легко форматируй числа в удобочитаемом виде — например,
1K вместо 1000 — прямо внутри TextPlease open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Scratchify
Compose Multiplatform библиотека для добавления эффекта стирания
https://github.com/gsrathoreniks/Scratchify
👉 @MobDevPortal
Compose Multiplatform библиотека для добавления эффекта стирания
https://github.com/gsrathoreniks/Scratchify
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3
Новое в SwiftUI
Теперь можно использовать
👉 @MobDevPortal
Теперь можно использовать
.tabViewBottomAccessory() для размещения кастомного контента в дополнительной области таб-бара — отлично подходит для постоянных действий или элементов управления.Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍1
Развеиваем мифы о Stability в Compose: оптимизации Strong Skipping
Интересная статья, в которой автор рассказывает, как лямбды и strong skipping режим влияют на работу компилятора и на рекомпозицию
Код экспериментов из статьи: ComposeStability
🔸 Читать
👉 @MobDevPortal
Интересная статья, в которой автор рассказывает, как лямбды и strong skipping режим влияют на работу компилятора и на рекомпозицию
Код экспериментов из статьи: ComposeStability
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3👍1
Новое в SwiftUI
👉 @MobDevPortal
ConcentricRectangle позволяет создавать фигуры, которые автоматически подстраиваются под скругление углов своего контейнера — отлично подходит для лаконичных интерфейсов, без необходимости вручную задавать радиусы угловPlease open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥1
iOS-разработчики, если ваш менеджер выглядит вот так, готовьтесь учить UIKit и возможно даже Objective-C
👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁32❤6👎1
Новое в SwiftUI
Наконец-то мы можем делать так, чтобы вью автоматически скругляли углы, повторяя форму своего родителя, используя стиль углов
👉 @MobDevPortal
Наконец-то мы можем делать так, чтобы вью автоматически скругляли углы, повторяя форму своего родителя, используя стиль углов
concentric — это делает лейауты более цельными и аккуратнымиPlease open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Swipe to Pay, или Как мы переписали слайдер оплаты на Compose
Полезная статья, в которой разработчик из Dodo Engineering подробно разбирает процесс создания достаточно сложного и прикольного компонента на Compose.
🔸 Читать
👉 @MobDevPortal
Полезная статья, в которой разработчик из Dodo Engineering подробно разбирает процесс создания достаточно сложного и прикольного компонента на Compose.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5
Новое в SwiftUI
Легко применяйте дизайн Liquid Glass к своим вью с помощью модификатора
👉 @MobDevPortal
Легко применяйте дизайн Liquid Glass к своим вью с помощью модификатора
glassEffect()Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Cовет по Flutter
Включите флаг
👉 @MobDevPortal
Включите флаг
checked в аннотации @JsonSerializable, чтобы точно увидеть, какие поля вызывают ошибки во время десериализации.Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Разница между использованием атрибута
Без
* Если изображение очень маленькое, SwiftData всё равно может решить сохранить его в базе, даже если вы используете атрибут
👉 @MobDevPortal
.externalStorage и его отсутствием в SwiftData.externalStorage — сохраняет в базе данных ссылку на изображение.Без
.externalStorage — сохраняет само изображение.* Если изображение очень маленькое, SwiftData всё равно может решить сохранить его в базе, даже если вы используете атрибут
.externalStoragePlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
LayoutNode: What Actually Happens When You Write
Годная статья, в которой разбирается
- What is the LayoutNode?
- How Compose Actually Creates Nodes
- LayoutNode vs Modifier.Node
- Rendering Pipeline
- Custom Layouts
- The bottom line
🟡 Читать
👉 @MobDevPortal
@ComposableГодная статья, в которой разбирается
LayoutNode: что это такое, как строится дерево из LayoutNode, как это влияет на производительность и отрисовку.- What is the LayoutNode?
- How Compose Actually Creates Nodes
- LayoutNode vs Modifier.Node
- Rendering Pipeline
- Custom Layouts
- The bottom line
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
SwiftUI совет
Замыкания в Label могут содержать несколько вью, которые автоматически стилизуются в зависимости от контекста — это отлично подходит для отображения заголовка вместе с дополнительной информацией.
👉 @MobDevPortal
Замыкания в Label могут содержать несколько вью, которые автоматически стилизуются в зависимости от контекста — это отлично подходит для отображения заголовка вместе с дополнительной информацией.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍1
The dark corners of inline, crossinline, and reified in Kotlin
Статья про возможные проблемы при неправильном использовании
- The promise and peril of inline
- Why crossinline matters in suspending contexts
- Reified: type-safe builders and beyond
- Debugging and testing inline code
- Checklist for safe use
🔸 Читать
👉 @MobDevPortal
Статья про возможные проблемы при неправильном использовании
inline, crossinline и reified в Kotlin.- The promise and peril of inline
- Why crossinline matters in suspending contexts
- Reified: type-safe builders and beyond
- Debugging and testing inline code
- Checklist for safe use
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
Совет по SwiftUI
В iOS 17.0+ вы можете управлять видимостью стрелки перехода в
👉 @MobDevPortal
В iOS 17.0+ вы можете управлять видимостью стрелки перехода в
NavigationLink с помощью модификатора navigationLinkIndicatorVisibility().Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1
Сделали "Wordle" полностью на KMP, и весь код выложен на GitHub
- iOS (SwiftUI)
- Android (Jetpack Compose)
- Desktop (Compose for Desktop)
https://github.com/joreilly/WordMasterKMP
👉 @MobDevPortal
- iOS (SwiftUI)
- Android (Jetpack Compose)
- Desktop (Compose for Desktop)
https://github.com/joreilly/WordMasterKMP
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍3