[MUSIC PLAYING]
DAN GALPIN: Hi, and welcome back to "The Developer Show's"
coverage at GDD India.
I'm Dan Galpin here with Florina Muntenescu.
And she's been working with Android developers
around the world, particularly with Architecture Components.
Now, how does Architecture Components change the way
Google relates to Android development?
FLORINA MUNTENESCU: Well, together
with a set of Architecture Components,
we're also releasing a guide to Architecture.
So for a long time, developers have
been asking us what's the right way of architecting
our application?
Because, especially in Android, we have a lot of patterns--
MVC, MVP, MVVM, MVI, MVC--
yeah.
So developers wanted, well, what's the right way?
And then we released the Guide to App Architecture, which
suggests a way of doing that.
But most importantly, what it suggests
is having things separate and testable and easy to extract.
DAN GALPIN: What's the biggest benefit
of the lifecycle-aware components?
FLORINA MUNTENESCU: We saw that there were some things
that developers tend to do over and over again,
and one thing is having components
that we have based on the lifecycle.
So for example, you start subscribing or listening
to location services based on when the activities started.
Or you want to stop when the activity is
no longer in program.
This was initially part of the activity.
But now, you can separate that in a different class.
And that class can be, now, unit tested.
So again, it's all about the stability and separation.
DAN GALPIN: How does Vroom alter the typical ways developers
work with databases?
FLORINA MUNTENESCU: Well, to be honest, for a long time
I was avoiding databases as much as possible.
And what I didn't like was that it was so much
boilerplate I needed to write, all of those cursor.getInt,
cursor.getString.
And then you keep on writing, and then you
keep on Copy, Pasting.
And if you're like me, you can end up doing mistakes.
So all of that boilerplate that you need to write now
is just gone because Vroom does all
of that object mapping for you.
And again, apart from that, it also
comes with a high degree of flexibility,
so not only on creating the tables,
working with the queries, and so on,
but also with migrations because our app always evolves.
So you want to make sure that when the database
schema changes, we also provide something that's stable,
that's robust, that our users don't have a problem with.
DAN GALPIN: Many of the components are already at 1.0,
but you talked about the Paging Library here at GDD India.
Now, what does it do?
FLORINA MUNTENESCU: In India, we released already the components
to be announced at Google I/O are already in 1.0.
They're already stable.
But we saw that there's more need for components.
So we started working on the Paging Library.
That's now in our focus.
We're still in working progress with it.
So what developers had was data coming from a data
source, database network, and that they
don't need it to be displayed on a screen, on a list.
And then, the role of the Paging Library
is to make this connection between the data source
and the RecyclerView as easy as possible.
But I was saying that it's [INAUDIBLE]..
So this means that this is your chance
to help us shape the library, as you did with the Architecture
Components so far.
You've done such a great job giving us
feedback, telling us what's missing, what kind of issues
we have, what kind of stuff you expect to be there but are not.
Please do the same with the Paging Library,
and tell us how it can make everything easier for you.
DAN GALPIN: I know you've been talking a lot with developers
here in India.
Was there any interesting insight you found out
about the local market and things
that Indian developers have to do to target it?
FLORINA MUNTENESCU: So I heard that there are applications
here that actually have, as part of their app icon label,
something that says less than two megabytes or less
than three megabytes because that's the size of APK.
I think we've been spoiled with the device size
and with the network.
And we don't realize that, hey, outside our bubble,
people really care about the data
and really care about the size of the APK.
So developers here end up doing a lot of really awesome
optimizations on the APK size.
I actually even talked with a few of them,
and it's going to come out later.
But I promise I'll give you a lot of insights
on what developers here do, also, to optimize their APK
size and other, in general, Android best practices, which
for them are a must.
They're not just a should.
DAN GALPIN: That's great.
So now, where can developers go to learn more
about Paging Library and the rest of the Architecture
Components?
FLORINA MUNTENESCU: On developers.android.com we
have extensive documentation on the Architecture Components.
We have advice on how to use the components and in which cases.
And even more, if you're looking for code samples,
check out the googlesamples/android
architecture components.
You'll find there six or seven projects
that target different specific problems that Architecture
Component solves.
DAN GALPIN: Well, that's great.
Thank you so much for chatting with us, Florina.
FLORINA MUNTENESCU: Thank you for having me.
DAN GALPIN: Please visit the description below
if you'd like to learn more about the Paging Library
preview and the rest of the Architecture Components.
And stay tuned for Florina's on the ground developer
interviews here in India.
Once again, I'm Dan Galpin reporting from "The Developer
Show" from GDD India.
[MUSIC PLAYING]