LiquidGlassKit
Superficies y controles Liquid Glass para SwiftUI: vidrio nativo en OS 26, fallback a Material hasta iOS 17.
Licencia: MIT
Un paquete SwiftUI para apps que quieren Liquid Glass pero siguen dando soporte a sistemas que no lo tienen. En iOS, macOS, tvOS y watchOS 26 dibuja con el glassEffect nativo de SwiftUI; en versiones anteriores y en visionOS dibuja un blur de Material con un tinte, un highlight de borde y una sombra. Cada componente está construido sobre un único modificador, glassSurface, de modo que el tema, el rendering path y Reduce Transparency se gestionan en un solo lugar. Sin dependencias de terceros.
Características
- Un modificador, dos caminos: glassSurface elige el vidrio nativo o el fallback a Material en tiempo de ejecución, y glassRenderingMode(.fallback) fuerza un único look en todas partes
- Controles ya hechos: botones, un switch style, un slider, cards, text fields, una search bar, una tab bar flotante con botón de acción y badges, una navigation bar y un bottom sheet
- Vidrio con tinte de gradiente y highlights animados de shimmer, pulse y breathe en ambos rendering paths
- GlassTheme para toda una jerarquía de vistas, 14 presets en GlassPreset, y GlassCodeExporter para convertir un tema ajustado de nuevo en código Swift
- Accesibilidad: el fallback dibuja un fondo opaco con Reduce Transparency y un borde más marcado con Increase Contrast, sin highlights con Reduce Motion, y el propio comportamiento de VoiceOver de SwiftUI para el switch y el slider
- Sin choques de nombres con glassEffect, GlassEffectContainer o GlassButtonStyle de SwiftUI, así que ambos módulos se pueden importar en el mismo archivo
- Suites de Swift Testing con comprobaciones de píxeles offscreen, ejecutadas en CI en macOS, un simulador de iOS 26 y un simulador de iOS 18.6
Inicio rápido
1import LiquidGlassKit2import SwiftUI3 4struct ContentView: View {5 var body: some View {6 ZStack {7 LinearGradient(colors: [.indigo, .pink], startPoint: .top, endPoint: .bottom)8 .ignoresSafeArea()9 VStack(spacing: 16) {10 GlassCard {11 Label("Hello, glass", systemImage: "sparkles")12 }13 GlassButton("Tap me", systemImage: "hand.tap") {}14 }15 }16 }17}Instalación
Swift Package Manager (Xcode)
1https://github.com/muhittincamdali/LiquidGlassKit.gitSwift Package Manager (Package.swift)
1dependencies: [2 .package(url: "https://github.com/muhittincamdali/LiquidGlassKit.git", from: "2.1.0")3],4targets: [5 .target(name: "YourApp", dependencies: [6 .product(name: "LiquidGlassKit", package: "LiquidGlassKit")7 ])8]Capturas de pantalla







Cronología
Repositorio abierto; la etiqueta v1.0.0 apunta al primer commit, que no compila
Simplificación: se eliminó la mayor parte del código fuente y se sustituyó por placeholders; los tests no compilaban y CI lo ocultaba con continue-on-error
Reconstruido para Swift 6 como 2.0.0 (PR #5): glassSurface con un camino nativo y otro de Material, Swift Testing, DocC y una app de demo
2.1.0 (PR #7): controles, efectos, presets y un exportador de código reescritos a partir de LiquidGlass-Playground y GlassmorphismUI, que fueron archivados