https://kotlinlang.org logo
#compose
Title
# compose
f

Fabio

10/16/2020, 2:25 AM
What are your thoughts on using compose in prod? 💚 I'm already using 💙 it's ready for prod, planning to do so soon 🧡 planning for this year ❤️ planning for beginning of next year vote with reactions (I added 1 vote for each to make it easier)
💜 1
🤔 1
💚 11
💙 4
🧡 13
❤️ 28
z

Zach Klippenstein (he/him) [MOD]

10/16/2020, 2:27 AM
Definitely not ready for prod right now, accessibility support is still missing large chunks of functionality last time I checked, among other things.
But I would probably re-evaluate once it enters beta.
f

Fabio

10/16/2020, 2:33 AM
I probably agree, but the option had to be there right? can you recommend me something to read on what's stable-ish ? and any opinions on custom views in particular? (like what we'd do by inheriting ViewGroup and inflating a layout)
and @streetsofboston, would you mind sharing your confidence? I can use some 😉
s

streetsofboston

10/16/2020, 2:43 AM
We are not actively planning it, but I hope we can start a project in that time frame
Alpha code can be surprisingly good, as long as you don't use it for building libraries to be used by others. 😀
z

Zach Klippenstein (he/him) [MOD]

10/16/2020, 2:47 AM
We’re starting to build a bunch of components for our new design system with Compose, but the new components won’t be ready or used until next year at the earliest, and then only for features that are going to be in alpha themselves for some time. So we’re definitely getting ahead of the ball now, but won’t ship anything to prod for quite a while.
f

Fabio

10/16/2020, 5:53 AM
more "already using" votes than I expected. @Christian @Ronnie Magatti @VM @Spikey Sanju can you recommend us a couple of things that you feel safe to do?
v

VM

10/16/2020, 6:04 AM
We wanted to rewrite our front end app and took a bit of leap of faith in choosing compose. It’s not due to go live till 2021 so we upgrade to the latest alpha as and when they come out. If we get to stable beta by Q1 21 and the app behaves as benchmarked, we will take it live. So far plan is to have the entire app in kotlin+coroutines+flow+navigation+compose
👍 2
c

Christian

10/16/2020, 6:06 AM
Hi @Fabio, thanks for asking, hmm.. what I can recommend is to use Compose for proof of concept projects and also if you have existing project I suggest slowly doing simple xml layout converted to Compose like what the documentation says Compose interoperability. That way, I think it's much safer since you are in control of things you want to do with Compose.
f

Fabio

10/16/2020, 6:08 AM
@Christian do you have anything live in the hands of users in any app with over 10k downloads?
c

Christian

10/16/2020, 6:10 AM
@Fabio Nope, don't have. I no longer maintain them.
c

caelum19

10/16/2020, 9:21 AM
I've been working on a todo app that I plan to publish soon
c

Colton Idle

10/16/2020, 1:40 PM
@Zach Klippenstein (he/him) [MOD] "but the new components won’t be ready or used until next year at the earliest," Just curious. Are you working on that as like a separate library by chance or is it another gradle module in your android project? I'm looking to do a similar thing and curious about strategies for building these components.
z

Zach Klippenstein (he/him) [MOD]

10/16/2020, 2:16 PM
@Colton Idle I don’t think Compose or design systems are any different than any other modules/libraries here.
c

Colton Idle

10/16/2020, 2:29 PM
@Zach Klippenstein (he/him) [MOD] I guess just from a perspective of someone that has never created a library, and lets say I was working at Airbnb and I wanted to build a suite of compose components that the main Airbnb app will use next yet, do you think it's a reasonable approach to create a AirbnbComposeComponent library (like a separate repo on github) and you start committing code to that. idk if I'm explaining my question clearly. I'm not really asking if its possible, I'm more so asking if that's like a "smart" idea that makes some sense. You could potentially have 3 UI/Android devs working on a library, and then another 5 devs working on the product eng team that actually stitches the components together.
z

Zach Klippenstein (he/him) [MOD]

10/16/2020, 2:54 PM
Maybe I misunderstood your question, and my response probably wasn't clear (I haven't had coffee yet 😜). It definitely makes sense to put design system components in a library. Whether that library lives as a subproject of your main Gradle project, or in an entirely separate repo depends.
r

Ronnie Magatti

10/16/2020, 3:37 PM
We’ve started writing our design system components in compose and building non-critical flows with it, I’m aware we’re being very early adopters but even with the few kinks here and there, so far I can say the development experience has already improved vastly, plus we haven’t found major issues or things actually broken yet. Only thing we noticed was big changes in the API itself from one version to the next, but that’s of course to be expected and something we account for during development.
l

louiscad

10/16/2020, 4:18 PM
💜 Planning for 2021, maybe not early, we'll see.
👍 1
f

Fabio

10/17/2020, 3:42 AM
@Ronnie Magatti can you share what specific components you have used that you feel stable enough to recommend to others? For example, buttons, text fields, canvas?
r

Ronnie Magatti

10/17/2020, 3:59 AM
Sure, I'll go over what we've used and I'll get back here
3 Views