Sample project iOS client consuming TMBD RESTful service.
Run pod install
and launch MobileDB.xcworkspace
- Movies list
- Movie Detail
- Sorted by popularity
- Search
- Cache using NSCache
- Pagination
MVVM was chosen to be the core architecture, adding an extra layer to the traditional MVC, providing a better separation of concerns between constrollers and presentation layers. In addition, MVVM is known for facilitate the use of reactive programming on iOS
- RxSwift, RxCocoa
RxCocoa brings an abstraction layer to iOS components and RxSwift adds the ability to use functional and reactive features to Apple plattform.
- RxDataSources
RxDataSources provides abstraction for UITableView and UICollectionView usage for instance build dataSource for tableview/collection and item selected, without implementing the usual delegate and datasource delegates.
- RxTest, RxBlocking
These libraries help to test RxSwift methods and operator, creating a controlled environment. RxTest providers a layer to test main operators from RxSwift/RxCocoa and RxBlocking helps to deal with async tests.
- SwiftLint
Helps to keep track of project standards, delivering a readable, organized and safe code.
- Support Dark Mode
- New loading icons
- Improves animations
- Move from RxSwift to Combine