Chris Banes - RSS Feed

Latest articles

Composable metrics

As teams start using Jetpack Compose, most of them eventually find that there is a missing piece of the puzzle: measuring the performance of your composables.In Jetpack Compose 1.2.0, a new feature has been added to the Compose Compiler which can output various performance related metrics at build time, allowing us to peek behind the curtains and see...

Slotting in with Compose UI

The Slot API pattern is a pattern which is used extensively throughout the Compose UI codebase. The Compose team at Google arrived at this pattern after numerous iterations at finding an idiomatic way to architect the standard set of composables.What is the 'Slot' API pattern?In a nutshell, it implements the idea of components having a single responsibility....

Always provide a Modifier parameter

This is hopefully going to be a short post, but one which I think is timely as more people start using Jetpack Compose.Over the past year or so, I've seen lots of composables which look great but they have one fatal flaw: they don't expose a modifier: Modifier parameter in their signature.If you don't want to read the whole post, the TL;DR of this blog...

Always provide a Modifier parameter

This is hopefully going to be a short post, but one which I think is timely as more people start using Jetpack Compose.Over the past year or so, I've seen lots of composables which look great but they have one fatal flaw: they don't expose a modifier: Modifier parameter in their signature.If you don't want to read the whole post, the TL;DR of this blog...

Becoming a Xoogler

At the end of next week I will be leaving my job at Google and moving on to a new challenge outside $GOOG. Looking back, it's funny to think that I've been in the same team and the same role for that entire time. I was even lucky enough to relocate to Sydney and back to London within that time.I can honestly say that I've loved every minute of it. Whilst...

Publishing to Maven Central

This is just a quick post to highlight how easy it can be to publish libraries to Maven Central.Demise of JCenterIn case you missed it, JCenter is shutting down in May 2021:Into the Sunset: Bintray, JCenter, GoCenter, and ChartCenterTo streamline the productivity of the JFrog Platform we will be sunsetting Bintray (including JCenter), GoCenter, and...

New website... again

In terms of blogging I tend to live in a bit of double world. For work, we publish a lot of our content on Medium, and that covers a lot of the blog posts that I write.I also have this personal blog, which contains all sort of stuff from days gone by. It also contains lot of cross-posts (copies) from my articles on Medium too. It was implemented using...

Suspending over Views

Kotlin Coroutines allow us to model asynchronous problems like synchronous code. That’s great, but most usage seems to concentrate on I/O tasks and concurrent operations. Coroutines are great at modelling problems which work across threads, but can also model asynchronous problems on the same thread. There’s one place which I think really benefits from...

Suspending over Views — Example

This blog post is the second of two which explores how coroutines enables you to write complex asynchronous UI operations in a much simpler way. The first post goes through the theory, while this post demonstrates how they fix a problem. If you want to recap the first post, you can find it here: Suspending over Views Let’s take what we learnt in the...

WindowInsets — Listeners to layouts

If you’ve watched my Becoming a Master Window Fitter talk, you’ll know that handling window insets can be complex. Recently I’ve been improving system bar handling in a few apps, enabling them to draw behind the status and navigation bars. I think I’ve come up with some methods which make handling insets easier (hopefully). Drawing behind the navigation...

Discover, share and read the best on the web

Follow RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters! Get unfiltered news feeds or filter them to your liking.

Get Inoreader
Inoreader - Follow RSS Feeds, Blogs, Podcasts, Twitter searches, Facebook pages, even Email Newsletters!