5 takeaways from Droidcon Berlin

LeanCode
5 min readJul 17, 2019

On July 1–3 LeanCode’s Mobile Team participated in the 11th edition of Droidcon Berlin. The event took place in the CityCube and attracted well over 1200 developers who could participate in more than 100 tech talks. It was a great opportunity to keep in touch with new technologies and meet best-in-class speakers from mobile teams in Berlin, Europe and worldwide. Below you can find a few takeaways from our trip to Germany.

1. Android 🧡 Kotlin

It was only two years ago, at I/O 2017 when Google made Kotlin a first-class language for writing Android apps and it was definitely a great decision. Google says that more than 50% of Android developers use Kotlin to develop their apps, and in the latest Stack Overflow developer survey, it ranks as the fourth most loved programming language.

Moreover, there is a possibility to write multiplatform applications in Kotlin. Kotlin Multiplatform gives us an opportunity to share the code between different platforms. It supports JVM, Android, JavaScript, iOS, Linux, Windows, Mac, and even Raspberry Pi.

Therefore, there is nothing special that most of the presentations were related to Kotlin and there was a possibility to learn a lot of things about the language and new/upcoming features.

If you haven’t had a chance to check Kotlin yet, you should definitely try it out as soon as possible!

2. Let’s talk about new features

Jetpack Compose

What is really annoying in creating UI in native Android? You need to keep the view hierarchy as flat as possible because of performance. The problem was partially solved in Android N by introducing ConstraintLayout but still, some more complicated views were hard to maintain using XML files.

One of the most significant announcements made on Google I/O 2019 (on the Android side) was Jetpack Compose. What is it?

Jetpack Compose is an unbundled toolkit designed to simplify UI development. It combines a reactive programming model with the conciseness and ease of use of the Kotlin programming language.

So we can say that Jetpack Compose is the new and better way of creating native Android UI. Why? One of the reasons behind that is that Jetpack Compose uses Kotlin and Kotlin has a possibility of designing a DSL that makes code much more readable.

Coroutines

Dealing with asynchronous operations is an everyday reality in mobile developers’ lives. Writing code in a non-blocking manner requires incorporating threading, callbacks, futures or some reactive extensions like RxKotlin. Each of those approaches has its pros and cons.

Kotlin 1.3 ships with coroutines — a way to handle asynchronism once for all. Coroutines allow us to write code that is scalable, performant and easy to understand.

What distinguishes coroutines from other approaches is that they allow you to write code that looks like a synchronous one, it is easy to manage threads and is easy to learn. Here is an example:

fun showUserOrders(username: String, password: String) =
GlobalScope.launch(Dispatchers.Main) {
val user = withContext(Dispatchers.Default) {
login(username, password)
}
val orders = withContext(Dispatchers.Default) {
fetchUserOrders(user.userId)
}
showUserOrders(orders)
}

3. Flutter is coming

If you think that on Droidcon Berlin you could only learn about native Android programming — you are wrong. There were plenty of presentations about multiplatform mobile development and most of them were about Flutter — a UI toolkit for building applications for mobile, web, and even desktop.

After the announcement of Flutter’s stable version (1.0) in December 2018, it gains more and more followers. Moreover, the latest Stack Overflow developer survey ranks Flutter as third in most loved other frameworks! So it is definitely a good idea to check this framework. Droidcon Berlin gave a great opportunity to get to know Flutter’s basics, talk with Flutter’s GDEs, meet a lot of people from the community, and even Flutter/Dart developers from Google.

At LeanCode we use Flutter extensively in our projects and believe that current popularity and market share are just the beginning of a great journey.

We also wrote an article where we described The State of Flutter for 2021-which may be interesting to you.

4. Tackling Real Life problems

Droidcon wasn’t solely focused on presenting new, cutting-edge features and trends. Some of the speakers shared their knowledge and experience in real-life Android development. To name a few:

Ivan Morgillo

Design for errors — An introduction to Domain Modeling with a bit of Arrow

Arnav Gupta

What I learned by building the exact same app in Kotlin (Native Android), NativeScript, and Flutter

RJ Marsan

From four wheels to two — How Lyft adds new options without missing a ride.

We are glad that we had an opportunity to listen to their presentation. Hearing about problems they stumbled upon and a way to resolve them significantly broaden our horizons.

5. Community

Attending the conference is not only an opportunity to learn but also to integrate with the community. During Droidcon we had a chance to chat with Android and Flutter experts from all around the world. We discussed the technical details of the Dart compiler with Google’s employees. We got to discuss our architecture solutions with several mobile professionals. We investigated some bugs on CI/CD platforms and increased the speed of deployment on the spot.

Meeting in-person professionals that we previously had known only from Twitter or blogs was a great experience. As always we can’t wait to meet them again.

6. Summary

We had a great time at Droidcon 2019! We had an opportunity to learn a lot of new things, to meet a lot of great people and make a lot of new connections. Thanks for all the great presentations and talks and see you at Droidcon Berlin 2020!

By:
Rafał Adasiewicz, Maciej Korzeniewski, Dominik Roszkowski

Mobile Developers @LeanCode

--

--

LeanCode

We‘re a group of technology enthusiasts working together for our clients to create better solutions for their digital consumers. See more at https://leancode.co