xamarin / AndroidSupportComponents

Xamarin bindings for Android Support libraries - For AndroidX see https://github.com/xamarin/AndroidX
MIT License
146 stars 56 forks source link

AndroidX Bindings #115

Closed cosminstirbu closed 6 years ago

cosminstirbu commented 6 years ago

Hello,

Android Support Libraries were migrated to AndroidX (https://mvnrepository.com/artifact/androidx)

Any plans to create the bindings for these "new" libraries?

I'm particularly interested in https://mvnrepository.com/artifact/androidx.biometric

Thank you, Cosmin

newky2k commented 6 years ago

@cosminstirbu We are working it as we speak and looking at how this will be implemented

AlexanderMelchers commented 5 years ago

Any update on this? When can we expect AndroidX support in Xamarin.Android? Will this be a NuGet that can be installed next to the existing Android Support libraries, or will these libraries be mutually exclusive?

Thanks in advance for any information on this!

Best regards, Alexander.

cosminstirbu commented 5 years ago

Hi @Redth

When can we expect AndroidX (and by relation, BiometricPrompt) to be released? The latest preview is 2 months old.

Giving that Android 10 is now stable / live - by targeting it we might run into some non-sdk interface usages issues (https://developer.android.com/about/versions/10/non-sdk-q) caused by older Android Support Libraries.

So if we want to target Android 10 we might be forced to use AndroidX, since many non-sdk interface usages issues have been fixed in AndroidX.

Thanks, Cosmin

Redth commented 5 years ago

@cosminstirbu we are close to releasing a stable version of AndroidX, but we are still doing a bit more testing on the preview packages.

Having said that, there is nothing that should prevent you from consuming the preview versions of those packages today. We are working on updates to the bindings of AndroidX and will have newer preview packages out soon.

One of the questions we often get is when we will release stable versions of packages of different things we bind so that people can use them in production. The interesting thing about bindings is 99.9% of the time (I can remember 1 specific case over the last 5 years where this wasn't true), if a binding works, it works. The reason we mark releases as preview is to give us a bit of room for fixing API regressions, or breaking API if we need to tweak them a bit. Typically worst case scenario in adopting a preview package in your app is that when we push a stable version, you might have a couple places where you have to change the API usage in your app to recompile.

Anyway, I can appreciate the concern for targeting Android 10 with Support Libraries and we are working as quickly as we can to update our bindings and push out new versions as well as stable releases.

Thanks!

cosminstirbu commented 5 years ago

Hi @Redth

Thank you for your response. Appreciating all the hard work that goes into both Xamarin.Android and Xamarin.iOS in terms of bindings and quality of life improvements (e.g. Startup Tracing, r8, d8, view bindings, AndroidX, etc) - it's nice to see that it is actively maintained and it provides us confidence that it continues to be a long term option for mobile development.

Thanks!

smstuebe commented 5 years ago

@Redth Cool to see progress here :) I also need this (biometric) for the xamarin fingerprint plugin. A lot of people are asking because the old api is deprecated and google warns the App developers in the developer console, that they are using legacy APIs. I already created a binding on my own for testing stuff. Should I wait for you guys or should I continue with my own binding and swap it as soon as you are ready? Do you need help creating the binding or testing it?

PhilippC commented 5 years ago

@smstuebe can you please provide your bindings (e.g. on Github) or at least give me hints on what you did? Just adding the biometric-1.0.0-rc02.aar to a bindings project creates some classes, but e.g. the constructors of the BiometricPrompt class are missing?

smstuebe commented 5 years ago

@PhilippC see https://github.com/smstuebe/xamarin-fingerprint/tree/2.0.0