zafarivaev
Senior iOS Engineer and a WWDC Scholar. I write about features of Swift and iOS development practices on Medium.com
Uzbekistan
Pinned Repositories
BottomSheet
Example project showing how to implement a bottom sheet in Swift 5 using container/child view controllers, UIPanGestureRecognizer, and constraint animations.
Clean-VIP-Architecture
Example app illustrating use of the Clean VIP architecture as an improvement on the VIPER design pattern. Written for a Medium tutorial.
CoordinatorDesignPattern
App showing the Coordinator design pattern implementation. Written for a Medium article
ios-swiftui-modularization
A sample project for the iOS modularization article. User Interface is made using SwiftUI, navigation via UIKit, and modules via XcodeGen.
MVVM-RxSwift
Reactive MVVM demo app fetching photos from Unsplash and displaying them in a UICollectionView. Showcases usage of the Coordinator design pattern.
Reactive-MVVM-C-DemoApp
Demo iOS app showcasing use of MVVM-Coordinator pattern with RxSwift and RxDataSources, written for my Medium article: https://medium.com/better-programming/reactive-mvvm-and-the-coordinator-pattern-done-right-88248baf8ca5
swiftui-mvvm-clean
Sample app showcasing usage of Clean MVVM architecture in SwiftUI and Combine. Written for a Medium tutorial.
VIPER-Demo-App
iOS app demonstrating use of VIPER Architecture, written for my Medium article. Uses https://thesimpsonsquoteapi.glitch.me API to retrieve quotes, characters, and image urls. My VIPER Xcode Template: https://github.com/zafarivaev/VIPER-Template
VIPER-Template
Xcode File Template for generating VIPER modules: View, Interactor, Presenter, and Router. Written in Swift 5
zafarivaev's Repositories
zafarivaev/swiftui-mvvm-clean
Sample app showcasing usage of Clean MVVM architecture in SwiftUI and Combine. Written for a Medium tutorial.
zafarivaev/BottomSheet
Example project showing how to implement a bottom sheet in Swift 5 using container/child view controllers, UIPanGestureRecognizer, and constraint animations.
zafarivaev/MVVM-RxSwift
Reactive MVVM demo app fetching photos from Unsplash and displaying them in a UICollectionView. Showcases usage of the Coordinator design pattern.
zafarivaev/Clean-VIP-Architecture
Example app illustrating use of the Clean VIP architecture as an improvement on the VIPER design pattern. Written for a Medium tutorial.
zafarivaev/ios-swiftui-modularization
A sample project for the iOS modularization article. User Interface is made using SwiftUI, navigation via UIKit, and modules via XcodeGen.
zafarivaev/CircularLoadingIndicator
A project showing how to create a circular loading indicator using UIBezierPath, CABasicAnimation, CAKeyframeAnimation, and CAAnimationGroup. Written for a Medium tutorial
zafarivaev/uikit-viewpager
Sample project implementing a View Pager with Tabs component using UIKit. Written for a Medium tutorial.
zafarivaev/ReplaceDelegation-Combine
Sample project illustrating a Combine approach for talking between two view controllers. Written for a Medium tutorial
zafarivaev/multicast-delegate-swift
Sample project implementing the Multicast Delegate design pattern. Created for a Medium.com article.
zafarivaev/networkconnectivity-combine
zafarivaev/NSCache
Example project showcasing usage of NSCache to cache images inside a UICollectionView. Written for a Medium tutorial.
zafarivaev/ReactiveCoordinator-Combine
Coordinator framework leveraging Combine
zafarivaev/uisheetpresentationcontroller-ios15
Sample project showing how to use UISheetPresentationController. Created for a Medium.com tutorial.
zafarivaev/viewcontroller-swiftui-previews
A sample project illustrating how we can leverage SwiftUI previews to test UIViewController without building and running our apps. Created for a Medium tutorial.
zafarivaev/TableDirector-Example
Example of usage of TableDirector package to build UITableViews faster and easier
zafarivaev/autoreleasepool-swift
Sample project showing how autorelease pool can be helpful in Swift codebase.
zafarivaev/DynamicFontSize
Example project illustrating how to create a UILabel with dynamic font size. Written for a Medium tutorial
zafarivaev/rswift-images-colors-localization
Sample project showing how to use R.swift for managing images, colors, and localizable string files more efficiently. Created for a Medium tutorial
zafarivaev/RxSwift-CombineLatest
Simple project showcasing use of the combineLatest operator in RxSwift. Written for a Medium tutorial.
zafarivaev/TableDirector
Avoid lengthy UITableViewDataSource/UITableViewDelegate conformances and speed up the development of UITableView
zafarivaev/app-lifecycle-methods
Sample app testing lifecycle methods on iOS 12 and 13
zafarivaev/build-configurations
Sample project using a different App Icon for different build configurations. Created for a Medium article.
zafarivaev/combine-retry-network-requests
Sample project showing how to retry failed network requests using Combine's .retry and .delay operators
zafarivaev/content-hugging-compression-resistance
Sample project showing how using content hugging and compression resistance properties can help us build more adaptive user interfaces. Created for a Medium.com tutorial
zafarivaev/Flutter-LocalizedApp
Example app showcasing how to implement localization in several languages. Written for a Medium tutorial.
zafarivaev/ImagesApp
zafarivaev/OperationDependencies
An example project showing usage of Operations and dependencies.
zafarivaev/PieChart-UIBezierPath
Example Swift project showing how to create a pie chart using the UIBezierPath class
zafarivaev/profiles-rest-api
Source code for profiles REST API course
zafarivaev/WWDC20-FigureBreaker
Accepted project submission for the WWDC2020 Scholarship