KickstarterJulieTutorial
FRP at Kickstarter and Kotlin
Summary
Kickstarter’s open-source iOS and Android apps use Functional Reactive Programming (FRP) patterns to keep views simple and move mutation and complex logic into thoroughly tested ViewModels. The post describes how this discipline helped a developer ramp up quickly on the Android codebase after working on Kickstarter’s backend and payments teams. It also introduces the Android team’s interest in Kotlin, a JetBrains language that runs on the JVM, while noting that dependency concerns had prevented conversion of core functionality. For a 2017 Functional Swift Conference talk in Berlin, the author used Kotlin to add a simple Android screen following the team’s established FRP patterns, presenting the implementation as live coding and an introduction to FRP and Kotlin.
Context
Kickstarter’s mobile teams use FRP to write clear code with minimal bugs, keep views simple, test ViewModel logic thoroughly, and reduce reliance on manual UI testing. The Android team was interested in Kotlin but had not converted core functionality because of concerns about dependencies.
Approach / What changed
The author pushed Kotlin further in the Android app by adding a simple screen that followed Kickstarter’s established FRP patterns. The implementation was presented as a live-coding talk at the 2017 Functional Swift Conference in Berlin.
Takeaways
FRP places mutation and complex logic in ViewModels, which Kickstarter thoroughly tests while keeping views simple.
Following FRP patterns across the mobile codebase helped the author ramp up quickly on Kickstarter’s Android team.
Kickstarter had added some Kotlin classes to its Android app, but dependency concerns had blocked conversion of core functionality.
Source and freshness
- Source
- medium.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.