Skip to content

A collection of small SwiftUI sample projects.

License

Notifications You must be signed in to change notification settings

moostraws/simple-swiftui

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple SwiftUI logo

Twitter: @twostraws

Simple SwiftUI is a small but growing collection of projects designed to provide small sample projects for SwiftUI learners to read, learn from, modify, and even use as a basis for their projects in the future.

What’s available

Each project in Simple SwiftUI is designed to stand alone as an example solution to a common starter project. This means they don’t have special frills, weird hacks, “clever code”, or similar – they are designed to get one specific job done, rather than demonstrate every possible SwiftUI view and modifier in a single project.

Right now there are just four projects available, but more will be added in time:

The goal is to build up a collection of SwiftUI projects that do one job and do it well, all updated for the latest versions of Swift and SwiftUI so they make for ideal projects for folks to read through and find high-quality code they can learn from.

Tip: All projects here are configured to use SwiftLint as part of their build process, which helps to enforce standard coding style and conventions. SwiftLint is free to install here, and is highly recommended.

Learn how they were made

I produced these projects on livestreams as part of Hacking with Swift+ – there are videos there along with transcriptions, so you can see exactly how the apps are put together, and why I made certain choices.

Contributing

I’ll be adding more projects here in the future, but there are lots of things anyone can help with:

  • Identifying and fixing any bugs.
  • Identifying and implementing opportunities to simplify the code.
  • Identifying and improving any accessibility problems.
  • Adding tests – unit tests, UI tests, and performance tests are welcome.
  • Writing comments and other documentation designed to make the projects more easily understood.
  • Updating any old Swift or SwiftUI code, so that the projects all target the latest stable version of iOS and Xcode.
  • Ensuring all files build without warnings, including warnings issued by SwiftLint.

If you would like to contribute, please keep these things in mind:

  • The goal isn’t to pack each app with features, in fact the more code we remove the better. This means we don’t need to make every list searchable, for example – there will be a project just for that topic.
  • If there is no option but to use a workaround, e.g. for something SwiftUI doesn’t support yet, then go for it! These are real-world projects, and these projects need to reflect that.
  • If you modify code, please make sure it is thoroughly documented so that someone reading the project can understand it. This is doubly important for any workarounds.
  • If you contribute code or other assets, please make sure it’s something you wrote yourself, and that you are happy to license it under the MIT license so that others can use it freely.

Above all, please keep your code as simple as possible – if you can avoid more advanced features like generics and protocol extensions, please do.

Credits

Simple SwiftUI was made by Paul Hudson, who writes free Swift tutorials over at Hacking with Swift. All code here is released under the MIT license, which permits commercial use, modification, distribution, and private use.

About

A collection of small SwiftUI sample projects.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Swift 100.0%