Implementing Java SDK in react native app - react-native

I am in the process of starting a new app development of android as a final project for school.
I would like to develop with React Native, but I must make sure it can be implemented with Java SDK.
Does it work? I see it is quite popular with the android studio to implement this SDK but couldn’t find any specific answer about implementation with react native.

Related

React Native vs Expo

I am doing a course of android development and being taught expo to develop it.
Now my question is as I am a beginner Do I have to learn react native for expo Or expo is a separate different language.
I am really confused as on coursera Android Development by Meta. In this course they are using react native.
What should I do
Should I learn expo first
Or I Learn React Native
Or I Do course from Coursera
for Android Development as a beginner without any coding knowledge
I have searched a lot on Google difference between react native vs expo. There are a lot of blogs answering advantage and disadvantages. Someone saying use react native someone expo
Really confused
React Native and Expo are both popular technologies used for building mobile applications, especially for Android and iOS platforms. Here's a brief comparison of the two:
React Native:
React Native is a JavaScript framework for building native mobile applications. It was developed by Facebook and allows developers to create apps that look and feel like native apps, but with the use of JavaScript and React. It uses native components, which makes it faster and more efficient than other cross-platform frameworks.
Expo:
Expo is a free and open-source platform for developing mobile applications. It is built on top of React Native and provides a set of tools and services to make it easier to develop, test, and deploy mobile apps. Expo provides a lot of pre-built components, which makes it easier for beginners to get started with mobile development. It also allows developers to preview their apps on a physical device without having to install a separate mobile app.
Which technology should a beginner use?
Both React Native and Expo are great choices for beginners who want to learn mobile development. However, if you're an absolute beginner with no prior experience in Android development or programming, Expo might be a better choice because it provides a lot of pre-built components and simplifies the development process. It also has a user-friendly interface and makes it easier to preview your app during the development process.
React Native, on the other hand, might be a better choice for those who have some programming experience or are already familiar with the React JavaScript library. React Native provides more flexibility and allows developers to use native components, which can lead to a more efficient and performant app.
Ultimately, the choice between React Native and Expo will depend on your specific needs and goals as a beginner in Android development.

How to attach external fingerprint scanner with USB in react native for android application?

I am working on an application related to attendance, where multiple employees can mark their attendance on a single android phone. I want to attach an external fingerprint scanner with USB. I am building my application in react native.
I got the solution in Java but I need the solution in react native.
I need the solution like this link but in react native.
https://medium.com/touch4it/fingerprint-external-scanner-with-usb-database-sdk-64c3ec5ea82d
You'll need to bridge between React Native (Javascript) and native (Java) code. The docs are pretty good and have specific examples for Android.
One approach would be to fork a react-native biometric integration library (for example https://github.com/hieuvp/react-native-fingerprint-scanner) and replace the underlying native (Java for android) implementation with the code that you found.

Is Viro -React app be independent appication?

I have a question: I'm going to develop an AR app with viro for react native.
Will I be able to publish the project without the Viro Media app that they're suggesting for development?
Of course, you can create an independent Viro app and build it either from Android Studio or by exploiting the React Native CLI, as it is described here.
Remember to use an ARCore supported device to access native modules and the AR functionalities.

React Native using Expo SDK is really native ?! or like cordova

I am new to React Native and I know that there are two ways to develop native applications using react native
1- react native init --> need to compile the native cod
==> Result is Native Application for Android "Android SDK required" and Native Application for IOS "Xcode required"
2- create react native app --> no need to compile the native code !!
as CRNA uses Expo_SDK to access native API, but :
Is the result app is really native! or Expo Sdk is like Cordova but used by React and if result native, Expo claims that the result is native!, have they cloned both Android Sdk and Xcode for IOS or how does it work ?!
Expo apps are React Native apps which contain the Expo SDK. The SDK is a native-and-JS library which provides access to the device’s system functionality (things like the camera, contacts, local storage, and other hardware). That means you don’t need to use Xcode or Android Studio, or write any native code, and it also makes your pure-JS project very portable because it can run in any native environment containing the Expo SDK.
Expo also provides UI components to handle a variety of use-cases that almost all apps will cover but are not baked into React Native core, e.g. icons, blur views, and more.
Finally, the Expo SDK provides access to services which typically are a pain to manage but are required by almost every app. Most popular among these: Expo can manage your Assets for you, it can take care of Push Notifications for you, and it can build native binaries which are ready to deploy to the app store.
You should take a look at the Expo doc
Expo app is as native as React native. They do the following things so you don't need to setup Android / iOS SDK locally.
provide Expo App on Android/iOS
so you can build the js code and use Expo App to debug during the development.
provide build server
once you run expo build command, expo will upload the compiled js code and build Android/iOS file on their server. You can download the built file from their server.
You can eject from the Expo, setup Android / iOS SDK locally, and build the app as normal React Native app
Expo (and react-native) apps use native (android and ios) ui components to render the apps ui, like any native android or ios app would. Therefore they can be considered as native apps.
However your app logic is executed within a javascript thread an will communicate with the native threads (through the react-native bridge) to modify the native ui components. Since the bridge is completely asynchronous this should not affect the native ui performance of your application. If you want to understand the communication between js and native code it may be a good start to read this guide.
2- create react native app --> no need to compile the native code !!
With expo there is no need to compile native code, as expo already includes a "ready to use build" of react-native along with several other common react-native libraries. In an expo app this will be used together with your javascript bundle which than communicates through the react-native bridge with the already present native part.
They are basically just abusing the fact that you can inject different javascript bundles into a prebuilt react-native app. (as long as you are using only accessing a subset of the native functionality of that prebuilt app)
Note that Appcenters codepush uses the same functionality and their setup integration actually delivers a nice example how different javascript bundles can be loaded without touching the native part:
in ios AppDelegate.m this line is changed:
original react-native js-bundle loading which always resolves a static bundle
return [[NSBundle mainBundle] URLForResource:#"main" withExtension:#"jsbundle"];
js-bundle loading with codepush which can resolve to different js-bunldes
return [CodePush bundleURL];
Link to full codepush ios integration guide

React Native - Using iOS and Android SDKs

I just started using React Native a few days ago and want to build my next iOS/Android app with it. However, I had a question (and I apologize in advance if this question is very basic).
If I am integrating my iOS and Android apps built with React Native, with an external service (like Salesforce for example), how do I go about using the native mobile SDKs they provide for iOS and Android? As in, what do I do to integrate those SDKs into my React Native app? Those SDKs are using native Objective-C and Java code, so how would I be able to use the JS code for React Native? I believe my understanding about this is skewed.
I looked at this link which goes into it, but it seemed very confusing and I had a bit of a hard time grasping the concept (again, I am very new to this - I've done a lot of web development, hence turning my attention to React Native, but I've done no mobile development whatsoever).
If someone could please explain how that works, and point me in the right direction where I can read and learn more, I would sincerely appreciate that!
Thank you!
Checkout out this talk on SalesForce mobile SDK for React native
Official SalesForce Docs - Read Here
Also this tutorial might help you. http://rajaraodv.github.io/salesforce-react-native-tutorial/
Update:
There are react native packages build by open react native community if you couldn't find anything to access native iOS or android functionality you will have to write react native wrapper yourself using react native "Native Modules"
Native Modules