Комбинируем жесты и анимации в SwiftUI
В статье демонстрируют, как объединение жестов и анимаций в SwiftUI может повысить интерактивность и отзывчивость пользовательского интерфейса. Они начинают с простого примера, где изображение перемещается в соответствии с положением пальца пользователя, используя модификатор
Статья: https://www.createwithswift.com/combining-gestures-and-animations-with-swiftui/
Платформа: iOS
В статье демонстрируют, как объединение жестов и анимаций в SwiftUI может повысить интерактивность и отзывчивость пользовательского интерфейса. Они начинают с простого примера, где изображение перемещается в соответствии с положением пальца пользователя, используя модификатор
position и DragGesture. Затем они усложняют пример, добавляя анимацию возврата объекта в исходное положение с помощью withAnimation(.spring()), что делает взаимодействие более естественным и плавным. Этот подход подчеркивает важность визуальной обратной связи и демонстрирует, как SwiftUI позволяет легко создавать динамичные и интуитивно понятные интерфейсы.Статья: https://www.createwithswift.com/combining-gestures-and-animations-with-swiftui/
Платформа: iOS
Forwarded from Mobile Development by AppTractor
Google анонсирует Jetpack Navigation 3
Долгие годы разработчики жаловались на Jetpack Navigation (2) и теперь компания выпускает абсолютно новую библиотеку навигации, которая должна устранить все предыдущие проблемы.
Основные принципы:
• Вы владеете стеком: Вы, разработчик, а не библиотека, владеете и контролируете бэкстек.
• Не мешает: Nav3 спроектирована как открытая и расширяемая библиотека, предоставляя вам строительные блоки и полезные настройки по умолчанию.
• Выбираете свои строительные блоки: Вместо того чтобы встраивать все поведение в библиотеку, Nav3 предлагает небольшие компоненты, которые вы можете комбинировать для создания более сложной функциональности.
Ключевые особенности
• Анимации
• Адаптивные макеты
• Разграничение состояний
• Модульность
Есть пример кода и типовые решения.
В настоящее время Nav3 находится в стадии альфа-версии, что означает, что API может быть изменен на основе отзывов.
Долгие годы разработчики жаловались на Jetpack Navigation (2) и теперь компания выпускает абсолютно новую библиотеку навигации, которая должна устранить все предыдущие проблемы.
Основные принципы:
• Вы владеете стеком: Вы, разработчик, а не библиотека, владеете и контролируете бэкстек.
• Не мешает: Nav3 спроектирована как открытая и расширяемая библиотека, предоставляя вам строительные блоки и полезные настройки по умолчанию.
• Выбираете свои строительные блоки: Вместо того чтобы встраивать все поведение в библиотеку, Nav3 предлагает небольшие компоненты, которые вы можете комбинировать для создания более сложной функциональности.
Ключевые особенности
• Анимации
• Адаптивные макеты
• Разграничение состояний
• Модульность
Есть пример кода и типовые решения.
В настоящее время Nav3 находится в стадии альфа-версии, что означает, что API может быть изменен на основе отзывов.
Робот Android - любимый маскот пользователей и разработчиков Android. И предыдущие версии конструктора таких ботов были очень популярны - в Google решили в этом году переделать конструктор ботов с нуля, используя новейшие технологии, поддерживаемые Gemini. Сегодня компания выпустила новое приложение с открытым исходным кодом Androidify, с помощью которого можно научиться создавать мощный опыт на базе искусственного интеллекта на Android с использованием новейших технологий, таких как Jetpack Compose, Gemini API через Firebase AI Logic SDK, CameraX и Navigation 3.
Примечание: это приложение все еще находится в стадии разработки. В настоящее время в этом приложении используется стандартная модель Imagen, но авторы работают над усовершенствованной моделью, которая специально обучена всем элементам, делающим Android-бота милым и забавным, ею поделятся позже этим летом. А пока не удивляйтесь, если это приложение выдаст несколько интересных вариантов!
Приложение сочетает в себе множество различных технологий Google, таких как:
• Gemini API - через Firebase AI Logic SDK для доступа к базовым моделям Imagen и Gemini.
• Jetpack Compose - для создания пользовательского интерфейса с восхитительными анимациями и адаптации приложения к различным размерам экрана.
• Navigation 3 - новейшая навигационная библиотека для построения навигационных графов с помощью Compose.
• CameraX и Media3 Compose - для создания кастомной камеры с пользовательскими элементами управления пользовательским интерфейсом (поддержка задней камеры, поддержка зума, тап-фокус) и воспроизведения промо-видео.
Androidify на GitHub: https://github.com/android/androidify
Статья: https://apptractor.ru/androidify-link
Платформа: Android
⭐️: 308
Примечание: это приложение все еще находится в стадии разработки. В настоящее время в этом приложении используется стандартная модель Imagen, но авторы работают над усовершенствованной моделью, которая специально обучена всем элементам, делающим Android-бота милым и забавным, ею поделятся позже этим летом. А пока не удивляйтесь, если это приложение выдаст несколько интересных вариантов!
Приложение сочетает в себе множество различных технологий Google, таких как:
• Gemini API - через Firebase AI Logic SDK для доступа к базовым моделям Imagen и Gemini.
• Jetpack Compose - для создания пользовательского интерфейса с восхитительными анимациями и адаптации приложения к различным размерам экрана.
• Navigation 3 - новейшая навигационная библиотека для построения навигационных графов с помощью Compose.
• CameraX и Media3 Compose - для создания кастомной камеры с пользовательскими элементами управления пользовательским интерфейсом (поддержка задней камеры, поддержка зума, тап-фокус) и воспроизведения промо-видео.
Androidify на GitHub: https://github.com/android/androidify
Статья: https://apptractor.ru/androidify-link
Платформа: Android
⭐️: 308
Современные приложения имеют сложную внутреннюю архитектуру, которую при правильном понимании можно оптимизировать для повышения производительности, эффективности и удобства использования. Rosalind от Tuist анализирует пакеты приложений, чтобы выявить скрытые структуры, предоставляя разработчикам четкие и действенные сведения об их коде, зависимостях, ресурсах и общей структуре. Делая невидимое видимым, Rosalind дает командам разработчиков возможность принимать обоснованные решения при доработке приложений.
В настоящее время Rosalind обеспечивает всесторонний анализ артефактов приложений, созданных в Xcode, а в планах есть поддержка платформ Android и React Native. Цель авторов - предложить единый подход к пониманию ДНК ваших приложений во всех основных экосистемах разработки приложений.
Rosalind на GitHub: https://github.com/tuist/Rosalind
Платформа: iOS
⭐️: 56
В настоящее время Rosalind обеспечивает всесторонний анализ артефактов приложений, созданных в Xcode, а в планах есть поддержка платформ Android и React Native. Цель авторов - предложить единый подход к пониманию ДНК ваших приложений во всех основных экосистемах разработки приложений.
Rosalind на GitHub: https://github.com/tuist/Rosalind
Платформа: iOS
⭐️: 56
❤1🔥1
Что нового в Jetpack Compose
На Google I/O 2025 объявили о множестве обновлений функций, производительности, стабильности, библиотек и инструментов для Jetpack Compose, рекомендуемого инструментария для создания пользовательских интерфейсов для Android. С помощью Compose вы сможете создавать отличные приложения, которые будут работать на всех устройствах. С момента своего первого анонса (на Google I/O 2019!) Compose значительно усовершенствовался, и сейчас 60% из 1000 лучших приложений в Play Store, таких как MAX и Google Drive, используют и любят его.
Статья: https://apptractor.ru/info/articles/chto-novogo-v-jetpack-compose.html
Платформа: Android
На Google I/O 2025 объявили о множестве обновлений функций, производительности, стабильности, библиотек и инструментов для Jetpack Compose, рекомендуемого инструментария для создания пользовательских интерфейсов для Android. С помощью Compose вы сможете создавать отличные приложения, которые будут работать на всех устройствах. С момента своего первого анонса (на Google I/O 2019!) Compose значительно усовершенствовался, и сейчас 60% из 1000 лучших приложений в Play Store, таких как MAX и Google Drive, используют и любят его.
Статья: https://apptractor.ru/info/articles/chto-novogo-v-jetpack-compose.html
Платформа: Android
Большое обновление DivKit: визуальный редактор, поддержка форм, аниматоры
Команда DivKit надеется, что новые фичи помогут пользователям фреймворка и облегчат повседневные задачи. А пока мы продолжаем развитие DivKit: сейчас наше внимание направлено на feature parity между платформами и обновление документации.
Статья: https://habr.com/ru/companies/yandex/articles/909300/
Платформа: разработка
Команда DivKit надеется, что новые фичи помогут пользователям фреймворка и облегчат повседневные задачи. А пока мы продолжаем развитие DivKit: сейчас наше внимание направлено на feature parity между платформами и обновление документации.
Статья: https://habr.com/ru/companies/yandex/articles/909300/
Платформа: разработка
👍1
Унифицируем проверку форм с помощью TCA
В статье разработчик из AVIV делится опытом стандартизации валидации форм в приложениях iOS с использованием The Composable Architecture (TCA). Он подчеркивает, что при наличии множества форм в приложении важно избегать дублирования кода и несогласованности в логике валидации. Для решения этих проблем была разработана структура
Статья: https://medium.com/aviv-product-tech-blog/unifying-form-validation-using-tca-e582b919cc02
Платформа: iOS
В статье разработчик из AVIV делится опытом стандартизации валидации форм в приложениях iOS с использованием The Composable Architecture (TCA). Он подчеркивает, что при наличии множества форм в приложении важно избегать дублирования кода и несогласованности в логике валидации. Для решения этих проблем была разработана структура
FormValidationReducer, которая позволяет централизованно определять правила валидации для каждого поля формы, обеспечивая единообразие и упрощая тестирование. Это решение способствует более чистой архитектуре и облегчает масштабирование приложения.Статья: https://medium.com/aviv-product-tech-blog/unifying-form-validation-using-tca-e582b919cc02
Платформа: iOS
🔥1
Шаблоны проектирования - важные инструменты, широко используемые при разработке программного обеспечения. Эти паттерны позволяют улучшить качество кода, его согласованность и возможность повторного использования, контролируя создание, сборку и взаимодействие объектов.
Jetpack Compose Design Patterns - различные шаблоны проектирования, реализованные в Jetpack Compose (и Compose Multiplatform). Показаны примеры их использования и интеграции в современную разработку для Android.
Jetpack Compose Design Patterns на GitHub: https://github.com/meticha/jetpack-compose-design-patterns
Платформа: Android
⭐️: 189
Jetpack Compose Design Patterns - различные шаблоны проектирования, реализованные в Jetpack Compose (и Compose Multiplatform). Показаны примеры их использования и интеграции в современную разработку для Android.
Jetpack Compose Design Patterns на GitHub: https://github.com/meticha/jetpack-compose-design-patterns
Платформа: Android
⭐️: 189
•
(iOS Ru) Работа в Aviasales, уход в сторону от iOS, поиск информации•
(iOS En) SwiftUI - Task Management App UI•
(iOS En) Building Scrollable Tab View Using SwiftUI•
(iOS En) How to Cancel a Task at anytime in Swift Concurrency•
(iOS En) Mastering Custom Container Views in SwiftUI•
(And Ru) Память в Android, утечки и OOM•
(And En) What's new in Android•
(And En) What's new in Google Play•
(And En) What's new in Android development tools•
(And En) Adaptive Android development makes your app shine across devices•
(And En) Seamless video capture, editing and playback with CameraX and Media3•
(And En) Building differentiated apps for Android XR with 3D content•
(And En) Unlock user productivity with desktop windowing and stylus support•
(And En) Finding the perfect Gemini fit on Android•
(And En) Best practices for using web in your Android apps•
(And En) New in-car app experiences•
(And En) Mastering text input in Compose•
(And En) Build next-level UX with Material 3 Expressive•
(And En) Android notifications and Live Updates•
(And En) Google Home APIs, tools, and Gemini capabilities for your apps•
(And En) How You Get Your Compose UI From Hundreds of Recompositions to Almost Zero•
(And En) KotlinConf'25 – Day 1 Livestream (Feat. Keynote)•
(And En) Gradle Configuration Cache: 2x faster, 4x smaller, and ready for Gradle 9.0•
(Crs Ru) Настраиваем навигацию во Flutter-приложении через AutoRoute•
(Crs En) Demystify KMP builds and structure•
(Dev Ru) Стажировок мало, а джуны должны уметь всё: как становятся ИТ-специалистом в 2025 году•
(Dev Ru) Как тимлиду принимать сложные решения•
(Dev Ru) Язык программирования будущего – английский: визионерство, LLM, новая парадигмаПрошлогодние видео:
•
(iOS Ru) TOP 10 горячих клавиш для Xcode•
(iOS Ru) Swift Plugins: ускоряем сборку проекта•
(iOS Ru) Объединяем Combine и Swift Concurrency•
(And Ru) Взлом и защита Android-приложений•
(And Ru) Моментальный запуск: как VK Клипы работают с плейбэком видео на Android•
(Dev Ru) Как собеседовать мобильных инженеров? Системный дизайн спешит на помощь! (все собеседования)•
(Dev Ru) Проводим и проходим Mobile System Design-интервьюPlease open Telegram to view this post
VIEW IN TELEGRAM
👍3
DebugSwift - это комплексный набор инструментов, предназначенный для упрощения и улучшения процесса отладки приложений на базе Swift. Устраняете ли вы неполадки или оптимизируете производительность, DebugSwift предоставляет набор мощных функций, которые сделают ваш опыт отладки более эффективным:
• Доступ к отчетам о сбоям
• Смена локации
• Логи приложения
• Замедление анимаций
• Сетевые логи
• Мониторинг CPU, памяти, FPS
• Доступ к Keychain и User Defaults
• И другое
DebugSwift на GitHub: https://github.com/DebugSwift/DebugSwift
Платформа: iOS
⭐️: 734
• Доступ к отчетам о сбоям
• Смена локации
• Логи приложения
• Замедление анимаций
• Сетевые логи
• Мониторинг CPU, памяти, FPS
• Доступ к Keychain и User Defaults
• И другое
DebugSwift на GitHub: https://github.com/DebugSwift/DebugSwift
Платформа: iOS
⭐️: 734
👍2
Открываем Konfeature, нашу open-source библиотеку для удобной работы с Feature Flags
Мы создали открытую библиотеку Konfeature для оптимизации работы с Feature Flags и хотим поделиться нашей разработкой.
Статья: https://habr.com/ru/companies/redmadrobot/articles/911972/
Платформа: Android
Мы создали открытую библиотеку Konfeature для оптимизации работы с Feature Flags и хотим поделиться нашей разработкой.
Статья: https://habr.com/ru/companies/redmadrobot/articles/911972/
Платформа: Android
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать кастомный угловой бейдж в Jetpack Compose
В этой статье мы рассмотрим, как создать настраиваемый угловой бейдж в Jetpack Compose. Этот значок может быть особенно полезен для отображения скидок, ярлыков новых товаров или любых других отметок. Мы также позаботимся о том, чтобы содержимое значка было полностью настраиваемым.
Статья: https://apptractor.ru/info/articles/kak-sozdat-kastomnyy-uglovoy-beydzh-v-jetpack-compose.html
Платформа: Android
В этой статье мы рассмотрим, как создать настраиваемый угловой бейдж в Jetpack Compose. Этот значок может быть особенно полезен для отображения скидок, ярлыков новых товаров или любых других отметок. Мы также позаботимся о том, чтобы содержимое значка было полностью настраиваемым.
Статья: https://apptractor.ru/info/articles/kak-sozdat-kastomnyy-uglovoy-beydzh-v-jetpack-compose.html
Платформа: Android
❤1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Colibri: полностью декларативный и Тьюринг-полный язык, скрывающийся внутри системы типов Swift
Статья о Colibri — декларативном языке, скрытом внутри типовой системы Swift. Это не просто интересный эксперимент, а полноценный подход к разработке, который использует возможности Swift для создания выразительных и мощных решений.
Colibri позволяет описывать логику и поведение программ через типы и перечисления, превращая их в своеобразные доменные языки. Например, в модели TodoItem изменения состояния, даты или местоположения описываются через вложенные перечисления, что делает код более читаемым и поддерживаемым.
Особенно впечатляет реализация игры "Жизнь" Конвея с помощью Colibri. Это доказывает, что типовая система Swift обладает тьюринг-полнотой, позволяя моделировать сложные вычисления без явного управления состоянием.
Colibri демонстрирует, как можно использовать типовую систему Swift для создания декларативных и модульных решений. Это открывает новые горизонты для разработки, где типы становятся не просто проверкой на ошибки, а активными участниками логики приложения.
Статья: https://decodemeester.medium.com/colibri-the-fully-declarative-and-turing-complete-language-lurking-inside-swifts-type-system-9adfa27ce5ca
Платформа: iOS
Статья о Colibri — декларативном языке, скрытом внутри типовой системы Swift. Это не просто интересный эксперимент, а полноценный подход к разработке, который использует возможности Swift для создания выразительных и мощных решений.
Colibri позволяет описывать логику и поведение программ через типы и перечисления, превращая их в своеобразные доменные языки. Например, в модели TodoItem изменения состояния, даты или местоположения описываются через вложенные перечисления, что делает код более читаемым и поддерживаемым.
Особенно впечатляет реализация игры "Жизнь" Конвея с помощью Colibri. Это доказывает, что типовая система Swift обладает тьюринг-полнотой, позволяя моделировать сложные вычисления без явного управления состоянием.
Colibri демонстрирует, как можно использовать типовую систему Swift для создания декларативных и модульных решений. Это открывает новые горизонты для разработки, где типы становятся не просто проверкой на ошибки, а активными участниками логики приложения.
Статья: https://decodemeester.medium.com/colibri-the-fully-declarative-and-turing-complete-language-lurking-inside-swifts-type-system-9adfa27ce5ca
Платформа: iOS
❤1👍1
Vibe Lander - ретро-игра, сделанная с помощью Kotlin Multiplatform и Compose Multiplatform. Создано с применением Junie, ИИ-помощника от JetBrains, с использованием MVVM, Koin, корутин и Flow для реактивного управления состоянием.
Vibe Lander на GitHub: https://github.com/balch/lander
Платформа: Android
⭐️: 3
Vibe Lander на GitHub: https://github.com/balch/lander
Платформа: Android
⭐️: 3
NativePHP: создать невозможное и заработать $100 тыс. за первые три месяца
Саймон Хэмп создал то, о чем никто не думал - NativePHP, который позволяет разработчикам создавать десктопные и мобильные приложения на PHP.
Запустив мобильную версию три месяца назад, он уже заработал 100 тысяч долларов.
Саймон рассказывает, как ему это удалось.
Статья: https://apptractor.ru/info/articles/nativephp-sozdat-nevozmozhnoe-i-zarabotat-100-tys-za-pervye-tri-mesyatsa.html
Платформа: кроссплатформа
Саймон Хэмп создал то, о чем никто не думал - NativePHP, который позволяет разработчикам создавать десктопные и мобильные приложения на PHP.
Запустив мобильную версию три месяца назад, он уже заработал 100 тысяч долларов.
Саймон рассказывает, как ему это удалось.
Статья: https://apptractor.ru/info/articles/nativephp-sozdat-nevozmozhnoe-i-zarabotat-100-tys-za-pervye-tri-mesyatsa.html
Платформа: кроссплатформа
Rafinad: сахар для UI-тестирования iOS-приложений
Мы в hh очень любим UI-тесты, ими покрывается практически вся функциональность наших приложений, и даже backend-разработчики прогоняют тесты мобильных платформ перед развертыванием своих фич. Однако наши механизмы UI-тестирования разрабатывались более 8 лет назад и с тех пор почти не изменились.
Кто-то скажет, что старые решения прошли проверку временем и что «работает — не трогай»... Возможно, и так. Но сейчас мы внедряем новую дизайн-систему, а новые компоненты требуют адаптации всех тестов — не лучшее ли время для перемен?
Поэтому мы пересмотрели наши подходы к UI-тестированию и теперь готовы поделиться наработками с сообществом в виде open-source проекта — Rafinad. В этой статье расскажем, что он умеет и как им пользоваться.
Статья: https://habr.com/ru/companies/hh/articles/910380/
Платформа: iOS
Мы в hh очень любим UI-тесты, ими покрывается практически вся функциональность наших приложений, и даже backend-разработчики прогоняют тесты мобильных платформ перед развертыванием своих фич. Однако наши механизмы UI-тестирования разрабатывались более 8 лет назад и с тех пор почти не изменились.
Кто-то скажет, что старые решения прошли проверку временем и что «работает — не трогай»... Возможно, и так. Но сейчас мы внедряем новую дизайн-систему, а новые компоненты требуют адаптации всех тестов — не лучшее ли время для перемен?
Поэтому мы пересмотрели наши подходы к UI-тестированию и теперь готовы поделиться наработками с сообществом в виде open-source проекта — Rafinad. В этой статье расскажем, что он умеет и как им пользоваться.
Статья: https://habr.com/ru/companies/hh/articles/910380/
Платформа: iOS
FCM для Android и Backend на Kotlin
Firebase Cloud Messaging (FCM) — это бесплатный (или почти) облачный сервис от Google, который позволяет отправлять push-уведомления и сообщения напрямую на устройства Android, iOS и веб-приложения. FCM широко используется для реализации мгновенных уведомлений, оповещений о событиях, маркетинговых рассылок и других сценариев, где требуется быстрая доставка сообщений пользователям.
В этой статье мы рассмотрим, как интегрировать FCM в Android-приложение на Kotlin и как настроить отправку push-уведомлений с небольшого, похожего backend, сервера, написанного на Kotlin. Вы узнаете, как подключить Firebase к вашему проекту, реализовать обработку входящих сообщений на устройстве, а также научитесь отправлять push-уведомления на выбранные устройства.
Статья: https://habr.com/ru/articles/912710/
Платформа: Android
Firebase Cloud Messaging (FCM) — это бесплатный (или почти) облачный сервис от Google, который позволяет отправлять push-уведомления и сообщения напрямую на устройства Android, iOS и веб-приложения. FCM широко используется для реализации мгновенных уведомлений, оповещений о событиях, маркетинговых рассылок и других сценариев, где требуется быстрая доставка сообщений пользователям.
В этой статье мы рассмотрим, как интегрировать FCM в Android-приложение на Kotlin и как настроить отправку push-уведомлений с небольшого, похожего backend, сервера, написанного на Kotlin. Вы узнаете, как подключить Firebase к вашему проекту, реализовать обработку входящих сообщений на устройстве, а также научитесь отправлять push-уведомления на выбранные устройства.
Статья: https://habr.com/ru/articles/912710/
Платформа: Android
Быстродействие прокрутки в SwiftUI - в погоне за 120 кадрами в секунду
SwiftUI может столкнуться с очень болезненными проблемами производительности при работе с бесконечно прокручиваемой лентой. Сегодня мы изучим эти проблемы производительности, поймем, почему они возникают, и рассмотрим методы их устранения, чтобы сделать производительность SwiftUI гладкой как масло Аннушки.
Статья: https://apptractor.ru/info/articles/swiftui-120.html
Платформа: iOS
SwiftUI может столкнуться с очень болезненными проблемами производительности при работе с бесконечно прокручиваемой лентой. Сегодня мы изучим эти проблемы производительности, поймем, почему они возникают, и рассмотрим методы их устранения, чтобы сделать производительность SwiftUI гладкой как масло Аннушки.
Статья: https://apptractor.ru/info/articles/swiftui-120.html
Платформа: iOS
👍1
SUICoordinator - библиотека SwiftUI, обеспечивающая мощное управление навигацией и координацию на основе вкладок для iOS-приложений. SUICoordinator обеспечивает чистое разделение проблем, отделяя логику навигации от представлений, что делает SwiftUI-приложения более удобными в обслуживании и масштабируемыми.
Ключевые особенности
• Чистый SwiftUI: Никаких зависимостей от UIKit - построен полностью на SwiftUI
• Паттерн координатор: Чистое отделение логики навигации от представлений
• Координация вкладок: Расширенная навигация на основе вкладок с помощью TabCoordinator, кастомных представлений и бейджей
• Гибкие презентации: Поддержка push, sheet, fullscreen, detents и кастомных презентаций
• Глубокое связывание: Возможности принудительного представления для push-уведомлений и внешних триггеров
• Типобезопасные маршруты: Сильно типизированные маршруты навигации с безопасностью при компиляции
• Асинхронная навигация: Полная поддержка async/await для плавной навигации
• Кастомные панели вкладок: создание полностью кастомных интерфейсов вкладок с помощью TabCoordinator
• Поддержка бейджей: Динамическое управление бейджами для элементов вкладок в TabCoordinator
• Управление памятью: Автоматическая очистка и управление ресурсами
SUICoordinator на GitHub: https://github.com/felilo/SUICoordinator
Платформа: iOS
⭐️: 79
Ключевые особенности
• Чистый SwiftUI: Никаких зависимостей от UIKit - построен полностью на SwiftUI
• Паттерн координатор: Чистое отделение логики навигации от представлений
• Координация вкладок: Расширенная навигация на основе вкладок с помощью TabCoordinator, кастомных представлений и бейджей
• Гибкие презентации: Поддержка push, sheet, fullscreen, detents и кастомных презентаций
• Глубокое связывание: Возможности принудительного представления для push-уведомлений и внешних триггеров
• Типобезопасные маршруты: Сильно типизированные маршруты навигации с безопасностью при компиляции
• Асинхронная навигация: Полная поддержка async/await для плавной навигации
• Кастомные панели вкладок: создание полностью кастомных интерфейсов вкладок с помощью TabCoordinator
• Поддержка бейджей: Динамическое управление бейджами для элементов вкладок в TabCoordinator
• Управление памятью: Автоматическая очистка и управление ресурсами
SUICoordinator на GitHub: https://github.com/felilo/SUICoordinator
Платформа: iOS
⭐️: 79
👍1
Создание кастомного тултипа Jetpack Compose
В мире мобильной разработки удобство и интуитивность интерфейса играют ключевую роль. Одним из способов улучшения пользовательского опыта является предоставление дополнительной информации в нужный момент, и для этого идеально подходят тултипы.
В этой статье мы разберём, как создать гибкую и удобную систему тултипов в Jetpack Compose, используя модифайеры и специальный оборачивающий блок. Мы шаг за шагом рассмотрим создание необходимых компонентов, их взаимодействие и методы управления тултипом.
Статья: https://habr.com/ru/companies/wildberries/articles/905994/
Платформа: Android
В мире мобильной разработки удобство и интуитивность интерфейса играют ключевую роль. Одним из способов улучшения пользовательского опыта является предоставление дополнительной информации в нужный момент, и для этого идеально подходят тултипы.
В этой статье мы разберём, как создать гибкую и удобную систему тултипов в Jetpack Compose, используя модифайеры и специальный оборачивающий блок. Мы шаг за шагом рассмотрим создание необходимых компонентов, их взаимодействие и методы управления тултипом.
Статья: https://habr.com/ru/companies/wildberries/articles/905994/
Платформа: Android
👍1