[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6729":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":22,"hasPages":22,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},6729,"ios-oss","kickstarter\u002Fios-oss","kickstarter","Kickstarter for iOS. Bring new ideas to life, anywhere.","https:\u002F\u002Fwww.kickstarter.com\u002Fmobile",null,"Swift",8662,1227,201,5,0,3,19,1,68.67,"Apache License 2.0",false,"main",[25,26,27,28,29,30,31,32,33],"frp","functional-programming","functional-reactive-programming","ios","ios-app","reactivecocoa","reactiveswift","swift","swift-language","2026-06-12 04:00:30","\u003Ca href=\"https:\u002F\u002Fwww.kickstarter.com\">\u003Cimg src=\".github\u002Fksr-wordmark.svg\" width=\"36%\" alt=\"Kickstarter for iOS\">\u003C\u002Fa>\n\n[![Circle CI](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fkickstarter\u002Fios-oss.svg?style=svg)](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fkickstarter\u002Fios-oss)\n\nWelcome to Kickstarter’s open source iOS app! Come on in, take your shoes off,\nstay a while—explore how Kickstarter’s native squad has built and continues to\nbuild the app.\n\nWe’ve also open sourced our [Android app](https:\u002F\u002Fgithub.com\u002Fkickstarter\u002Fandroid-oss),\nand read more about our journey to open source [here](https:\u002F\u002Fkickstarter.engineering\u002Fopen-sourcing-our-android-and-ios-apps-6891be909fcd).\n\n## Getting Started\n\n1. Install Xcode. We currently support XCode 14.3 Swift 5.8.\n2. Clone this repository.\n\n&#42; To provide a mock version that serves up hard-coded data immediately, set `KsApi.Secrets.isOSS` = `true`.\n\n## Some fun things to explore\n\nIf you’re just looking for a quick glance at a few things we’re particularly\nproud of, look no further:\n\n* The snapshots directory in each feature folder of `Kickstarter-Framework-iOS` together holds nearly 600 screenshots of various screens in every language,\ndevice and edge-case state that we like to make sure stays true. For example,\na backer viewing a project in Japanese\n[here](https:\u002F\u002Fgithub.com\u002Fkickstarter\u002Fios-oss\u002Fblob\u002Fmain\u002FKickstarter-iOS\u002FFeatures\u002FProjectPage\u002FController\u002F__Snapshots__\u002FProjectPageViewControllerTests\u002FtestLoggedIn_Backer_LiveProject_NonUS_ProjectCurrency_US_ProjectCountry_NonUS_UserChosenCurrency_NotOmittingCurrencyCode_Success.lang_ja_device_pad.png)\n, or a creator looking at their dashboard in German and on an iPad\n[here](https:\u002F\u002Fgithub.com\u002Fkickstarter\u002Fios-oss\u002Fblob\u002Fmain\u002FKickstarter-iOS\u002FFeatures\u002FDashboard\u002FController\u002F__Snapshots__\u002FDashboardViewControllerTests\u002FtestView.lang_de_device_pad.png).\n\n* [We use view models](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=EpTlqx6NjYo) as\na lightweight way to isolate side effects and embrace a functional core. We\nwrite [these](https:\u002F\u002Fgithub.com\u002Fkickstarter\u002Fios-oss\u002Ftree\u002Fmain\u002FLibrary\u002FViewModels)\nas a pure mapping of input signals to output signals, and [test](https:\u002F\u002Fgithub.com\u002Fkickstarter\u002Fios-oss\u002Ftree\u002Fmain\u002FLibrary\u002FViewModels)\nthem heavily, including tests for localization, accessibility and event\ntracking.\n\n## Testing the project\n\n- Run all tests from the command line by running `make test-all`.\n- Run an individual scheme's tests by selecting that scheme in Xcode and hitting CMD+U.\n\n## Documentation\n\nWhile we’re at it, why not share our docs? Check out the\n[native docs](https:\u002F\u002Fgithub.com\u002Fkickstarter\u002Fnative-docs) we have written so far\nfor more documentation.\n\n## Dependencies\n\nWe make heavy use of the following projects, and so it can be helpful to be\nfamiliar with them:\n\n### 1st party\n\n* [![Circle CI](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fkickstarter\u002FKickstarter-Prelude.svg?style=svg)](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fkickstarter\u002FKickstarter-Prelude)\n[Prelude](https:\u002F\u002Fgithub.com\u002Fkickstarter\u002FKickstarter-Prelude): Foundation of\ntypes and functions we feel are missing from the Swift standard library. \n\n* [![Circle CI](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fkickstarter\u002FKickstarter-ReactiveExtensions.svg?style=svg&)](https:\u002F\u002Fcircleci.com\u002Fgh\u002Fkickstarter\u002FKickstarter-ReactiveExtensions)\n[ReactiveExtensions](https:\u002F\u002Fgithub.com\u002Fkickstarter\u002FKickstarter-ReactiveExtensions):\nA collection of operators we like to add to ReactiveCocoa. Built on top of ReactiveSwift.\n\n### 3rd party\n\n* [AlamofireImage](https:\u002F\u002Fgithub.com\u002FAlamofire\u002FAlamofireImage)\n* [SnapshotTesting](https:\u002F\u002Fgithub.com\u002Fpointfreeco\u002Fswift-snapshot-testing)\n* [Apollo](https:\u002F\u002Fgithub.com\u002Fapollographql\u002Fapollo-ios)\n* [Stripe](https:\u002F\u002Fgithub.com\u002Fstripe\u002Fstripe-ios)\n* [KingFisher](https:\u002F\u002Fgithub.com\u002Fonevcat\u002FKingfisher)\n* [SwiftSoup](https:\u002F\u002Fgithub.com\u002Fscinfu\u002FSwiftSoup)\n* [Facebook](https:\u002F\u002Fgithub.com\u002Ffacebook\u002Ffacebook-ios-sdk)\n* [Firebase](https:\u002F\u002Fgithub.com\u002Ffirebase\u002Ffirebase-ios-sdk)\n* [Appboy](https:\u002F\u002Fgithub.com\u002FAppboy\u002FAppboy-segment-ios)\n* [PerimeterX](https:\u002F\u002Fgithub.com\u002FPerimeterX\u002Fpx-iOS-Framework)\n\nNotices for 3rd party libraries in this repository are contained in\n`NOTICE.md`.\n\n## Contributing\n\nWe intend for this project to be an educational resource: we are excited to\nshare our wins, mistakes, and methodology of iOS development as we work\nin the open. Our primary focus is to continue improving the app for our users in\nline with our roadmap.\n\nThe best way to submit feedback and report bugs is to open a GitHub issue.\nPlease be sure to include your operating system, device, version number, and\nsteps to reproduce reported bugs. Keep in mind that all participants will be\nexpected to follow our code of conduct.\n\n## Code of Conduct\n\nWe aim to share our knowledge and findings as we work daily to improve our\nproduct, for our community, in a safe and open space. We work as we live, as\nkind and considerate human beings who learn and grow from giving and receiving\npositive, constructive feedback. We reserve the right to delete or ban any\nbehavior violating this base foundation of respect.\n\n## Find this interesting?\n\nWe do too, and we’re [hiring](https:\u002F\u002Fwww.kickstarter.com\u002Fjobs)!\n\n## License\n\n```\nCopyright 2021 Kickstarter, PBC.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","Kickstarter for iOS 是一款为iOS平台设计的应用程序，旨在让用户随时随地将新想法变为现实。该应用采用Swift语言开发，并广泛运用了函数式编程（包括函数响应式编程）理念，利用ReactiveCocoa和ReactiveSwift等库来构建响应式UI组件。项目中大量使用了视图模型来隔离副作用并保持核心逻辑的纯净性，同时提供了详尽的多语言、多设备支持及边缘情况测试用例。适用于希望深入了解高质量iOS应用架构与实现细节的开发者，以及对众筹平台移动端技术栈感兴趣的用户。",2,"2026-06-11 03:08:35","top_language"]