boilerplate
所属分类:Swift编程
开发工具:Swift
文件大小:0KB
下载次数:0
上传日期:2017-05-02 13:46:43
上 传 者:
sh-1993
说明: 选择正确的架构和功能 React编程框架
(Select the right architecture and functional reactive programming framework)
文件列表:
Docs/ (0, 2017-05-02)
Docs/Github-upcoming-features-and-code-checklist.md (493, 2017-05-02)
github/ (0, 2017-05-02)
github/Podfile (393, 2017-05-02)
github/Podfile.lock (1094, 2017-05-02)
github/github.xcodeproj/ (0, 2017-05-02)
github/github.xcodeproj/project.pbxproj (43062, 2017-05-02)
github/github.xcodeproj/project.xcworkspace/ (0, 2017-05-02)
github/github.xcodeproj/project.xcworkspace/contents.xcworkspacedata (151, 2017-05-02)
github/github.xcworkspace/ (0, 2017-05-02)
github/github.xcworkspace/contents.xcworkspacedata (224, 2017-05-02)
github/github/ (0, 2017-05-02)
github/github/AppDelegate.swift (1712, 2017-05-02)
github/github/Assets.xcassets/ (0, 2017-05-02)
github/github/Assets.xcassets/AppIcon.appiconset/ (0, 2017-05-02)
github/github/Assets.xcassets/AppIcon.appiconset/Contents.json (585, 2017-05-02)
github/github/Base.lproj/ (0, 2017-05-02)
github/github/Base.lproj/LaunchScreen.storyboard (1663, 2017-05-02)
github/github/Base.lproj/Main.storyboard (41655, 2017-05-02)
github/github/Extensions/ (0, 2017-05-02)
github/github/Extensions/ActivityIndicator.swift (2392, 2017-05-02)
github/github/Extensions/NSDate.swift (938, 2017-05-02)
github/github/Extensions/UIRefreshControl+Rx.swift (182, 2017-05-02)
github/github/Extensions/UIStoryboard+Controllers.swift (1446, 2017-05-02)
github/github/Info.plist (1205, 2017-05-02)
github/github/Models/ (0, 2017-05-02)
github/github/Models/Commit.swift (525, 2017-05-02)
github/github/Models/Issue.swift (496, 2017-05-02)
github/github/Models/Owner.swift (452, 2017-05-02)
github/github/Models/PullRequest.swift (520, 2017-05-02)
github/github/Models/Repo.swift (1518, 2017-05-02)
github/github/Services/ (0, 2017-05-02)
github/github/Services/Networking/ (0, 2017-05-02)
github/github/Services/Networking/Decodable+Rx.swift (2229, 2017-05-02)
github/github/Services/Networking/Decodable.swift (234, 2017-05-02)
github/github/Services/Networking/GitHubAPI.swift (4748, 2017-05-02)
github/github/Services/Networking/GithubError.swift (143, 2017-05-02)
github/github/Services/Networking/Token.swift (759, 2017-05-02)
... ...
![The Tin Woodman of Oz](https://openclipart.org/image/200px/svg_to_png/184586/the-tin-woodsman.png)
#boilerplate
This repository demonstrates different architectures and usage of popular reactive programming frameworks.
I decided to open-source couple of small apps (3-6 screens) with very basic UI. I hope, these projects will save someone else's time.
Currently, only [GitHub API Client](#github-api-client) is available. Rest of the apps will be published very soon!
1. [GitHub API Client](#github-api-client) - MVVM and RxSwift
2. *500px photo viewer app - VIPER and RxSwift*
3. *TBA - mix of MVVM and VIPER by Florent Pillet ([@fpillet](https://twitter.com/fpillet)) and RxSwift*
4. *TODO List - MVVM and SwiftBond*
5. *Commits app - MVVM and ReactiveCocoa*
Also, there are plans to create sample app using [ReSwift](https://github.com/ReSwift/ReSwift).
Pull requests are welcome.
##GitHub API client
Watch demo on [vimeo](https://vimeo.com/158834222).
The GitHub API client requires you to sign in with your GitHub account.
Sample app uses your username and password to generate auth token (app doesn't store your login credentials).
More information can be found [here](https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization).
###Features
* MVVM architecture
* Uses [RxSwift](https://github.com/ReactiveX/RxSwift)
* Autocompletion search
* GitHub sign in process
* Shows how to zip many network requests
* RxCocoa UIKit bindings (RxCocoa `UITableView` bindings are really cool)
* Uses [Moya](https://github.com/Moya/Moya) as networking layer
* Implements RxSwift custom operators
* Implements RxSwift helper operators for [Moya](https://github.com/Moya/Moya)
* Uses [SwiftyJSON](https://github.com/SwiftyJSON/SwiftyJSON)
* Models and services unit tests
* **ViewModels unit tests using [RxBlocking](https://github.com/ReactiveX/RxSwift/tree/master/RxBlocking) and [RxTests](https://github.com/ReactiveX/RxSwift/tree/master/RxTests)**
[Upcoming features and code checklist](Docs/Github-upcoming-features-and-code-checklist.md)
###Setup
```
cd github
pod install
open github.xcworkspace
```
##Thanks
* [@ashfurrow](https://twitter.com/ashfurrow) and [@orta](https://twitter.com/orta) for [Moya](https://github.com/Moya/Moya), [C-41](https://github.com/ashfurrow/C-41), [Kiosk](https://github.com/artsy/eidolon)
* [@icanzilb](https://twitter.com/icanzilb) for ideas
* [@fpillet](https://twitter.com/fpillet) for [MVVM / VIPER mix](https://slack-files.com/T051G5Y6D-F0HABHKDK-8e9141e191)
##Author
Pawel Krawiec
* [www.tailec.com](http://www.tailec.com)
* [@tailectailec](https://twitter.com/tailectailec)
##Licence
MIT
近期下载者:
相关文件:
收藏者: