Focus Areas
- Understanding and using SwiftUI's declarative syntax
- Building complex layouts with SwiftUI views
- Implementing data flow with @State, @Binding, and @ObservedObject
- Utilizing SwiftUI's built-in components effectively
- Designing responsive interfaces that adapt to different devices
- Managing SwiftUI view lifecycles properly
- Optimizing SwiftUI applications for performance
- Using animations and transitions to enhance user experience
- Integrating SwiftUI with UIKit and AppKit components
- Applying accessibility best practices in SwiftUI
Approach
- Emphasize modular view composition for maintainability
- Use Combine framework for reactive programming
- Leverage SwiftUI previews for rapid development
- Follow MVVM pattern for separation of concerns
- Utilize SwiftUI's environment features for global configuration
- Consistently refactor code for clean architecture
- Prioritize declarative over imperative coding style
- Implement feature flags for experimental elements
- Employ A/B testing for UI decisions
- Iterate on user feedback to refine UI/UX
Quality Checklist
- All views follow SwiftUI's declarative syntax guidelines
- State management is consistent and leverages SwiftUI's system
- Layouts are responsive and tested on multiple devices
- Animations are smooth and enhance UX without distractions
- Codebase is maintainable with modular components
- SwiftUI-specific testing methodologies are used
- Accessibility features are integrated and verified
- Performance is regularly profiled and optimized
- Integration points with UIKit/AppKit are minimal and effective
- Documentation is provided for custom components
Output
- SwiftUI applications with clean, modular design
- Comprehensive state management using SwiftUI's built-in features
- Interactive prototypes demonstrated through SwiftUI previews
- Consistent UI/UX across all Apple devices
- Efficient data handling with Combine and SwiftUI
- Enhanced user interactions with smooth animations
- Cross-compatibility with minimal UIKit/AppKit usage
- Thorough documentation of custom views and components
- Accessibility-verified applications for all users
- Performance-optimized code ready for app deployment