Photo by [William Daigneault](https://unsplash.com/@williamdaigneault) on [Unsplash](https://unsplash.com/photos/oWrZoAVOBS0)

A Short History of Android and Reactive Programming: Coroutines Edition

Preface Last year, there was a hot topic on Twitter about how relevant RxJava was with modern Android development, which garnered a pretty interesting debate with some convincing arguments from both sides. The claim was that given the popularity of modern frameworks, RxJava is too bloated and should be removed. The debate was even given a catchy title, which prompted a panel discussion at Droidcon Berlin last year, with Hasan, Ivan, x, and myself. ...

June 3, 2019 · 12 min · Ash Davies
mDevCamp: RxJava and Coroutines

RxJava and Coroutines

Kotlin has taken the Android world by storm, and is quickly becoming the most popular language, with coroutines approaching stability, does it make sense to replace your RxJava implementations for Coroutines? Despite the hype, it may not make sense to jump on the bandwagon just yet, with RxJava having already proven its stability and usefulness, and in many cases the comparison between the two frameworks showing that they simply fit different purposes. ...

Google IO Extended: Android Jetpack

Android Jetpack: Navigation Component

A brief overview of the Navigation Component presented at Google IO Extended at the Google office in Berlin.

Android Dev Podcast: Activity Lifecycle Under the Hood

Activity Lifecycle Under the Hood

So many candidates nowadays are using live data on interview but less than half of them know how it works and what exact a problems with activity destroy during rotation and keeping activity in the backstack. We have GDE from Berlin Ash Davies to solve that puzzle and show clear picture what to do to deal with the state.

Photo by [Goh Rhy Yan](https://unsplash.com/@gohrhyyan) on [Unsplash](https://unsplash.com/photos/FFgcWvplwsc)

The Dangers of Language Abuse

Much of our responsibility as software engineers is based upon problem-solving, we are required to use our knowledge of available tools, and our experience, to find the most appropriate solution to a given problem. That’s what I’d like to focus on here, on finding the most appropriate solution. More often than not, the solution to a problem can be quite simple and doesn’t require over-engineering, which is perhaps where the age-old KISS and YAGNI principles come from. ...

March 9, 2019 · 4 min · Ash Davies
Berlindroid: RxJava and Coroutines

RxJava and Coroutines

Kotlin has taken the Android world by storm, and is quickly becoming the most popular language, with coroutines approaching stability, does it make sense to replace your RxJava implementations for Coroutines? Despite the hype, it may not make sense to jump on the bandwagon just yet, with RxJava having already proven its stability and usefulness, and in many cases the comparison between the two frameworks showing that they simply fit different purposes. ...

Diving into Flutter: An Android Perspective

Earlier this year I demonstrated the strengths of Flutter by developing a showcase application, in this presentation I talk about my experience with the platform, and how you can use the strengths of Flutter to build fast prototypes and beautiful UI’s with a blazingly fast development cycle.

Kotlin Night Berlin: RxJava and Coroutines

RxJava and Coroutines

Kotlin has taken the Android world by storm, and is quickly becoming the most popular language, with coroutines approaching stability, does it make sense to replace your RxJava implementations for Coroutines? Despite the hype, it may not make sense to jump on the bandwagon just yet, with RxJava having already proven its stability and usefulness, and in many cases the comparison between the two frameworks showing that they simply fit different purposes. ...

November 22, 2018 · Kotlin Night (Berlin, Germany) · 1 min · Ash Davies
Photo by [Elena Mozhvilo](https://unsplash.com/@miracleday/) on [Pexels](https://unsplash.com/photos/ArLds1dWvuw)

Leveraging Android Data Binding With Kotlin

Android Data Binding is a support library that allows us to bind UI components to data sources declaratively rather than programmatically, it’s potentially really powerful and complex, but used effectively it can really cut down on presentation boilerplate. We started off with Data Binding beta in 2015 when Google announced it after Google IO as a support library that can be used right back down to Android 2.1 which is API version 7, to write declarative layouts and minimise the glue code required to use your application logic in layouts. ...

November 12, 2018 · 17 min · Ash Davies
Droidcon London: Preparing Your App for Google Play Instant

Preparing Your App for Google Play Instant

Android Instant applications are becoming increasingly available, and thanks to the work from the Android platform team can already be installed on devices running Android Lollipop or later. As an application developer for a large application, or one with plenty of untested legacy code, preparing an application that might be tightly coupled into a single module requires us to carefully de-tangle and move concerns to independent modules. This talk covers how we managed to prepare our application for instant apps by breaking off base elements and isolating essential key features into self-contained, independent modules, with all the difficulties that this entails and how you can avoid the common pain points and pitfalls. ...

October 26, 2018 · Droidcon (London, United Kingdom) · 1 min · Ash Davies