Reactive Android: Constructing fully reactive, (nearly) stateless android applications using the MVVM architecture, Data Binding, RxJava, and Realm
Status: submitted
Section: Workshop (from 2 to 6 hours)
Technical level: Intermediate
Votes: +4
Your opinion is important to us! Rate this proposal
A hands-on look at how to construct fully reactive, (nearly) stateless Android applications using the MVVM architecture, Data Binding, RxJava, and Realm.

Imperative, procedure-based programming is the status quo for application development—this changes that, that updates this—it’s a paradigm that’s easy to learn and easy to use. However, as your application grows in size and complexity, and it can lead to a giant tangled mess of untestable state.

Reactive programming aims to untangle that knot, allowing you to design your application based on the flow of data and keep the state where it belongs: on the screen, in the database, or on the web.

In this session, we’ll give a brief introduction to reactive programming before diving into the technologies available for constructing fully reactive, stateless apps. We’ll talk about each of the pieces in detail, ensuring that everyone is able to walk out of the workshop with a good understanding of each component and how it can help them in writing quality reactive code.

Attendees will work through building a simple note-taking app, learning how to combine these technologies to create fast, responsive, and highly testable products. Over the course of the session, we’ll alternate between demonstration, discussion, and hands-on coding.

Whether you’re an Rx guru, or just hearing about reactive programming for the first time, you’re bound to leave this talk with something of value to incorporate into your next or ongoing Android project.
Laptop w/ Android Studio, Internet access (for Git).
Speaker bio
James has spent the last six years designing, developing, and marketing products for companies ranging from game studios to startups to Fortune 50s. After helping clients launch over 10 different apps to the Apple App and Google Play Stores as a founding partner at Gradient, James started Pembroke Studio to help companies get their products into the hands of Android users.

While at Google, James worked to educate internal and external clients on Google's technical products, including Google Analytics and Google Tag Manager for Android. During his tenure, he gave multiple industry wide talks to 200+ person audiences discussing highly technical topics.

James is also the author of the upcoming book Sane Android—Android Development without losing your f***ing mind, a collection of unconventional and state-of-the-art techniques, tips, and tricks for building clean, maintainable, testable Android apps so you can deliver higher quality content to your users more often. This workshop is based on several sections from that book.