Re-writing iOS Fastladder Client

I’m recently re-writing ladder-client app to learn the essential part of iOS development. Here is a blog post that quickly introduces you to the App.

ladder-client

ladder-client is an iOS client for an open source RSS reader called Fastladder. This app provides more mobile-optimized experience comparing to viewing the RSS reader by a mobile browser.

ladder-client

ladder-client

Fastladder

Fastladder is an innovative RSS reader in the meaning that divides the browsing into two simpler tasks, feed browsing and article reading. For example, in a usual RSS reader, you would see list of the updated feeds you subscribe to. Then you dig in the unread articles in a feed, read the articles, back to the feed list, and iterate them again and again. On the other hand, Fastladder separates reading each article from the whole task. It allows you to first focus on a single task pinning the articles you will read. Later, you just read the pinned articles without any other task interference. Besides, the vim-like intuitive key bindings help you get the task done more quickly and less stressfully.

Fastladder

Fastladder

iOS client

ladder-client aims not to break the original intuitive and stressless RSS reader experience.

The feed browsing and article reading are separated by the tabs.

tabs

tabs

There is still a vim-like quick and intuitive interaction when pinning an article from each feed.

a feed and the articles

a feed and the articles

ladder-client is technically an ordinary iOS app but at the same time it covers the following essential part of iOS development.

  • SwiftUI
  • Database (CoreData)
  • Functional Reactive Programming (Combine)
  • Multi-threaded Networking
  • Unit Testing
  • CI (CircleCI)

Conclusion

ladder-client helps you less stressfully use Fastladder on mobile app. Making this kind of app is maybe good for you to learn the essential part of iOS development. I will keep improving the app via the daily dogfooding.

Comments (0)

Leave a Reply

Your email address will not be published. Required fields are marked *