BlinkID / blinkid-xamarin

ID scanning SDK, wrapped for cross-platform apps built with Xamarin.
https://microblink.com/blinkid
50 stars 24 forks source link

.Net core #36

Open sonfire186 opened 5 years ago

sonfire186 commented 5 years ago

Why used .Net Core?

mparadina commented 5 years ago

Hello @sonfiree

If I correctly understood your question, we are using the .net core, because we currently do not need the whole .net framework.

If I missed something, can you please specify the question?

Best regards

sonfire186 commented 5 years ago

I want to use your library in .Net Core.That is, on a PC

mparadina commented 5 years ago

Hi @sonfiree

Unfortunately, no, that is not possible. BlinkID has been built using native Android and iOS SDKs and Xamarin version is only a c# wrapper around the native SDKs. The native SDKs do not support PC, only iOS and Android.

sonfire186 commented 5 years ago

Hi @sonfiree

Unfortunately, no, that is not possible. BlinkID has been built using native Android and iOS SDKs and Xamarin version is only a c# wrapper around the native SDKs. The native SDKs do not support PC, only iOS and Android.

Since Xamarion is a C # shell, why can't you run it on a PC in C #?

irreal commented 5 years ago

Since Xamarion is a C # shell, why can't you run it on a PC in C #?

As they just said, the C# layer in Xamarin is a wrapper over the native iOS and Android code.

Your question is like asking why can't you stick a smartphone screen protector on a regular PC display and then use it as a touch screen.

It only accepts touch input when it is mounted on a touchscreen.

Likewise, Xamarin wrapper libraries allow you to call mobile native functionalities only when used on a mobile platform...

sonfire186 commented 5 years ago

Since Xamarion is a C # shell, why can't you run it on a PC in C #?

As they just said, the C# layer in Xamarin is a wrapper over the native iOS and Android code.

Your question is like asking why can't you stick a smartphone screen protector on a regular PC display and then use it as a touch screen.

It only accepts touch input when it is mounted on a touchscreen.

Likewise, Xamarin wrapper libraries allow you to call mobile native functionalities only when used on a mobile platform...

They had a sequence. C# -> xamarin. Or i didn't understand

DoDoENT commented 5 years ago

@sonfiree, C# is a language for writing code. Xamarin is a library written in C# which provides the functionalities of iOS and Android to C# language. It achieves that by providing concepts like Forms which can be used to present the UI, while actually implementing the logic of those using native iOS view controllers and Android activities. Yes, you can use Xamarin.Forms also on PC because Xamarin implemented Forms on PC using WPF, which is part of .NET Framework, which is another library written in C# which targets Windows apps specifically.

This makes it possible for you to write your app once using Xamarin.Forms and deploy it on all supported platforms (UWP, iOS, Android) as long as every dependency of your application is also written in a way that supports all those platforms (i.e. it is either implemented purely in C# with Xamarin framework or has native wrappers for each platforms specifically).

As mentioned above, BlinkID is implemented as native iOS/Android SDK and does not support running on PC. It is not implemented with C# nor with Xamarin. The BlinkID Xamarin SDK is just a thin c# wrapper around native code, which enables you to simply call a c# scan function without going through process of binding native Android and iOS SDKs directly into your app (if you wish to do that, here is the howto).

The part where BlinkID Xamarin uses .net core is only because it is a dependency of the Xamarin framework (i.e. we need it to provide APIs that are compatible with Xamarin applications), not for the actual implementation of scanning. You can verify that by checking C# Android native sample dependencies list; also for iOS or by extracting the APK of your Android app (or IPA of your iOS app) where you will see that during scanning a lot of java/objc/c++ code is being executed and no c# code.

I hope this explains now the differences and interconnections between C#, Xamarin, .NET Core, .NET framework and BlinkID for Xamarin.

sonfire186 commented 4 years ago

Xamarin.Forms supported platforms UWP or does not support running on PC. 🤔🤔🤔🤔🤔🤔