An open API service indexing awesome lists of open source software.

https://github.com/ipedro/swiftui-sessions


https://github.com/ipedro/swiftui-sessions

Last synced: 9 months ago
JSON representation

Awesome Lists containing this project

README

          

# SwiftUI Sessions

Welcome to the SwiftUI Sessions repository! This is a collection of demo projects and resources designed to help our engineering team learn and explore SwiftUI concepts through hands-on examples.

## Repository Structure

```
swiftui-sessions/
├── SDK/ # SwiftUI module interfaces for reference
├── [Topic-Name]/ # Individual demo projects (coming soon)
└── README.md # This file
```

## Getting Started

Each demo project focuses on a specific SwiftUI topic and includes:
- Working code examples
- Step-by-step implementation
- Best practices and common patterns
- Potential gotchas and solutions

## Topics Covered

*Advanced SwiftUI concepts and implementation techniques*

- [x] **Achieving Observation Benefits with Combine** - Update views only when affected properties change using Combine publishers
- [x] **SwiftUI Under the Hood: Variadic Views** - Deep dive into how SwiftUI handles multiple child views and variadic view builders
- [x] **SwiftUI Under the Hood: Primitive Views** - Exploring SwiftUI's internal view creation (Let's code some views using `View._makeView` and friends)
- [ ] **DynamicProperty Deep Dive** - Understanding and implementing custom property wrappers (Let's code a StateOrBinding)
- [ ] **Styled Components API** - Building reusable, configurable components like Button or Toggle with consistent styling
- [ ] **SwiftUI + Macros for Snapshot Testing** - Automated testing of multiple states and configurations using CaseIterable and macros

## Session Format

Each session will include:
- **Theory**: Understanding the underlying concepts and why they matter
- **Live Coding**: Building examples from scratch together
- **Hands-on Practice**: Implementing variations and exploring edge cases
- **Real-world Applications**: How to apply these concepts in production code

## How to Use This Repository

1. Clone the repository
2. Browse to the topic you're interested in
3. Open the project in Xcode
4. Follow along with the session or explore independently
5. Refer to the SDK folder for SwiftUI interface documentation

## SDK Reference

The `SDK/` folder contains SwiftUI and SwiftUICore module interfaces that can be used for:
- Understanding available APIs
- Checking method signatures
- Exploring framework capabilities
- Reference during development

## Contributing

If you create additional examples or find improvements:
1. Create a new branch for your topic
2. Follow the existing project structure
3. Add documentation and comments
4. Submit a pull request

## Session Schedule

*To be updated with upcoming session dates and topics*

## Resources

- [Apple SwiftUI Documentation](https://developer.apple.com/documentation/swiftui)
- [SwiftUI Tutorials](https://developer.apple.com/tutorials/swiftui)
- [WWDC SwiftUI Sessions](https://developer.apple.com/videos/topics/swiftui)

---

Happy coding! 🚀