[MUSIC PLAYING]
CHET HAASE: Hello, and welcome to Now in Android episode
number 35.
So first off, Jetpack Compose beta
came out last week in beta.
It's been available for a couple of years now.
We talked about it in 2019 at Google I/O.
It's when we announced it.
We've been developing an open source for a while now.
It went alpha back in August, and now it is beta.
Beta means API is stable, so you can go ahead and build on this
and expect that things aren't going to change radically out
from under you.
So still not actually stable, still not product shipping.
We're still working on it, nailing down all those details
to go 1.0 hopefully later this year.
In the meantime, we released tons of content
last week so that you could--
if you have not taken a look yet, you could spin up on it
and see how it works.
So the first thing to check out is the Jetpack Compose beta
show.
We have an overview of why we're doing this thing
and what Compose is all about.
We have a Q&A with people on the product and the engineering
team.
So you can get your questions and other people's questions
answered about how this works.
There's a chat with Dave Burke about Compose
and Android 12 and Android overall, all kinds of things.
And there's also a nice demo from Chris Banes
where we find out how things work
and maybe how much easier it is to actually build Jetpack
Compose in the new world.
It is the future UI toolkit for Android,
so maybe this is a good time for you to check it out.
So all kinds of learning things.
There's that show, but there's also a blog
that talks about an overview.
Tons of links to learning resources.
There are updated samples, updated code labs,
there's videos going deep on all kinds
of areas like state and animation
and UI containers, stuff like that.
So check out all this stuff.
Learn Compose, start using it, and give us feedback
because we are trying to finish this thing
and get it out there for you.
So speaking of Jetpack Compose, we also
had a new Android Dev challenge launch last week.
So if you rewind the clock way back to 2007,
a year before Android actually launched 1.0,
we had our first Android developer challenge.
We said here is the first SDK for Android.
By the way, we're also sponsoring a developer
challenge.
So it's no surprise when we have something new and exciting
to offer like Jetpack Compose that developer challenges occur
to us again.
So we've got a developer challenge available.
There are four separate challenges
in four separate weeks.
The first one, adopting a puppy, just finished.
So if you want to do that one, you can,
but the challenge itself is over.
However, the second challenge just began, I believe, today.
So go ahead and check that out.
It's about developing a countdown timer.
So you can tune in on that challenge.
You can hopefully win something.
There's over 1,000 prizes overall, including a Pixel 5,
even.
So check it out.
There's a blog that explains the details,
there's information about the second challenge in particular,
and there's the overall site for the challenge.
So look at those and get composing that app.
Android 12 just came out, developer preview [? one. ?]
So this is the first one to come out.
It has the first sprinkling of features.
I talked to Dave Burke about it in that earlier Compose Q&A
that I was talking about before to find out
what's in this release, and the truth is not
a lot has surfaced in the earlier releases
because we're just getting the engine going,
and there's a lot of stuff to come there.
But you can see some early features such as--
there's some of the behavior changes in there, the privacy
and security improvements, which are more and more
important in every release.
There's some interesting graphics features,
including media transcoding and AVIF image support.
You can check out the Android 12 preview site.
There's also a blog giving overviews
of some of these feature areas and some
of the overall directions that Android 12 is going in.
And then there's also the feedback site.
So check out the site.
It added more details about behavior changes
in the API and functionality.
And go ahead and check out the feedback site
because the most important thing about these preview releases
is for you to try them out with your app,
see how it works for you, and let
us know if something is wrong because we're trying really
hard to get to that end state where we can ship
the final and stable release.
MAD Skills continues kicking along.
We started a new series just this week on WorkManager.
There's an intro to this series from Ben Weiss,
and there's also the first technical episode
from Karen [? Chang. ?] She walks through the basics
of using WorkManager.
The example she uses is a Codelab
that we have posted already.
So check out the Codelab, check out her video,
and get going on WorkManager.
Android for cars.
There's a new AndroidX library available to help you
develop applications for cars.
In particular, they offered a closed source version
of this library before while they were still
iterating on some of the features,
and based on feedback that we got from developers,
they have integrated changes and made it available in beta form.
So that library is now available.
It allows you to develop applications for navigation,
parking, and charging apps for Android Auto,
and it simplifies all of this by offering templates
that allow you to do complicated stuff like meeting some
of the driver distraction requirements
that are really important for drivers in these cars,
and handling details like different screen
formats in these vastly different situations
that we have in automobiles.
Also differences in input requirement.
So there is a blog about this with overviews,
there's a guide on using the library,
and there's also the library itself.
So check all of those out.
Couple of articles and docs that are worth tuning into.
First, Megan Mehta posted her final episode in a series
that she's been posting on Medium on RecyclerView.
In this one, you find out how to use ConcatAdapter
for creating headers for RecyclerView.
Kind of a common thing to do.
Maybe not obvious from just looking at the base
docs for RecyclerView.
Maybe this article will help.
And also we have coroutines guidance.
So multithreaded programming is more and more important,
not just because these devices have multiple processors,
but also because a lot of the interactions,
a lot of the stuff that you need to do in your app,
especially for the UI side, has to take you off that thread.
Like I want to access my database.
OK, get off the thread, and then come back later
when the information is there.
And it is not necessarily obvious how to do this stuff,
and maybe your code becomes, I don't know,
very spaghetti-like as you're hopping between these threads.
And so one of the approaches to solving this problem--
there are many different approaches and patterns,
but the recommended guidance, especially
for Kotlin programmers, is to use coroutines.
If you are new to coroutines, or you
want to understand better how to actually use them and integrate
them into your app, I suggest you check out
the new guide that collects a lot of the information we have
about the best practices of using coroutines to make
it easier for you to do this.
Finally, ADB, the podcast.
Two episodes have posted since the last Now in Android.
First one is one of my favorite kinds of episodes.
ADB 156 was on Dalvik.
So we had a conversation with Dan Bornstein.
Dan is not on the Android team, but he was.
He was one of the first employees
after the original startup was acquired.
So way back in 2005, Dan joined the team specifically
to work on the future runtime for Android.
So he created the Dalvik runtime.
Now, we're no longer using Dalvik.
We iterated toward using the Android runtime, or ART,
but a lot of the ideas and runtimes
are shared between all of this kind of technology.
So we talk about some of the design ideas that
went into Dalvik and a lot of the nitty-gritty technical
details of what's going on in a runtime, what's going on
with garbage collectors, and how do you handle the performance
and memory constraints that you have on these mobile devices,
especially at that time.
Super interesting conversation, especially if you
like tech history like I do.
And then finally ADB 157.
We posted one just earlier today called Audio Feedback.
Basically, we want to know what you would like in our podcast
so that we can make it better for you.
We posted a survey along with that.
We posted some ideas of things we'd like to know.
And now we'd like to hear from you.
And who knows, maybe we'll actually read the input
and integrate it into future episodes.
That is it for now.
As usual, check out the article for all the links to all
the things that I talked about.
And if you liked the video, go ahead and like and share,
and subscribe to the Android Developers channel on YouTube.
Thanks.
[MUSIC PLAYING]