
Друзья, привет! Сегодня хочу представить вам свою библиотеку - SwiftUI-Adapter, которая избавит вас от головной боли при работе с новыми модификаторами SwiftUI.
Недавно я наткнулся на удобную Android-библиотеку, которая упрощает работу с разными версиями API и подумал: «Почему бы не сделать что-то подобное для SwiftUI?». После этого родилась идея разработать инструмент, который избавит вас от бесконечных проверок available и сделает код чище.
Установка библиотеки выполняется через Swift Package Manager.
Зачем это нужно?
Каждый раз, когда Apple выпускает новый модификатор в SwiftUI, нам приходится писать такие конструкции:
if #available(iOS 15.0, macOS 12.0, *) {
YourView()
.badge(5)
} else {
YourView()
}
SwiftUI-Adapter делает эту рутину за вас! Просто используйте единый синтаксис – проверки версий останутся под капотом:
YourView()
.adapter.badge(5)
Преимущества:
Не повлияет на производительность: все проверки производятся на этапе компиляции.
Чистая кодовая база: больше никаких available в каждом втором файле.
Простота интеграции: добавляется за пару минут через SPM.
Открытый исходный код: полная прозрачность, возможность вносить правки и участвовать в развитии.
Библиотека поддерживает модификаторы доступные с iOS 15 и выше, а так же macOS 12 и выше.
SwiftUI-Adapter поддерживает большое количество модификаторов, включая новые модификаторы, которые были добавлены в iOS 26 и macOS 26. Описание каждого из модификаторов доступно на странице в GitHub.
Ознакомиться с другими моими публикациями и разработками можно в моем телеграм канале.
house2008
Никто никогда не будет пользоваться либой где в хедере файла написано на русском и ссылка на тг))
Я не спец в Swift, но часть функций в SwiftUIAdapter.swift непублиные как и сам extension где они описаны. Не думаю что они будут доступны при импорте вашего модуля. Мб ошибаюсь.
den_apps Автор
Чем плох русский язык в хедере?)