{"id":20711200,"url":"https://github.com/cypherpoet/book--swiftui-by-tutorials","last_synced_at":"2025-07-24T14:14:22.547Z","repository":{"id":98064018,"uuid":"213104076","full_name":"CypherPoet/book--swiftui-by-tutorials","owner":"CypherPoet","description":"Projects, playgrounds, and other materials made while following along with the Ray Wenderlich book \"SwiftUI By Tutorials\"","archived":false,"fork":false,"pushed_at":"2020-02-18T17:04:22.000Z","size":100012,"stargazers_count":27,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-23T07:08:53.018Z","etag":null,"topics":["cypherpoet","swift","swift-learning","swiftui"],"latest_commit_sha":null,"homepage":"https://store.raywenderlich.com/products/swiftui-by-tutorials","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CypherPoet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-10-06T03:34:11.000Z","updated_at":"2025-03-21T13:32:26.000Z","dependencies_parsed_at":"2023-05-23T08:30:31.372Z","dependency_job_id":null,"html_url":"https://github.com/CypherPoet/book--swiftui-by-tutorials","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CypherPoet/book--swiftui-by-tutorials","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CypherPoet%2Fbook--swiftui-by-tutorials","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CypherPoet%2Fbook--swiftui-by-tutorials/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CypherPoet%2Fbook--swiftui-by-tutorials/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CypherPoet%2Fbook--swiftui-by-tutorials/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CypherPoet","download_url":"https://codeload.github.com/CypherPoet/book--swiftui-by-tutorials/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CypherPoet%2Fbook--swiftui-by-tutorials/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266854691,"owners_count":23995488,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cypherpoet","swift","swift-learning","swiftui"],"created_at":"2024-11-17T02:14:27.812Z","updated_at":"2025-07-24T14:14:22.537Z","avatar_url":"https://github.com/CypherPoet.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SwiftUI By Tutorials\n\n_Projects, playgrounds, and other materials made while following along with the Ray Wenderlich book [\"SwiftUI By Tutorials\"](https://store.raywenderlich.com/products/swiftui-by-tutorials)._\n\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n\n# Contents\n\n- [Chapter 2: Getting Started](./02-getting-started)\n    - Building a slider-based RGB color guessing game\n    \u003cimg src=\"./02-getting-started/RGBBullsEye/Screenshots/recording-1.gif\" width=\"600px\"/\u003e\n\n- [Chapter 3: Understanding SwiftUI](./03-understanding-swiftui)\n    - Declarative app development and the tools offered by SwiftUI to facilitate it.\n\n\n- [Chapter 4: Integrating SwiftUI](./04-integrating-swiftui)\n    - Wrapping SwiftUI views in UIKit views\n    - Wrapping UIKit views in SwiftUI views\n    - Using `Coordinator`s inside of `UIViewRepresentable` types to store data bound across SwiftUI and UIKit.\n\n- [Chapter 5: The Apple Ecosystem](./05-the-apple-ecosystem)\n    - Building Swift Packages and Sharing Functionality Across Projects\n    - Using SwiftUI across iOS, macOS, and tvOS.\n\n\n- [Chapter 6: Intro to Controls: Text \u0026 Image](./06-intro-to-controls-text-and-image)\n\n- [Chapter 7: State \u0026 Data Flow](./07-state-and-data-flow)\n\n- [Chapter 8: Controls \u0026 User Input](./08-controls-and-user-input)\n\n- [Chapter 9: Stacks \u0026 Containers](./09-stacks-and-containers)\n\n- [Chapter 10: Lists \u0026 Navigation](./10-lists-and-navigation)\n\n- [Chapter 11: Building for Testability](./11-building-for-testability)\n\n- [Chapter 12: Handling User Input](./12-handling-user-input)\n\n- [Chapter 13: Drawing \u0026 Custom Graphics](./13-drawing-and-custom-graphics)\n\n- [Chapter 14: Animations](./14-animations)\n\n- [Chapter 15: Complex Interfaces](./15-complex-interfaces)\n\n\n# Projects\n\n- (Quite a few... but documenting is in progress 🙂)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcypherpoet%2Fbook--swiftui-by-tutorials","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcypherpoet%2Fbook--swiftui-by-tutorials","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcypherpoet%2Fbook--swiftui-by-tutorials/lists"}