Material UI for Jetpack Compose for Web - kotlin

I wanted to try out the current state of Jetpack Compose for a simple web application (no Android App).
Starting off with the compose-jb/examples/web-landing example, I was wondering, is there already an implementation of Material Design / Material UI for Jetpack Compose for Web? And I dont mean combining Compose with React or anything, just Compose for Web.

Related

How can I make a number picker in jetpack compose?

I am trying to make a number picker in jetpack compose just like the below
I searched something about number picker on the internet and I found this
https://github.com/ChargeMap/Compose-NumberPicker
I think he did it using a library here, but I couldn't figure out how to add that library if he used a library. Other than that, can I do this using jetpack compose without using a library and how?. Can you give an example?

Interoperability Renderer with Jetpack Compose

I currently have a GlSurfaceView that is sending messages through the JNI to a C library to render. I am curious if anyone has tried to figure out how to use a renderer in Jetpack Compose so that there is a onDrawFrame call similar to the GlSurfaceView.Renderer? I know that Jetpack Compose is using an altogether different component to do the rendering but other than using the AndroidView which will not meet my wants to put this on a desktop I am not sure what else to do.
Does anyone have any ideas?

Jetpack compose and AuthStatelistener firebase

Hi i am trying to create an app in jetpack compose with MVVM architechture and with firebase.
I am now wondering where you would go about placing the AuthStatelistener in this case. I cant find anything about it on the web. The thing is that implementing that statelistnener does not work quz you do not use classes in Jetpack compose you use functions. and you cant call screens in the MainActivity. So how would you then check if the user is still signed in??? There is nothing about it on the web. There is a bunch of tutorials on the web about MVVM structure and ordinary xml layouts but nothing what i can find about jetpack compose?????

What is meant by Flutter's widgets aren't really adaptive

I have been trying my hands for POC on an idea and trying to find languages which can support Mobile app development (Android/IOS) via single source code.
I zeroed on React-Native and Flutter.
What I found that for React-Native you still have to write code which is platform specific. Components need to be written differently for IOS and Android.
Then I looked in FLutter and I found that - "Flutter's widgets, however, while there are more of them, aren't really adaptive".
I am not able to understand it and what it means.
It would be really helpful if someone can help me with example or guide me to good reference.
In Flutter you have different sets of Widget Collection:
Material Widgets: Android-style
Cupertino Widgets: iOS-style
And lots of Widgets which aren't bound to one of those styles.
With this you are able to create a application looking like any style on any of the available platform. Therefore you can also have iOS-style Widgets on Android and vice versa.
If you want to have iOS Widgets on iOS and Android Widgets on Android, you'll have to create some conditional rendering, which decides wether to render iOS or Android components.
Sidenote: The Material-style Widgets look also really good on iOS. Also you can use a ton of other Widgets to create an UI in your own style.

Different UI for Android/iOS in interpreted JS cross-platform tools

Some cross-platform tools (like Xamarin native and RubyMotion) allow the development of two separate views for Android and iOS, while keeping the business logic shared for both of them. Others (like Apache Cordova or Xamarin.Forms) share both UI and business layer, with the option to use platform-specific overrides when necessary.
What is the state of the interpreted JavaScript frameworks (NativeScript, React Native or Appcelerator)? Are they all focused on creating single UI with platform overrides, or do they allow creating two separate views for each platform? For example, is it possible to create a view using Fragments in Android, but a different view on iOS (since Fragments do not exist there)?
Cordova uses WebView, that mean GUI level will be the same for both Android and iOS but different per Device version. In case of Android each client has own Chronium version and it can break UI behaviour. So developers use Crosswalk to set fixed Chronium version. (extra 20M to your application).
BTW Ionic that uses Cordova architecture uses native behaviour per platform. For example for Android Tabs located at the top, on iOS - at the bottom
On other hand Xamarin (C#), React-Native(JS) and NativeScript(JS) call native APIs. They don't use WebView but generate Native code.
For example if you create button - it will look different: on Android - material theme, on iOS - iPhone theme
Anyways, the bottom line is: everything depends on resources and time. If you want to build application fast, with the same view - I would go on Ionic2+ Angular2 + Cordova.
If you you have more time - go on React-Native or NativeScript (Still has poor documentation) or Xamarin (C#).
React-native's slogan is Learn once, write everywhere. So, you can choose what suits your needs, you can:
Share UI between platforms.
Share Only business logic.
So, the answer for react-native is yes. You can create separate UIs or you can share it.
Since you are writing components, one way of separating this logic is to write component.android.js and component.ios.js and the platform loads the appropriate one for you. Note that you can also do that programmatically.
You can see that in action in the official f8 app made by facebook using react-native