It's time for another Android Worldwide event! This is a perfect time for you to meet other engineers from around the world and learn from some incredible speakers.
Android Worldwide is an international group of developer communities coming together to make a joint impact. We're passionate developers aiming to create highly engaging, inclusive, and fun experiences to help members learn, grow, and meet like-minded people.
8:15 AM Networking
9:15 AM Andromeda - open source Jetpack Compose design system by Adit Lal - Individual Consultant
This talk emphasizes the thought process one can employ to build a design system, with Jetpack Compose - which gets even easier now.
It takes a huge investment to build a design system in-house which can get very time-consuming, and a team would need dedicated member/s of the team to always keep things updated, documented, and answer any questions that may arise during the development lifecycle.
This talk would introduce and explain the reasons and learnings from building a brand new library - Andromeda - an open-source design system with custom components and a customizable theme. This talk would focus on how to set up a custom theme with custom colours typography and what all goes into making a design system framework.
10:15 AM KSP and Plugins. Optimizing Kotlin Multiplatform common code by Anna Zharkova - Lead Mobile developer, Usetech company
KSP (Kotlin Symbol Processing) is an API from Google for writing Kotlin compiler plugins. Using KSP we can write annotation processors to reduce boilerplate and solve cross-cutting concerns. Also KSP is more effective than KAPT. Among the advantages of using it is the support of Kotlin Multiplatform. Another way to optimize common code is to use Kotlin plugins. In my talk I would to like to show some samples how to use own plugins and KSP processing in Kotlin Multiplatform app supporting both iOS and Android.
11:45 AM Caching your data Graph - Offline & Reactive apps using Apollo Kotlin with Benoit Lubek - Developer, Apollo GraphQL and Martin Bonnin - Chocolate Droid Officer, Apollo GraphQL
Caching is hard!
In this talk, we'll look at GraphQL, how it differs from REST and how having a type system for your data can help with caching.
We'll explore normalized databases, how using them as source of truth keeps your UI state always consistent and make sure state changes are reflected in all your screens.
Finally, we'll put that to practice by looking at how that can be done in a demo conference app.
This talk doesn't require prior GraphQL experience as we will do a quick intro about the important points for this talk (basically that you only ask for the fields you need). Having some prior experience with Room, Realm or any other persistence solution will help.
12:45 PM Decoding Play Store Data Safety Section by Vaibhav Antil - Founder & CEO, privado.ai
In this talk, we will go through the recent Android policy to add a Data Safety Section. We will go through the common questions around data safety form, a future roadmap of data safety & how it affects Android developers. We will also demo Privado's free Data Safety Report builder with an Android app.
2:15 PM DevSecOps: Injecting Security into Android CI/CD Pipelines by Moataz Nabil - Developer Advocate, Bitrise
Mobile DevOps isn't just about the development, testing, and deployment. If you want to fully exploit the agility and responsiveness of the Mobile DevOps approach, security must also be integrated into the entire lifecycle of the mobile app releases.
With today's collaborative Mobile DevOps approach, security becomes a shared responsibility that is integrated into the process from the start. This principle is called “DevSecOps” to underline that all DevOps initiatives must be based on a strong security foundation.
DevSecOps is an approach to culture, automation, and platform design that integrates security as a shared responsibility throughout the entire Mobile DevOps lifecycle.
In this talk, I will be talking about Mobile DevOps and how we can integrate the automated security checks for our mobile apps within the Android CI/CD pipelines to make sure that we don't have any security vulnerabilities or issues before releasing mobile apps to our customers.
3:15 PM Practical Modularisation for Android Developers by Jordan Terry - Android Developer, Twitter
Modularisation isn't a magic wand. Breaking a monolith to more modules isn't a shortcut to better build speed and organised code.
To reap the real benefits of modularisation we must modularise with a purpose. That is, to create a plan and break the code base up piece by piece.
My aim with this presentation is to help you do this. I want to give you a mental model you can apply to your own apps. Then, I will show you patterns we can apply. I'll also show you the benefits of applying abstraction to your modules by creating api and implementation modules.
We'll also look at IDE tooling to make applying these patterns easier and making modularisation.
Finally, we will look at the building blocks needed to plan your modularisation.
4:45 PM Don’t get stung by OWASP II - The final five! by Ed George - Senior Android Developer, ASOS
Following on from my 'Don’t get stung by OWASP' talk at Android Worldwide Jan 2022, this talk takes an in-depth look at the final five largest security threats to us as Android developers as determined by the OWASP Top 10 for Mobile.
As a pre-requisite, it is highly recommended you watch Part 1 of this talk, which is freely available on the Android Worldwide YouTube channel.
5:45 PM Strategies for Migrating to Jetpack Compose by Mohit Sarveiya - GDE Android | GDE Kotlin
Migrating to Jetpack Compose can be a challenge if you’re working on an older and large code base and have a large Android team. Introducing Compose requires thinking about the risks involved and how to handle them. You may not have test coverage at all. In this talk, I’ll explore strategies for migrating to Compose in different phases. I’ll share architectural challenges that you may encounter with legacy code. Finally, we’ll look at onboarding strategies for a team.
7:15 PM How we brought down our build times. Part one: General optimization tips by Manuel Nakamurakare - Senior Android Engineer, Pinterest
At Pinterest, we focused Q1 2021 working on reducing the p95 time for Android builds. We were able to bring the time down by 30%.
In this talk, I’ll share our learnings from our experience in improving the build times. This was mostly done in a big monolithic app, but several of these tips are also applicable to a modularized app.
9:00 PM Modeling Retrofit responses with sealed classes and coroutines by Jaewoong Eum - GDE Android | Android Developer Advocate, Stream
In this session, we’ll discuss how to construct and handle Retrofit responses with sealed classes and coroutines. Also, the speaker will introduce some use cases and useful open source libraries.
9:45 PM State Machines and Hopeful Dreams by Rikin Marfatia - Android Imposter, Pinterest
Building out an Architecture for you application can be quite a difficult task. Thankfully (or Unfortunately) there are many solutions out there trying to solve this problem, acting as Architecture containers that create an opinionated way that data flows through your application and how state is managed/updated.
I'll be looking at these libraries:
We'll build a medium complexity Compose UI based app with these three libraries and find out if they are worth using for our future projects. Or maybe we just find out we should build our own...
HOST: Shalom Halbert - Organizer, Android Worldwide