Learn RxSwift From This Production App

QCards is an app built with RxSwift for creating smarter cue cards. Take a look through the source code as it's ultimately the fastest way to learn new things from a practical perspective.

Written by 

I created and launched the app QCards on the App Store to help out newcomers to RxSwift. Learning from an actual production app built with RxSwift is very different from just looking through examples you can find on GitHub, so here it is. The source code is publicly available on GitHub.

What are the key take aways of this app?

  • MVVM pattern using RxSwift to perform data binding between view models and views.
  • A clean three layer onion-architecture for increased modularization.
  • Using a navigation pattern to separate navigation from view controllers.
  • Implementing dark mode/theming with a reactive approach.
  • Fastlane snapshot to automatically grab localized snapshots and framing them.
  • Setting up unit and UI tests for an RxSwift project.
  • And much more...

Take a deep dive and check out how I go about creating apps using RxSwift.

Share this post

Facebook
Twitter
LinkedIn
Reddit

You may also like

Swift

Manage Your iOS Resources Type-Safely with R.swift

A common frustration with the iOS platform is that resources are accessed using magic strings. In practice, this means you’ll find out if an image, icon, localized string etc. exists at runtime. Either by seeing what you were hoping for or getting a hard crash. Let’s fix this by introducing your new best friend – R.swift.

Automation

iOS Continuous Deployment Using Travis CI and Fastlane

Continuous Deployment (CD) is a practice of using automation to release your code in a quick and sustainable way. Here’s how you set up CD for iOS apps to perform automated building, code signing and deployment to the App Store.

Automation

How to Generate API Client Code in React (Native) Apps

Keeping your API client code updated whenever there’s a change in the back-end rest apis and models is tedious and error prone as a front-end developer. A better way would be if the API client code was kept updated automatically so you have one less thing to worry about.