Rethinking UI: Imperative to Declarative
Prateek Prasad & Joe Birch
Android Engineer & Senior Engineer
UI development on mobile and the web has relied on imperative programming for decades. In this traditional way of programming, both simple and complex user interfaces can become tedious to work with - not only are we more prone to errors and performance issues, but this can also result in a lot of boilerplate. Modern declarative UI frameworks like Jetpack Compose, SwiftUI & React, abstract away the exact implementation and let you describe the UI, it’s behaviour and how it is transformed. This not only reduces boilerplate, but also makes state related changes easier and safer by using state for UI composition.
In this talk we will walk you through the differences between declarative and imperative UI development, the benefits they offer and how these modern frameworks have lowered the learning curve by being behaviourally & structurally similar to each other. We will also cover the shift in mental model that is required when adopting these frameworks.
Prateek hates talking about himself in the third person. He writes this while demolishing another batch of dumplings. He works as an Android Engineer at Buffer and mentors junior developers outside of work. He also likes Star Wars and believes in aliens 👽 (this bio may or may not have been written by one)
Hi, my names Joe. I’m an Android Engineer and Google Developer Expert for Android, Google Pay and Flutter based in Brighton, UK working on the Android team at Buffer. I’m passionate about coding and love creating robust, polished and exciting projects for mobile, the web, TV, wearables and I’ll probably be toying with whatever the new thing is at the time you’re reading this – I love to be constantly learning. I’m also a keen writer as I love to share my learnings and experiences with others.