This media is not supported in your browser
VIEW IN TELEGRAM
ZoomTransition в SwiftUI почти не поддается кастомизации, но «под капотом» у него есть опции вроде
В этом демо используются приватные API. В UIKit эти опции доступны публично.
👉 @MobDevPortal
dimmingVisualEffect. С их помощью можно было бы воссоздать переходы, как в приложении Photos, но, к сожалению, эти API в SwiftUI приватные.В этом демо используются приватные API. В UIKit эти опции доступны публично.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
Совет по SwiftUI
В iOS 16+ используйте
👉 @MobDevPortal
В iOS 16+ используйте
toolbarTitleMenu(), чтобы показывать меню при тапе по заголовку навигации.Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2
Загрузка данных во ViewModel: рекомендации и Flow-based архитектура
Перевод на Хабре вот этой статьи, про паттерны загрузки данных во ViewModel.
- Читать
👉 @MobDevPortal
Перевод на Хабре вот этой статьи, про паттерны загрузки данных во ViewModel.
- Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Совет по SwiftUI
Хотите, чтобы заголовок панели навигации оставался крупным, но был inline?
В iOS 17+ используйте
👉 @MobDevPortal
Хотите, чтобы заголовок панели навигации оставался крупным, но был inline?
В iOS 17+ используйте
.toolbarTitleDisplayMode(.inlineLarge).Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
Exploring 5 Lesser-Known Compose Components
В статье рассматривают 5 малоизвестных Jetpack Compose компонентов, с примерами кода когда и как их использовать.
— TriStateCheckbox
— SegmentedButton
— RangeSlider
— Badge
— Tooltip
🔸 Читать
👉 @MobDevPortal
В статье рассматривают 5 малоизвестных Jetpack Compose компонентов, с примерами кода когда и как их использовать.
— TriStateCheckbox
— SegmentedButton
— RangeSlider
— Badge
— Tooltip
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Новое в SwiftUI
В iOS 26 мы наконец-то можем сделать так, чтобы кнопки растягивались на всю доступную ширину контейнера с помощью метода
👉 @MobDevPortal
В iOS 26 мы наконец-то можем сделать так, чтобы кнопки растягивались на всю доступную ширину контейнера с помощью метода
buttonSizing()Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3🏆1
This media is not supported in your browser
VIEW IN TELEGRAM
На GitHub есть репозиторий free-programming-books, где собрано более 4000 бесплатных книг, 2000 курсов и других полезных ресурсов по программированию
Для удобства поиска можно использовать этот инструмент
Этот проект - яркий пример силы опенсорс сообщества, который из клона списка со StackOverflow стал одним из самых популярных на GitHub✌️
🔸 Русскоязычная версия ресурсов
👉 @MobDevPortal
Для удобства поиска можно использовать этот инструмент
Этот проект - яркий пример силы опенсорс сообщества, который из клона списка со StackOverflow стал одним из самых популярных на GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
This media is not supported in your browser
VIEW IN TELEGRAM
В этом туториале по SwiftUI мы соберём чистое, анимированное action-меню, вдохновлённое Grok. Вы научитесь создавать плавающую панель инструментов с плавными переходами, размытием фона и закрытием по тапу
👉 @MobDevPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2
Совет по симулятору iOS: можно установить время в симуляторе на фиксированные 9:41, как на маркетинговых скриншотах Apple.
Замените
Идеально для чистых скриншотов приложения
👉 @MobDevPortal
Замените
[DEVICE_ID] на UUID вашего симулятора (найти его можно командой: xcrun simctl list devices)Идеально для чистых скриншотов приложения
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥2
Совет по SwiftUI
Модификатор
👉 @MobDevPortal
Модификатор
glassEffect() по умолчанию применяет форму капсулы, но вы легко можете изменить её на любую другую форму по своему усмотрению.Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍2
Совет по SwiftUI
Используй
(iOS 17.0+)
👉 @MobDevPortal
Используй
.toolbarTitleDisplayMode(.inlineLarge), чтобы показывать крупный заголовок Navigation Title, оставаясь в inline-режиме - отлично подходит для компактных layout’ов.(iOS 17.0+)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Почему моё Android-приложение крашится?
Интересная статья про то, как на уровне системы устроен механизм закрытия приложения, когда в вашем коде выбрасывается необрабатываемый эксепшн.
- Zygote и запуск приложений
- Как Android обрабатывает непойманные исключения?
- Кто сообщает о краше?
- Почему в итоге приложение закрывается?
- А можно ли сделать так, чтобы оно не закрывалось?
🟡 Читать
👉 @MobDevPortal
Интересная статья про то, как на уровне системы устроен механизм закрытия приложения, когда в вашем коде выбрасывается необрабатываемый эксепшн.
- Zygote и запуск приложений
- Как Android обрабатывает непойманные исключения?
- Кто сообщает о краше?
- Почему в итоге приложение закрывается?
- А можно ли сделать так, чтобы оно не закрывалось?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
SwiftUI совет
По умолчанию бейджи в таб-баре отображаются красным цветом
Вы можете изменить их цвет как для обычного, так и для выбранного состояния всего несколькими строками UIKit-кода.
👉 @MobDevPortal
По умолчанию бейджи в таб-баре отображаются красным цветом
Вы можете изменить их цвет как для обычного, так и для выбранного состояния всего несколькими строками UIKit-кода.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3
Forwarded from IT Portal
Swift-разработчики, подъехало мощное: Apple официально завезли Swift SDK для Android. Теперь можно писать бизнес-логику под Android на том же Swift
Уже 25% пакетов в Swift Package Index нормально собираются под Android. Примеры Android-проектов с использованием Swift SDK можно найти на GitHub
Гайд по старту тут
@IT_Portal
Уже 25% пакетов в Swift Package Index нормально собираются под Android. Примеры Android-проектов с использованием Swift SDK можно найти на GitHub
Гайд по старту тут
@IT_Portal
❤12👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Pulse Indicator in Jetpack Compose
Пример реализации вот такого пульсирующего индикатора на Jetapck Compose.
🔸 Читать
👉 @MobDevPortal
Пример реализации вот такого пульсирующего индикатора на Jetapck Compose.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
SwiftUI совет
В iOS 16+ можно сделать так, чтобы
👉 @MobDevPortal
В iOS 16+ можно сделать так, чтобы
TextField автоматически расширялся по вертикали по мере ввода текста, для этого достаточно установить параметр axis в значение .verticalPlease open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤2
К вопросу о шифровании данных на мобильных устройствах бизнес-пользователей
Название статьи кажется несовсем подходящее, т.к. про мобилки там совсем малая часть, но для общего понимания принципов и механики шифрования данных – почитать можно.
- Процесс шифрования данных
- Симметричные алгоритмы шифрования
- Асимметричные алгоритмы шифрования
- Шифрование на Android с помощью библиотек Cipher и SQLCipher
- Шифрование по ГОСТ: есть ли перспективы?
Читать
👉 @MobDevPortal
Название статьи кажется несовсем подходящее, т.к. про мобилки там совсем малая часть, но для общего понимания принципов и механики шифрования данных – почитать можно.
- Процесс шифрования данных
- Симметричные алгоритмы шифрования
- Асимметричные алгоритмы шифрования
- Шифрование на Android с помощью библиотек Cipher и SQLCipher
- Шифрование по ГОСТ: есть ли перспективы?
Читать
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Kotlin Mutex: Thread-Safe Concurrency for Coroutines
Крутая статья про то, как писать потокобезопасный код используя Kotlin Mutex с Корутинами. Там и кейсы, и ошибки, и лучшие практики, в общем всё как мы любим 🔥.
- What is Mutex?
- Core Use Cases for Mutex
- Best Practices
- Mutex vs. Other Synchronization Methods
- Common Pitfalls
- Performance Considerations
- Real-World Example: Thread-Safe Repository
- Testing Mutex-Protected Code
- Final Thoughts
🔸 Читать
👉 @MobDevPortal
Крутая статья про то, как писать потокобезопасный код используя Kotlin Mutex с Корутинами. Там и кейсы, и ошибки, и лучшие практики, в общем всё как мы любим 🔥.
- What is Mutex?
- Core Use Cases for Mutex
- Best Practices
- Mutex vs. Other Synchronization Methods
- Common Pitfalls
- Performance Considerations
- Real-World Example: Thread-Safe Repository
- Testing Mutex-Protected Code
- Final Thoughts
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Совет по SwiftUI
В iOS 26.0+ можно сделать так, чтобы кнопки автоматически расширялись, заполняя всю доступную ширину контейнера, с помощью модификатора
Идеально подходит для онбординга и paywall-экранов
👉 @MobDevPortal
В iOS 26.0+ можно сделать так, чтобы кнопки автоматически расширялись, заполняя всю доступную ширину контейнера, с помощью модификатора
.buttonSizing(.flexible)Идеально подходит для онбординга и paywall-экранов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Опенсорс клиент для соц.сети Bluesky. Приложения на Jetpack Compose Multiplatform для Android, iOS и Desktop
Тех стек:
- Многомодульная архитектура
- Metro DI
- Coil для показа картинок
- Kotlin Coroutines и SerlializationX
- Ktor
- Jetpack Room
GitHub: Heron
👉 @MobDevPortal
Тех стек:
- Многомодульная архитектура
- Metro DI
- Coil для показа картинок
- Kotlin Coroutines и SerlializationX
- Ktor
- Jetpack Room
GitHub: Heron
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍2