blob: 3c9df077d8b9ee28c9d232498e8be24731aa7157 [file] [log] [blame]
{
"name": "JPCDataSourceController",
"version": "0.2.2",
"summary": "A structured, OO approach to Table and Collection views. Fetching and showing content from an API made simple.",
"description": " Table and Collection views populated with content fetched from a web API is essential a large number of apps. Yet I've seen many poor implementations of this design. I think Apple's API for table and collection views tends to lead developers into creating view controllers with a couple thousand lines of code, most of which isn't really \"view controller\" responsibilities (I know I've done it). This violates the SOLID design principle of single responsibility and makes the code not very reusable. I think it may be best that the data source is never part of the view controller. Leaving the view controller free to handle more appropriate tasks. Here are some of the higlights:\n* DataSourceController class handles the logic to drive table and collection view data sources\n* Data source is divided into Fetch Requests, backing Models, and Cell Factories\n* A state machine in DataSourceController neatly drives Fetching, Preparing Content, and Reloading data\n* Set a list of Models to combine multiple data sources\n* BackgroundView class displays an activity view while loading data and can display helpful error messages when loading fails\n* Animators make it easy to animate changes in content\n* Supports embedded collection views (Like in App Store)\n* Very minimal code required to get up and running\n* Pull to refresh (Coming soon)\n* Infinite scrolling (Coming soon)\n",
"homepage": "https://github.com/jpchmura/JPCDataSourceController",
"license": {
"type": "MIT",
"file": "LICENSE"
},
"authors": "Jon Chmura",
"social_media_url": "http://twitter.com/jpchmura",
"platforms": {
"ios": "8.0"
},
"source": {
"git": "https://github.com/jpchmura/JPCDataSourceController.git",
"tag": "v0.2.2"
},
"source_files": "Source/*.swift",
"dependencies": {
"JPCLayoutToolbox": [
"~> 0.2"
],
"JPCActivityIndicatorButton": [
"~> 1.0"
]
}
}