{"id":13489454,"url":"https://github.com/AvdLee/CombineSwiftPlayground","last_synced_at":"2025-03-28T04:31:14.072Z","repository":{"id":37458349,"uuid":"191602452","full_name":"AvdLee/CombineSwiftPlayground","owner":"AvdLee","description":"A Swift playground explaining the concepts of the new Combine framework","archived":false,"fork":false,"pushed_at":"2024-02-01T12:19:11.000Z","size":1056,"stargazers_count":1160,"open_issues_count":5,"forks_count":88,"subscribers_count":33,"default_branch":"master","last_synced_at":"2024-10-20T21:22:48.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AvdLee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":["AvdLee"]}},"created_at":"2019-06-12T15:56:49.000Z","updated_at":"2024-10-16T04:30:20.000Z","dependencies_parsed_at":"2024-10-25T18:43:49.904Z","dependency_job_id":"83774af8-73d1-4bd2-b33b-eab46cdfd0fe","html_url":"https://github.com/AvdLee/CombineSwiftPlayground","commit_stats":{"total_commits":48,"total_committers":5,"mean_commits":9.6,"dds":0.375,"last_synced_commit":"f2992d65acc99ee0f1f7898f75f868496792a555"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AvdLee%2FCombineSwiftPlayground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AvdLee%2FCombineSwiftPlayground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AvdLee%2FCombineSwiftPlayground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AvdLee%2FCombineSwiftPlayground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AvdLee","download_url":"https://codeload.github.com/AvdLee/CombineSwiftPlayground/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245970571,"owners_count":20702446,"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","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":[],"created_at":"2024-07-31T19:00:28.027Z","updated_at":"2025-03-28T04:31:13.339Z","avatar_url":"https://github.com/AvdLee.png","language":"Swift","funding_links":["https://github.com/sponsors/AvdLee"],"categories":["Open Source","Swift","etc"],"sub_categories":[],"readme":"# A Swift Playground explaining the concepts of the new Combine framework\nThis playground will help you to get started with [Combine - Apple Developer Documentation](https://developer.apple.com/documentation/combine).\n\n## Included in this playground\nThe playground is a paged playground and is built up in several chapters\n\n- What is Combine?\n- Publishers \u0026 Subscribers\n- Rules of subscriptions\n- Foundation and Combine\n- @Published property and bindings\n- Memory management explained with `AnyCancellable`\n- Flatmap and matching error types\n- Combining Publishers\n- Future and Promises\n- Custom `Publisher` and UIKit extensions\n- Debugging publishers\n\nMore to come!\n\n## Requirements\n- Xcode 11 beta 4\n \n## Example of a playground page\n![](Assets/flatmap_playground_example.png)\n\n## Interesting resources\nSome interesting resources regarding Combine.\n\n- [Getting started with the Combine framework in Swift](https://www.avanderlee.com/swift/combine/)\n- [Creating a custom Combine Publisher to extend UIKit](https://www.avanderlee.com/swift/custom-combine-publisher/)\n- [Combine debugging using operators in Swift](https://www.avanderlee.com/swift/combine-swift/)\n- [RxSwift to Apples Combine](https://medium.com/gett-engineering/rxswift-to-apples-combine-cheat-sheet-e9ce32b14c5b)\n- [WWDC 2019 s721 - Combine in practice](https://developer.apple.com/videos/play/wwdc2019/721/)\n- [WWDC 2019 s722 - Introducing Combine](https://developer.apple.com/videos/play/wwdc2019/722/)\n- [Open Source insight of Combine](https://github.com/broadwaylamb/OpenCombine)\n\n## Interesting Frameworks\nSome interesting frameworks regarding Combine.\n\n- [Hover - Async network layer with Combine](https://github.com/onurhuseyincantay/Hover)\n- [Conbini - Custom `Publisher`s, operators, and `Subscriber`s](https://github.com/dehesa/Conbini)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAvdLee%2FCombineSwiftPlayground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAvdLee%2FCombineSwiftPlayground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAvdLee%2FCombineSwiftPlayground/lists"}