Email the Author

You can use this page to email Ash Furrow about Functional Reactive Programming on iOS.

Please include an email address so the author can respond to your query

This message will be sent to Ash Furrow

This site is protected by reCAPTCHA and the Google  Privacy Policy and  Terms of Service apply.

About the Book

Note: This book relied upon the 500px API, which is no longer accessible. I have retired the book. If you recently purchased a copy, please request a refund. Thanks!

1. Functional Philosophy

Before we can talk about Functional Reactive Programming on iOS, we need to deconstruct it into its two fundamental philosophies: functional programming married with reactive programming. 

2. Introducing RXCollections

In order to dip readers feet into the water, we're going to discuss RXCollections' map, filter, and fold functions. By showing the user these functions, we hope to impart them with the notion that we should not be worried about how they work, but rather what they do. 

3. ReactiveCocoa

In this chapter, we'll show how we can apply the same approaches from RXCollections using arrays as sequences. This introduces the concept of a signal and a stream.

4. Gluing it Together

Here's where things get interesting. We're going to guide the user through the process of writing a basic 500px iPhone app using the SDK I wrote for them. The SDK uses a standard Cocoa approach, and with it, we'll show how we can glue together standard Cocoa code into an app built using RAC. This demonstrates how to properly use subjects.

5. MVVM on iOS

This chapter introduces the Model-View-ViewModel paradigm and explains how it's useful on iOS. A front end to the application written in the previous chapter is written in order to show how MVVM works with ReactiveCocoa and increases the testability of iOS apps. While writing the view model, we'll demonstrate how to use commands appropriately. 


About the Author

Ash Furrow’s avatar Ash Furrow

@ashfurrow

Ash Furrow is a Canadian iOS developer and author, currently working at Artsy. He has published five books, built many apps, and is a contributor to the open source community. On his blog, he writes about a range of topics, from interesting programming to explorations of analogue film photography.

Logo white 96 67 2x

Publish Early, Publish Often

  • Path
  • There are many paths, but the one you're on right now on Leanpub is:
  • Iosfrp › Email Author › New
    • READERS
    • Newsletters
    • Weekly Sale
    • Monthly Sale
    • Store
    • Home
    • Redeem a Token
    • Search
    • Support
    • Leanpub FAQ
    • Leanpub Author FAQ
    • Search our Help Center
    • How to Contact Us
    • FRONTMATTER PODCAST
    • Featured Episode
    • Episode List
    • MEMBERSHIPS
    • Reader Memberships
    • Department Reader Memberships
    • Author Memberships
    • Your Membership
    • COMPANY
    • About
    • About Leanpub
    • Blog
    • Contact
    • Press
    • Essays
    • AI Services
    • Imagine a world...
    • Manifesto
    • More
    • Partner Program
    • Causes
    • Accessibility
    • AUTHORS
    • Write and Publish on Leanpub
    • Create a Book
    • Create a Bundle
    • Create a Course
    • Create a Track
    • Testimonials
    • Why Leanpub
    • Services
    • TranslateAI
    • TranslateWord
    • TranslateEPUB
    • PublishWord
    • Publish on Amazon
    • CourseAI
    • GlobalAuthor
    • Marketing Packages
    • IndexAI
    • Author Newsletter
    • The Leanpub Author Update
    • Author Support
    • Author Help Center
    • Leanpub Authors Forum
    • The Leanpub Manual
    • Supported Languages
    • The LFM Manual
    • Markua Manual
    • API Docs
    • Organizations
    • Learn More
    • Sign Up
    • LEGAL
    • Terms of Service
    • Copyright Policy
    • Privacy Policy
    • Refund Policy

*   *   *

Leanpub is copyright © 2010-2025 Ruboss Technology Corp.
All rights reserved.

This site is protected by reCAPTCHA
and the Google  Privacy Policy and  Terms of Service apply.

Leanpub requires cookies in order to provide you the best experience. Dismiss