Branching out to Jetpack Compose
Chris Banes
by Chris Banes
2y ago
Conference Droidcon San Francisco 2022 Co-speaker Nacho López Description As one of the most widely used social media platforms, Twitter is always hunting for ways to better connect its users. In early 2021 the Client UI team at Twitter began the task of integrating Jetpack Compose into the Twitter for Android app, with the goal of allowing developers to efficiently write new UI features. In this talk, Chris & Nacho will outline the process which the team has undertaken to adopt Jetpack Compose sustainably. They will explore the static tooling which has been written to guide developers in ..read more
Visit website
Composable metrics
Chris Banes
by Chris Banes
2y ago
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 where any potential performance issues are. In this blog post we’ll explore the new metrics and see what we can find out. Some things to know before you begin reading: This turned out to be a long blog post, covering lots of how Compose works u ..read more
Visit website
Slotting in with Compose UI
Chris Banes
by Chris Banes
2y ago
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. As components grow more complex, there’s a tendency from past experience to create components which have very simple inputs, but lots of complex implicit behavior. Let’s look an example, the top app bar (aka Toolbar): Material Design To ..read more
Visit website
Always provide a Modifier parameter
Chris Banes
by Chris Banes
2y ago
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 post is: Any composable you write which emits layout (even a simple Box), should have a modifier: Modifier parameter, which is then used in the layout. EDIT: I lied, this blog post turned out much longer than I anticipated. ? Modifiers Modifi ..read more
Visit website
Becoming a Xoogler
Chris Banes
by Chris Banes
2y ago
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 I am sad to leave ?, I feel like now is the right time for me to explore what's next for me. I've learned so much, from so many people over the years (lots now outside Google), thank you. This blog post isn't about my reasons for leaving or ..read more
Visit website
(My) Open Source Libraries
Chris Banes
by Chris Banes
3y ago
Over the past few months I've been receiving a ton of emails, tweets, G+ mentions and GitHub issues in connection with my open source libraries. So I thought I would set out what my plan is for them in the future, and the order in which I'll be tackling the backlog. ActionBar-PullToRefresh The library which is taking up the majority of my personal dev time at the moment before it hits v1.0. I've done this library a bit differently that my previous ones as I've developed it in the open, whereas I tend to bring stuff up to a usable v1.0 state before releasing. My plan is to release v1.0 pretty s ..read more
Visit website
Pushing AARs to Maven Central
Chris Banes
by Chris Banes
3y ago
Over the past few weeks I've been updating ActionBar-PullToRefresh for the release of v0.7, but have been a bit blocked on publishing the library as an Android Archive (aar) to Maven Central. It was the number one issue/request that I received, and while I had a working local Gradle build I could not find an easy way to publish the results. There a few solutions out there but nothing really definitive. The main solutions I found were: upload task. The original Gradle-provided method for uploading archives, provided as part of the 'maven' plugin. This seems to have been superseded by number 2 ..read more
Visit website
ActionBar-PullToRefresh
Chris Banes
by Chris Banes
3y ago
So this is my first blog post on ActionBar-PullToRefresh. I've been mainly talking about it on Google+ up until now as it simply was not ready for production use. Well today I tagged and push v0.4 of the project, which adds the main missing feature: automatically styling based on your Action Bar style. First of all here's a video of how it works: Features So here's a non-exhaustive list of it's features: By default mirrors the Gmail implementation: grow from center progress bar. ListView, GridView, ScrollView and WebView support. Full ActionBarSherlock support. Powerful API which allows compl ..read more
Visit website
IntelliJ Copyright Profile for Android
Chris Banes
by Chris Banes
3y ago
One of things that I keep finding myself doing is creating copyright profiles in IntelliJ for my open source projects. If I move to a new machine, I have to do it all over again. So I thought I’d write a quick blog post, more for my reference than anything but hopefully you’ll find it helpful too. Scope The first thing you need to do is create a ‘Scope’. This is basically a filter of files within your project which the copyright profile should update. For Android projects I the following filter, which updates only files in my src and res directories: file:src//*||file:res//* You also need to ..read more
Visit website
Publishing to Maven Central
Chris Banes
by Chris Banes
3y ago
This is just a quick post to highlight how easy it can be to publish libraries to Maven Central. Demise of JCenter In case you missed it, JCenter is shutting down in May 2021: Into the Sunset: Bintray, JCenter, GoCenter, and ChartCenter To streamline the productivity of the JFrog Platform we will be sunsetting Bintray (including JCenter), GoCenter, and ChartCenter services on May 1st, 2021. JFrogJFrog With the demise of JCenter, the need to publish somewhere else is probably something which is top of mind for many library developers. This post won't go into the nuts and bolts of how, but ..read more
Visit website

Follow Chris Banes on FeedSpot

Continue with Google
Continue with Apple
OR