I just started an Android app that I plan to relea...
# compose
i
I just started an Android app that I plan to release in at least 3 months and I'll be working alone on it. Would you recommend using Compose?
🚫 11
t
I am working with Compose now since about 5 months. And i do not want to use the legacy view system from Android anymore 😄. (Also alone) But keep in mind that it is a complete change of how building UI works. So you can not rely on legacy UI knowlege. So you should take you time to get familiar with the Compose UI system. How long it takes depends heavily on the complexity of your UI.
i
learning will probably not be the problem. I'm already familiar with reactive UIs (React, Flutter and a bit of SwiftUI)
I'm mainly worried about weird bugs, but it sounds like it's not so bad and in 3 months it will probably have been released already
@Timo Drick have you already distributed your app in some way (released/beta testing...)?
p
I'd say the main issue is that it's constantly evolving, with breaking changes in each new release - so you'll need to be prepared to keep going back and fixing your code each time you update it.
It also means any answer you find on stack overflow is often obsolete already, even if it's a few months old. So figuring out how to do things can be challenging. That said, I'm still 5x more productive even with these issues than with the legacy API, so to me it's worth it.
i
thanks! I'm willing to put up with those. Better than writing everything with a framework that will have to be replaced sooner or later
a
I think the main problem is that compose has like 95% of the functionality you need, but if you need those last 5% you are screwed. Just "simple" things will make life very hard, such as eg embedding maps or web views and such.
i
Okay. My UI is relatively simple... No maps, web views, complicated layouts/animations, OpenGL... 🙂
👍 1
m
in 3 months it will probably have been released already
Not according to Google. We should have an alpha within two months, but a stable release is not planned until 2021. Personally, while I am hopeful that they will ship a stable release in 2021, there are no guarantees. For example, the first alpha of
androidx:constraintlayout
2.0.0 was released two years ago, and we do not yet have a stable release (or even an RC, though one should show up soon). While I think there are many more engineers on Compose, Compose is also a massive undertaking. If a stable Compose release slipped into 2022, I would not be shocked.
Better than writing everything with a framework that will have to be replaced sooner or later
Every line of code that you write will have to be replaced or abandoned sooner or later. The Android
View
system will be supported indefinitely. Obviously, you are welcome to ship apps based on Compose -- that is your decision. My concern is only with a couple of bits of your rationale.
☝️ 1
i
@Mark Murphy thanks for the insight! I didn't know that it's expected to take so long. Makes me wonder why Apple was so quick with SwiftUI, but then, they didn't announce it in advance, so who knows how long they had been working on it.
hmm, I'm undecided. I do like working with the latest, not necessarily stable stuff, but this could be a bit too unstable?
t
Apple just called it release. Infact it was and is just alpha. Maybe Compose is more stable (who knows)
i
yeah, that crossed my mind too. SwiftUI was very buggy with the iOS 13 release and still is
t
But yes indeed the API will change in both. Compose and SwiftUI
i
I was anyway writing that I'll take the risk. Getting rid of XML layout & co. is just too tempting 😛
👍 1
t
There was AnkoLayout to get rid of XML but development is stopped because of Compose.
✔️ 1
i
(also, my estimation that the app will be ready in 3 months is of course also naively optimistic)