Where Compose Could Go

This week marked the Milestone 1 release of Jetpack Compose for Desktop.
I wrote about this back in April,
when the first desktop-related artifacts showed up. It is great to see this continuing
to move forward. There is no published timetable for a stable release, but it will
almost certainly be after Compose itself becomes stable sometime next year.



So, we have Jetpack Compose for Android and now for the desktop. This raises
the question: where else might Compose-based UIs turn up?



Web

JetBrains is already at work on a Kotlin/JS edition of Compose. Presumably,
this will use a Web canvas Skia wrapper, along the same lines as to how Flutter for Web works (as I
understand it). It remains to be seen how practical this will prove to be,
in terms of runtime performance and, more importantly, Web app load times.



iOS

In principle, one could use Compose on iOS, much as how Flutter does, using a Skia-compatible
layer. However, the Flutter team took the time to create their ���Cupertino��� widget
set, in an attempt to mimic a native iOS UI. So, not only would a Compose variant
for Kotlin/Native be needed, but a similar widget set would seem to be required.
My guess is that a Material Design UI on iOS will not be well-received.



However, since Compose for Desktop (and presumably Compose for Web) are tied into
Kotlin/Multiplatform (KMP), a project could elect to use Compose for non-iOS
platforms, write a native Swift-based iOS UI, and share KMP modules between
those platforms.



Chrome OS

Between Compose for Android, Compose for Desktop (targeting Linux), and a possible
future Compose for Web, we should have multiple options for writing Chrome OS
apps with Compose. It will be interesting to see which of these turns out to be
the dominant choice.



Fuchsia

We have not heard much about Fuchsia, Google���s next-generation OS. There was a lot
of hype about it a couple of years ago, and a lot of ���radio silence��� since.
It is unclear to me whether a Compose for Fuchsia would be practical or not.



Platform X

If you were trying to create a new platform, to compete with the desktop, mobile,
and Web options that we have today, your new platform will need apps. Adopting
one of the cross-platform options (React, Flutter, Compose) would help a fair
bit in getting developers interested in trying your platform, at least for conventional
apps. For gaming-centric platforms, trying to adopt Unity 3D or similar cross-platform
game engines would be the likely starting point.





If Google alone were pursing Compose, it would likely be an Android thing and that���s it.
The fact that JetBrains has apparently decided to make Compose a focus area means
that Compose is going to go further than just Android devices. We will have to see
how well that turns out ��� after all, there is no guarantee that Compose will
succeed beyond Android. But it has a lot of promise, and it will be interesting
to see how the next 12 months or so play out!

 •  0 comments  •  flag
Share on Twitter
Published on November 07, 2020 06:49
No comments have been added yet.