Communitygithub.com

dimillian/swiftui-ui-patterns

Melhores práticas e orientação baseada em exemplos para construir visualizações e componentes SwiftUI, incluindo hierarquias de navegação, modificadores de visualização personalizados e layouts responsivos com pilhas e grades.

O que é swiftui-ui-patterns?

Este skill fornece um guia abrangente de melhores práticas e padrões para desenvolvimento SwiftUI, ajudando desenvolvedores a criar interfaces declarativas para iOS de forma eficiente e consistente. Ele cobre desde hierarquias de navegação com NavigationStack e NavigationSplitView, passando por modificadores de visualização reutilizáveis, até layouts responsivos usando VStack, HStack, LazyVGrid e LazyHGrid. Também aborda a arquitetura de abas com TabView e o gerenciamento de estado com @State, @Binding, @Observable e @Environment, oferecendo exemplos práticos e orientação para refatoração. Suporta as plataformas Apple (iOS, iPadOS, macOS, watchOS, tvOS) e é útil tanto para novos projetos quanto para refatoração de código SwiftUI existente, promovendo código mais limpo, modular e de fácil manutenção.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/dimillian/skills/tree/main/skills/swiftui-ui-patterns

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que swiftui-ui-patterns faz?

Melhores práticas e orientação baseada em exemplos para construir visualizações e componentes SwiftUI, incluindo hierarquias de navegação, modificadores de visualização personalizados e layouts responsivos com pilhas e grades. Use ao criar ou refatorar UI SwiftUI, projetar arquitetura de abas com TabView, compor telas com VStack/HStack, gerenciar @State ou @Binding, construir interfaces iOS declarativas ou precisar de padrões e exemplos específicos para componentes.

Visão Geral

Este skill fornece um repositório de padrões comprovados para desenvolvimento SwiftUI. Ao contrário de documentação genérica, ele oferece exemplos concretos e aplicáveis para cenários comuns do dia a dia.

Quando Usar

  • Criando ou refatorando view SwiftUI
  • Projetando navegação com NavigationStack ou NavigationSplitView
  • Compondo layouts com VStack, HStack, LazyVGrid, LazyHGrid
  • Gerenciando estado com @State, @Binding, @Observable, @Environment
  • Construindo interfaces com TabView
  • Criando modificadores de visualização reutilizáveis

Práticas Recomendadas

  1. Divisão de Views: Mantenha views pequenas e focadas. Extraia subviews conforme necessário.
  2. Modificadores: Prefira ViewModifier a modificar diretamente cada view.
  3. Estado: Use a menor quantidade de estado possível. Prefira @Binding para dados derivados.
  4. Navegação: Use NavigationStack para hierarquias simples e NavigationSplitView para layouts de múltiplas colunas.
  5. Performance: Use LazyVStack/LazyVGrid para listas grandes para carregamento sob demanda.

Exemplos Rápidos

Modificador de Visualização Personalizado

struct CardStyle: ViewModifier {
    func body(content: Content) -> some View {
        content
            .padding()
            .background(Color(.systemBackground))
            .cornerRadius(12)
            .shadow(color: .gray.opacity(0.2), radius: 5, x: 0, y: 2)
    }
}

extension View {
    func cardStyle() -> some View {
        modifier(CardStyle())
    }
}

Layout Responsivo com Grade

struct PhotoGrid: View {
    let columns = [GridItem(.adaptive(minimum: 100))]
    let photos: [String]
    
    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 16) {
                ForEach(photos, id: \.self) { photo in
                    Image(photo)
                        .resizable()
                        .scaledToFit()
                        .frame(height: 100)
                }
            }
            .padding()
        }
    }
}

Plataformas Suportadas

  • iOS 16+
  • iPadOS 16+
  • macOS 13+
  • watchOS 9+
  • tvOS 16+

Integração

Clone ou referencie este repositório como submódulo em seu projeto Xcode. Os exemplos podem ser adaptados diretamente para seu código.

git submodule add https://github.com/dimillian/swiftui-ui-patterns.git

Contribuição

Contribuições são bem-vindas. Envie pull requests com novos padrões, exemplos ou correções de bugs seguindo os padrões existentes.

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

dimillian/app-store-changelog

Create user-facing App Store release notes by collecting and summarizing all user-impacting changes since the last git tag (or a specified ref). Use when asked to generate a comprehensive release changelog, App Store "What's New" text, or release notes based on git history or tags.

dimillian/ios-debugger-agent

Use XcodeBuildMCP to build, run, launch, and debug the current iOS project on a booted simulator. Trigger when asked to run an iOS app, interact with the simulator UI, inspect on-screen state, capture logs/console output, or diagnose runtime behavior using XcodeBuildMCP tools.

dimillian/macos-spm-app-packaging

Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project. Use when you need a from-scratch macOS app layout, SwiftPM targets/resources, a custom .app bundle assembly script, or signing/notarization/appcast steps outside Xcode.

dimillian/swift-concurrency-expert

Swift Concurrency review and remediation for Swift 6.2+. Use when asked to review Swift Concurrency usage, improve concurrency compliance, or fix Swift concurrency compiler errors in a feature or file. Concrete actions include adding Sendable conformance, applying @MainActor annotations, resolving actor isolation warnings, fixing data race diagnostics, and migrating completion handlers to async/await.

dimillian/swiftui-liquid-glass

Implement, review, or improve SwiftUI features using the iOS 26+ Liquid Glass API. Use when asked to adopt Liquid Glass in new SwiftUI UI, refactor an existing feature to Liquid Glass, or review Liquid Glass usage for correctness, performance, and design alignment.

dimillian/swiftui-performance-audit

Audit and improve SwiftUI runtime performance from code review and architecture. Use for requests to diagnose slow rendering, janky scrolling, high CPU/memory usage, excessive view updates, or layout thrash in SwiftUI apps, and to provide guidance for user-run Instruments profiling when code review alone is insufficient.

dimillian/swiftui-view-refactor

Refactor and review SwiftUI view files with strong defaults for small dedicated subviews, MV-over-MVVM data flow, stable view trees, explicit dependency injection, and correct Observation usage. Use when cleaning up a SwiftUI view, splitting long bodies, removing inline actions or side effects, reducing computed `some View` helpers, or standardizing `@Observable` and view model initialization patterns.

Habilidades Relacionadas